From cfcf8bf40dfb941834e8bc771d16e2d187e9c122 Mon Sep 17 00:00:00 2001 From: BlueWeabo Date: Fri, 5 May 2023 20:52:57 +0300 Subject: fix (#1951) --- src/main/java/gregtech/api/util/GT_OverclockCalculator.java | 3 +++ .../gregtech/overclock/GT_OverclockCalculator_UnitTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+) (limited to 'src') diff --git a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java index f07a60f822..ab32772c78 100644 --- a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java +++ b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java @@ -233,6 +233,9 @@ public class GT_OverclockCalculator { .ceil(mRecipeEUt * mParallel * mRecipeAmps * mEUtDiscount * heatDiscountMultiplier)) << mEUtIncreasePerOC; while (tTierDifference > 0 && tNextConsumption < mEUt * mAmps) { + if (mDuration <= 1) { + break; + } mRecipeEUt <<= mEUtIncreasePerOC; mDuration >>= mDurationDecreasePerOC; tNextConsumption <<= mEUtIncreasePerOC; diff --git a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java index 38d05d32f2..5f2c4632ce 100644 --- a/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java +++ b/src/test/java/gregtech/overclock/GT_OverclockCalculator_UnitTest.java @@ -333,4 +333,14 @@ class GT_OverclockCalculator_UnitTest { assertEquals(1024 >> 3, calculator.getDuration(), messageDuration); assertEquals(correctConsumption, calculator.getConsumption(), messageEUt); } + + @Test + void ulvRecipeStopsWhenOneTicked_Test() { + GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(VP[0]) + .setEUt(V[6]) + .setDuration(1) + .calculate(); + assertEquals(1, calculator.getDuration(), messageDuration); + assertEquals(VP[0], calculator.getConsumption(), messageEUt); + } } -- cgit