aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java')
-rw-r--r--src/main/java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java b/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java
new file mode 100644
index 0000000000..3ccb2cb0ee
--- /dev/null
+++ b/src/main/java/gtPlusPlus/xmod/ic2/item/IC2_ItemGradualInteger.java
@@ -0,0 +1,54 @@
+package gtPlusPlus.xmod.ic2.item;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+
+import ic2.api.item.ICustomDamageItem;
+import ic2.core.util.StackUtil;
+
+public class IC2_ItemGradualInteger
+extends IC2_ItemGradual
+implements ICustomDamageItem
+{
+ private final int maxDmg;
+
+ public IC2_ItemGradualInteger(final String internalName, final int maxdmg)
+ {
+ super(internalName);
+
+ this.maxDmg = maxdmg;
+ }
+
+ @Override
+ public int getCustomDamage(final ItemStack stack)
+ {
+ final NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
+ return nbt.getInteger("advDmg");
+ }
+
+ @Override
+ public int getMaxCustomDamage(final ItemStack stack)
+ {
+ return this.maxDmg;
+ }
+
+ @Override
+ public void setCustomDamage(final ItemStack stack, final int damage)
+ {
+ final NBTTagCompound nbt = StackUtil.getOrCreateNbtData(stack);
+ nbt.setInteger("advDmg", 0);
+
+ final int maxStackDamage = stack.getMaxDamage();
+ if (maxStackDamage > 2) {
+ //stack.setItemDamage(1 + (int)Util.map(damage, this.maxDmg, maxStackDamage - 2));
+ }
+ }
+
+ @Override
+ public boolean applyCustomDamage(final ItemStack stack, final int damage, final EntityLivingBase src)
+ {
+ this.setCustomDamage(stack, this.getCustomDamage(stack) + damage);
+ return true;
+ }
+}