From a11c98c6cad501e081837ec8fa2e323edaeb1ca3 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:52:43 -0400 Subject: Initial commit --- .../src/main/java/tf2crates/item/ItemModAxe.java | 88 ++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100755 TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java (limited to 'TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java') diff --git a/TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java b/TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java new file mode 100755 index 0000000..78dea2c --- /dev/null +++ b/TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java @@ -0,0 +1,88 @@ +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)); + } + } + } + } +} \ No newline at end of file -- cgit v1.2.3