diff options
author | chochem <40274384+chochem@users.noreply.github.com> | 2024-05-03 19:32:47 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-03 20:32:47 +0200 |
commit | fed3d7d5ad56204d31b5fffffb2a026f3020efcc (patch) | |
tree | 5462e7872fef014a5a97eb44108b08126c8f309b /src | |
parent | 3154542a6379e011a5e4971a26970c4b16697440 (diff) | |
download | GT5-Unofficial-fed3d7d5ad56204d31b5fffffb2a026f3020efcc.tar.gz GT5-Unofficial-fed3d7d5ad56204d31b5fffffb2a026f3020efcc.tar.bz2 GT5-Unofficial-fed3d7d5ad56204d31b5fffffb2a026f3020efcc.zip |
Slight change to ampoc logic (#2590)
* better safeguard for negative oc count.
* add new unit test
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_OverclockCalculator.java | 10 | ||||
-rw-r--r-- | src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java | 12 |
2 files changed, 17 insertions, 5 deletions
diff --git a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java index a551e34ff9..609a196e80 100644 --- a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java +++ b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java @@ -428,11 +428,11 @@ public class GT_OverclockCalculator { if (!amperageOC) { overclockCount = Math.min(overclockCount, calculateRecipeToMachineVoltageDifference()); } - if (overclockCount < 0) { - recipeVoltage = Long.MAX_VALUE; - duration = Integer.MAX_VALUE; - return; - } + + // Not just a safeguard. This also means that you can run a 1.2A recipe on a single hatch for a regular gt + // multi. + // This is intended, including the fact that you don't get an OC with a one tier upgrade in that case. + overclockCount = Math.max(overclockCount, 0); overclockCount = limitOverclocks ? Math.min(maxOverclocks, overclockCount) : overclockCount; heatOverclockCount = Math.min(heatOverclockCount, overclockCount); diff --git a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java index ba6769d3d6..e1560b27cb 100644 --- a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java +++ b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java @@ -583,4 +583,16 @@ class GT_OverclockCalculator_UnitTest { assertEquals(expectedDuration, calculator.getDuration(), messageDuration); assertEquals(VP[6], calculator.getConsumption(), messageEUt); } + + @Test + void slightlyOverOneAmpRecipeWorksWithSingleEnergyHatch() { + GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(614400) + .setEUt(TierEU.UV) + .setDuration(600) + .setAmperage(2) + .setAmperageOC(false) + .calculate(); + assertEquals(600, calculator.getDuration(), messageDuration); + assertEquals(614400, calculator.getConsumption(), messageEUt); + } } |