aboutsummaryrefslogtreecommitdiff
path: root/main/java/gregtech/api/items
diff options
context:
space:
mode:
Diffstat (limited to 'main/java/gregtech/api/items')
-rw-r--r--main/java/gregtech/api/items/GT_CoolantCellIC_Item.java10
-rw-r--r--main/java/gregtech/api/items/GT_CoolantCell_Item.java23
-rw-r--r--main/java/gregtech/api/items/GT_MetaGenerated_Tool.java2
3 files changed, 35 insertions, 0 deletions
diff --git a/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java b/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java
index ec381add15..c24e3947f2 100644
--- a/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java
+++ b/main/java/gregtech/api/items/GT_CoolantCellIC_Item.java
@@ -23,6 +23,9 @@ public class GT_CoolantCellIC_Item
public boolean canStoreHeat(IReactor aReactor, ItemStack aStack, int x, int y)
{
+ if(aReactor.isFluidCooled()&&(getControlTagOfStack(aStack))!=0){
+ return false;
+ }
return true;
}
@@ -43,7 +46,11 @@ public class GT_CoolantCellIC_Item
public int alterHeat(IReactor aReactor, ItemStack aStack, int x, int y, int aHeat)
{
+
int tHeat = getHeatOfStack(aStack);
+ if ((tHeat == 0) && (getControlTagOfStack(aStack) != 0)) {
+ setControlTagOfStack(aStack, 0);
+ }
tHeat += aHeat;
if (tHeat > this.heatStorage)
{
@@ -61,6 +68,9 @@ public class GT_CoolantCellIC_Item
{
aHeat = 0;
}
+ if ((tHeat > 0) && (getControlTagOfStack(aStack) == 0) && (!aReactor.isFluidCooled())) {
+ setControlTagOfStack(aStack, 1);
+ }
setHeatForStack(aStack, tHeat);
}
return aHeat;
diff --git a/main/java/gregtech/api/items/GT_CoolantCell_Item.java b/main/java/gregtech/api/items/GT_CoolantCell_Item.java
index 723a3eef95..fe56ffc310 100644
--- a/main/java/gregtech/api/items/GT_CoolantCell_Item.java
+++ b/main/java/gregtech/api/items/GT_CoolantCell_Item.java
@@ -1,9 +1,13 @@
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
@@ -44,6 +48,12 @@ public class GT_CoolantCell_Item
{
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)
@@ -56,4 +66,17 @@ public class GT_CoolantCell_Item
}
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);
+ }
+
}
diff --git a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
index 292e2d4628..24830c8c05 100644
--- a/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
+++ b/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java
@@ -245,6 +245,8 @@ public abstract class GT_MetaGenerated_Tool extends GT_MetaBase_Item implements
aList.add(tOffset + 1, EnumChatFormatting.WHITE + tMaterial.mDefaultLocalName + EnumChatFormatting.YELLOW + " lvl " + getHarvestLevel(aStack, "") + EnumChatFormatting.GRAY);
aList.add(tOffset + 2, EnumChatFormatting.WHITE + "Turbine Efficency: " + EnumChatFormatting.BLUE + (50.0F+(10.0F*getToolCombatDamage(aStack))) + EnumChatFormatting.GRAY);
aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Steam flow: " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*1000) + EnumChatFormatting.GRAY+ "L/sec");
+ aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Gas flow(EU burnvalue per tick): " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*25) + EnumChatFormatting.GRAY+ "EU/t");
+ aList.add(tOffset + 3, EnumChatFormatting.WHITE + "Optimal Plasma flow(Plasma energyvalue per tick): " + EnumChatFormatting.LIGHT_PURPLE + Math.max(Float.MIN_NORMAL, tStats.getSpeedMultiplier() * getPrimaryMaterial(aStack).mToolSpeed*1000) + EnumChatFormatting.GRAY+ "EU/t");
}else{
aList.add(tOffset + 0, EnumChatFormatting.WHITE + "Durability: " + EnumChatFormatting.GREEN + (tMaxDamage - getToolDamage(aStack)) + " / " + tMaxDamage + EnumChatFormatting.GRAY);