diff options
author | pyure <pyure@hotmail.com> | 2015-08-11 18:49:51 -0400 |
---|---|---|
committer | pyure <pyure@hotmail.com> | 2015-08-11 18:49:51 -0400 |
commit | 8e15794c0aaedd0ddd4be3b4842a74ddff9300f5 (patch) | |
tree | c02b791190603f17ac104ebb43a6e32287acd948 /main | |
parent | 95607cae55d5351ae584a949025bb682da262f9e (diff) | |
download | GT5-Unofficial-8e15794c0aaedd0ddd4be3b4842a74ddff9300f5.tar.gz GT5-Unofficial-8e15794c0aaedd0ddd4be3b4842a74ddff9300f5.tar.bz2 GT5-Unofficial-8e15794c0aaedd0ddd4be3b4842a74ddff9300f5.zip |
Large Heat Exchanger water/steam ratio
* Ratio now 1:160 (perfect)
* Now use useWater properly as intended
* NOT using math.Round() or math.Floor()
Diffstat (limited to 'main')
-rw-r--r-- | main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java index 4443db4bf0..30ee99fed5 100644 --- a/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java +++ b/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_HeatExchanger.java @@ -121,18 +121,28 @@ public class GT_MetaTileEntity_HeatExchanger extends GT_MetaTileEntity_MultiBloc return usage; } - public boolean onRunningTick(ItemStack aStack) - { - if (this.mEUt > 0) - { - int tGeneratedEU = (int)(this.mEUt * 2L * this.mEfficiency / 10000L); + public boolean onRunningTick(ItemStack aStack) { + + if (this.mEUt > 0) { + int tGeneratedEU = (int) (this.mEUt * 2L * this.mEfficiency / 10000L); // APPROXIMATELY how much steam to generate. + if (tGeneratedEU > 0) { - if (depleteInput(GT_ModHandler.getDistilledWater(useWater(((float)(superheated ? tGeneratedEU/2 :tGeneratedEU) + 160f) / 160f)))) { - if(superheated){addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", tGeneratedEU/2)); - }else{ - addOutput(GT_ModHandler.getSteam(tGeneratedEU));} + if (superheated) + tGeneratedEU /= 2; // We produce half as much superheated steam if necessary + + int distilledConsumed = useWater(tGeneratedEU / 160f); // how much distilled water to consume + tGeneratedEU = distilledConsumed * 160; // EXACTLY how much steam to generate, producing a perfect 1:160 ratio with distilled water consumption + + FluidStack distilledStack = GT_ModHandler.getDistilledWater(distilledConsumed); + if (depleteInput(distilledStack)) // Consume the distilled water + { + if (superheated) { + addOutput(FluidRegistry.getFluidStack("ic2superheatedsteam", tGeneratedEU)); // Generate superheated steam + } else { + addOutput(GT_ModHandler.getSteam(tGeneratedEU)); // Generate regular steam + } } else { - explodeMultiblock(); + explodeMultiblock(); // Generate crater } } return true; |