package minefantasy.mf2.item.gadget; import java.util.ArrayList; import java.util.List; import minefantasy.mf2.MineFantasyII; import minefantasy.mf2.api.crafting.ISpecialSalvage; import minefantasy.mf2.entity.EntityBomb; import minefantasy.mf2.item.list.ComponentListMF; import minefantasy.mf2.item.list.CreativeTabMF; import minefantasy.mf2.item.list.ToolListMF; import minefantasy.mf2.mechanics.BombDispenser; import net.minecraft.block.BlockDispenser; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityList; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.passive.EntityChicken; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.item.EnumAction; import net.minecraft.item.EnumRarity; import net.minecraft.item.Item; import net.minecraft.item.ItemMonsterPlacer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.StatCollector; import net.minecraft.world.World; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; public class ItemCrudeBomb extends ItemBomb implements ISpecialSalvage { public ItemCrudeBomb(String name) { super(name); } @Override public int getMaxItemUseDuration(ItemStack item) { return 20; } @Override public String getUnlocalizedName(ItemStack item) { return "item.bomb_crude"; } @Override public void getSubItems(Item item, CreativeTabs tab, List list) { list.add(new ItemStack(this)); } //TODO Icons @SideOnly(Side.CLIENT) public IIcon getIcon(byte type) { return basicIcon; } private IIcon basicIcon; @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { basicIcon = reg.registerIcon("minefantasy2:Other/bomb_crude"); } @Override @SideOnly(Side.CLIENT) public IIcon getIconIndex(ItemStack item) { return basicIcon; } @Override @SideOnly(Side.CLIENT) public int getRenderPasses(int metadata) { return 1; } @Override @SideOnly(Side.CLIENT) public IIcon getIcon(ItemStack item, int layer) { return getIconIndex(item); } @Override @SideOnly(Side.CLIENT) public boolean requiresMultipleRenderPasses() { return false; } @Override public EnumRarity getRarity(ItemStack item) { return ToolListMF.poor; } @Override public Object[] getSalvage(ItemStack item) { return new Object[] { Items.paper, ComponentListMF.thread, ComponentListMF.blackpowder }; } @Override public byte getItemFuse(byte value) { return 0; } @Override public byte getItemFilling(byte value) { return 0; } @Override public byte getItemCasing(byte value) { return -1; } @Override public byte getItemPowder(byte value) { return 0; } }