diff options
author | Reagan Roop <45805674+ReaganAR@users.noreply.github.com> | 2024-03-12 14:04:29 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-12 20:04:29 +0100 |
commit | e48eaf03b5357ab3223e3af600bb62813b1a7c9c (patch) | |
tree | 93749cdd2f35b8645ecf2b3f6e930864bb921edd | |
parent | 4f473241bf79b3444538feef8dac3a0e74027f7c (diff) | |
download | GT5-Unofficial-e48eaf03b5357ab3223e3af600bb62813b1a7c9c.tar.gz GT5-Unofficial-e48eaf03b5357ab3223e3af600bb62813b1a7c9c.tar.bz2 GT5-Unofficial-e48eaf03b5357ab3223e3af600bb62813b1a7c9c.zip |
Prevent LEG from drawing significantly higher amounts of coolant than expected (#243)
* Prevent coolant from being drained at a significantly faster rate.
* Tidy incorrect EUt check and remove draining incorrect essentia types
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaGenerator.java | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaGenerator.java b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaGenerator.java index db676bbf2e..590e315f1f 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaGenerator.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/LargeEssentiaGenerator.java @@ -426,20 +426,15 @@ public class LargeEssentiaGenerator extends GT_MetaTileEntity_TooltipMultiBlockB for (EssentiaHatch hatch : this.mEssentiaHatch) { AspectList aspects = hatch.getAspects(); for (Aspect aspect : aspects.aspects.keySet()) { - if (!isValidEssentia(aspect) || getPerAspectEnergy(aspect) == 0) continue; + if (!isValidEssentia(aspect)) continue; while (EUt <= (voltageLimit * ampLimit) && aspects.getAmount(aspect) > 0) { - EUt += getPerAspectEnergy(aspect) * mStableValue / 25; + long addedEU = getPerAspectEnergy(aspect) * mStableValue / 25; + if (addedEU == 0) break; + EUt += addedEU; aspects.reduce(aspect, 1); if (aspects.getAmount(aspect) == 0) aspects.remove(aspect); } } - if (EUt == 0 && aspects.size() != 0) { - if (!isValidEssentia(aspects.getAspects()[0]) || getPerAspectEnergy(aspects.getAspects()[0]) == 0) - continue; - EUt += getPerAspectEnergy(aspects.getAspects()[0]) * mStableValue / 25; - aspects.reduce(aspects.getAspects()[0], 1); - if (aspects.getAmount(aspects.getAspects()[0]) == 0) aspects.remove(aspects.getAspects()[0]); - } } if (EUt <= voltageLimit) { |