aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReagan Roop <45805674+ReaganAR@users.noreply.github.com>2024-03-12 14:04:29 -0500
committerGitHub <noreply@github.com>2024-03-12 20:04:29 +0100
commite48eaf03b5357ab3223e3af600bb62813b1a7c9c (patch)
tree93749cdd2f35b8645ecf2b3f6e930864bb921edd
parent4f473241bf79b3444538feef8dac3a0e74027f7c (diff)
downloadGT5-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.java13
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) {