aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorchochem <40274384+chochem@users.noreply.github.com>2024-05-03 19:32:47 +0100
committerGitHub <noreply@github.com>2024-05-03 20:32:47 +0200
commitfed3d7d5ad56204d31b5fffffb2a026f3020efcc (patch)
tree5462e7872fef014a5a97eb44108b08126c8f309b /src
parent3154542a6379e011a5e4971a26970c4b16697440 (diff)
downloadGT5-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.java10
-rw-r--r--src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java12
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);
+ }
}