diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java index 6af5ee9115..58988a7805 100644 --- a/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java +++ b/src/main/java/goodgenerator/blocks/tileEntity/PreciseAssembler.java @@ -162,16 +162,18 @@ public class PreciseAssembler extends GT_MetaTileEntity_TooltipMultiBlockBase_EM super.onScrewdriverRightClick(aSide, aPlayer, aX, aY, aZ); } - protected void calculateOverclockedNessMultiPara(int aEUt, int aDuration, int mAmperage, long maxInputPower) { + protected void calculateOverclockedNessMultiPara(long aEUt, int aDuration, int mAmperage, long maxInputPower) { + // Prevent overclocking beyond MAX + maxInputPower = Math.min(maxInputPower, Integer.MAX_VALUE - 1); while (aEUt <= maxInputPower && aDuration >= 1) { aEUt = aEUt << 2; aDuration = aDuration >> 1; } aEUt = aEUt >> 2; aDuration = aDuration << 1; - if (aDuration == 0) aDuration = 1; - if (aEUt == maxInputPower) aEUt = (int) (maxInputPower * 0.9); - this.mEUt = aEUt; + if (aDuration <= 0) aDuration = 1; + if (aEUt == maxInputPower) aEUt = (long) (maxInputPower * 0.9); + this.mEUt = GT_Utility.safeInt(aEUt); this.mMaxProgresstime = aDuration; } |