package tf2crates.item; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.ItemAxe; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemTool; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; import net.minecraft.util.IIcon; import net.minecraft.world.World; import tf2crates.ReferenceTC; import tf2crates.ServerProxyTC; import tf2crates.crate.RandomLoot; import tlhpoeCore.util.MiscUtil; public class ItemModAxe extends ItemAxe { public IIcon goldTexture; public ItemModAxe(String name) { super(ServerProxyTC.MOD_WEAPON); this.setUnlocalizedName(name); this.setTextureName(ReferenceTC.ID + ":weapon/" + name); RandomLoot.WEAPONS.add(this); } public ItemModAxe(String name, float dmg) { this(name); MiscUtil.replaceField("damageVsEntity", ItemTool.class, dmg, this); } @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister register) { super.registerIcons(register); this.goldTexture = register.registerIcon(ReferenceTC.ID + ":weapon/gold/" + this.getUnlocalizedName().substring(5)); } @Override @SideOnly(Side.CLIENT) public IIcon getIconIndex(ItemStack itemStack) { NBTTagCompound nbt = itemStack.getTagCompound(); if (nbt != null && nbt.getBoolean("Golden")) { return this.goldTexture; } return super.getIconIndex(itemStack); } @Override public IIcon getIcon(ItemStack itemStack, int pass) { NBTTagCompound nbt = itemStack.getTagCompound(); if (nbt != null && nbt.getBoolean("Golden")) { return this.goldTexture; } return super.getIcon(itemStack, pass); } @Override public void onUpdate(ItemStack itemStack, World world, Entity entity, int f, boolean f2) { if (this == ServerProxyTC.powerJack) { if (entity instanceof EntityLivingBase) { EntityLivingBase living = (EntityLivingBase) entity; ItemStack heldItem = living.getHeldItem(); if (heldItem != null && heldItem.getItem() != null && heldItem.getItem() == ServerProxyTC.powerJack) { living.addPotionEffect(new PotionEffect( Potion.moveSpeed.id, 2, 0, true)); } } } } }