summaryrefslogtreecommitdiff
path: root/TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java
diff options
context:
space:
mode:
Diffstat (limited to 'TF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java')
-rwxr-xr-xTF2 Crates/src/main/java/tf2crates/item/ItemModAxe.java88
1 files changed, 88 insertions, 0 deletions
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