diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_OverclockCalculator.java | 17 |
1 files changed, 12 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 8003e21054..71b6c8e37f 100644 --- a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java +++ b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java @@ -220,12 +220,19 @@ public class GT_OverclockCalculator { } } - while ((mRecipeEUt * mParallel * mRecipeAmps) << mEUtIncrasePerOC < mEUt * mAmps) { - if (mDuration <= 1) { - break; + int tRecipeTier = GT_Utility.getTier(mRecipeEUt); + if (tRecipeTier == 0) { + int tTier = GT_Utility.getTier(mEUt); + mRecipeEUt = (mRecipeEUt * (1L << tTier - 1) * (1L << tTier - 1)); + mDuration = (mDuration / (1 << tTier - 1)); + } else { + while ((mRecipeEUt * mParallel * mRecipeAmps) << mEUtIncrasePerOC < mEUt * mAmps) { + if (mDuration <= 1) { + break; + } + mRecipeEUt <<= mEUtIncrasePerOC; + mDuration >>= mDurationDecreasePerOC; } - mRecipeEUt <<= mEUtIncrasePerOC; - mDuration >>= mDurationDecreasePerOC; } if (mDuration < 1) { |