package com.jaquadro.minecraft.gardentrees.block;
import com.jaquadro.minecraft.gardentrees.GardenTrees;
import com.jaquadro.minecraft.gardentrees.core.ModCreativeTabs;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import net.minecraft.block.BlockFlower;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.IIcon;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.common.ForgeHooks;
import net.minecraftforge.common.IShearable;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
public class BlockStrangePlant extends BlockFlower implements IShearable
{
@SideOnly(Side.CLIENT)
private IIcon icon;
public BlockStrangePlant (String blockName) {
super(0);
setBlockTextureName(GardenTrees.MOD_ID + ":strange_plant");
setBlockName(blockName);
setHardness(0);
setStepSound(Block.soundTypeGrass);
setCreativeTab(ModCreativeTabs.tabGardenTrees);
}
@Override
public boolean isShearable(ItemStack item, IBlockAccess world, int x, int y, int z)
{
return true;
}
@Override
public ArrayList<ItemStack> onSheared (ItemStack item, IBlockAccess world, int x, int y, int z, int fortune) {
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
ret.add(new ItemStack(this, 1, world.getBlockMetadata(x, y, z)));
return ret;
}
@Override
public Item getItemDropped (int meta, Random rand, int fortune) {
return null;
}
@Override
public ArrayList<ItemStack> getDrops(World world, int x, int y, int z, int meta, int fortune)
{
ArrayList<ItemStack> ret = new ArrayList<ItemStack>();
ItemStack[] strangePlantDrops = GardenTrees.config.getStrangePlantDrops();
if (strangePlantDrops.length == 0)
return ret;
if (world.rand.nextDouble() > GardenTrees.config.strangePlantDropChance)
return ret;
ItemStack item = strangePlantDrops[world.rand.nextInt(strangePlantDrops.length)].copy();
int range = GardenTrees.config.strangePlantDropMax - GardenTrees.config.strangePlantDropMin;
int count = GardenTrees.config.strangePlantDropMin + ((range > 0) ? world.rand.nextInt(range) : 0);
for (int i = 0; i < count; i++)
ret.add(item);
return ret;
}
@Override
public void getSubBlocks (Item item, CreativeTabs creativeTab, List list) {
list.add(new ItemStack(item));
}
@Override
public IIcon getIcon (int side, int meta) {
return icon;
}
@Override
public void registerBlockIcons (IIconRegister register) {
icon = register.registerIcon(getTextureName());
}
}