aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/items/GT_CoolantCell_Item.java')
-rw-r--r--src/main/java/gregtech/api/items/GT_CoolantCell_Item.java82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java b/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java
new file mode 100644
index 0000000000..fe56ffc310
--- /dev/null
+++ b/src/main/java/gregtech/api/items/GT_CoolantCell_Item.java
@@ -0,0 +1,82 @@
+package gregtech.api.items;
+
+import gregtech.api.GregTech_API;
+import ic2.core.util.StackUtil;
+
+import java.util.List;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.StatCollector;
+
+public class GT_CoolantCell_Item
+ extends GT_Generic_Item
+{
+ protected int heatStorage;
+
+ public GT_CoolantCell_Item(String aUnlocalized, String aEnglish, int aMaxStore)
+ {
+ super(aUnlocalized, aEnglish, null);
+ this.setMaxStackSize(1);
+ this.setMaxDamage(100);
+ setNoRepair();
+ this.heatStorage = aMaxStore;
+ this.setCreativeTab(GregTech_API.TAB_GREGTECH);
+ }
+
+ protected void setHeatForStack(ItemStack aStack, int aHeat)
+ {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (tNBT == null)
+ {
+ tNBT = new NBTTagCompound();
+ aStack.setTagCompound(tNBT);
+ }
+ tNBT.setInteger("heat", aHeat);
+ if (this.heatStorage > 0)
+ {
+ double var4 = (double)aHeat / (double)this.heatStorage;
+ int var6 = (int)(aStack.getMaxDamage() * var4);
+ if (var6 >= aStack.getMaxDamage()) {
+ var6 = aStack.getMaxDamage() - 1;
+ }
+ aStack.setItemDamage(var6);
+ }
+ }
+
+ public void addAdditionalToolTips(List aList, ItemStack aStack)
+ {
+ super.addAdditionalToolTips(aList, aStack);
+ aList.add("Stored Heat: " + getHeatOfStack(aStack));
+ switch (getControlTagOfStack(aStack))
+ {
+ case 1:
+ aList.add(StatCollector.translateToLocal("ic2.reactoritem.heatwarning.line1"));
+ aList.add(StatCollector.translateToLocal("ic2.reactoritem.heatwarning.line2"));
+ }
+ }
+
+ protected static int getHeatOfStack(ItemStack aStack)
+ {
+ NBTTagCompound tNBT = aStack.getTagCompound();
+ if (tNBT == null)
+ {
+ tNBT = new NBTTagCompound();
+ aStack.setTagCompound(tNBT);
+ }
+ return tNBT.getInteger("heat");
+ }
+
+ public int getControlTagOfStack(ItemStack stack)
+ {
+ NBTTagCompound nbtData = StackUtil.getOrCreateNbtData(stack);
+ return nbtData.getInteger("tag");
+ }
+
+ public void setControlTagOfStack(ItemStack stack, int tag)
+ {
+ NBTTagCompound nbtData = StackUtil.getOrCreateNbtData(stack);
+ nbtData.setInteger("tag", tag);
+ }
+
+}