diff options
Diffstat (limited to 'main/java/gregtech/api/items')
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); |