diff options
author | Jakub <53441451+kuba6000@users.noreply.github.com> | 2022-03-12 21:45:17 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-12 21:45:17 +0100 |
commit | c669b6951c430fbefa6896b8305740fb6f89876c (patch) | |
tree | f8b8cdb299b1090d238d9d5488f50d87dcc87c79 /src | |
parent | 3a35d97cc7b21bc972071b166217dd82c37761f2 (diff) | |
download | GT5-Unofficial-c669b6951c430fbefa6896b8305740fb6f89876c.tar.gz GT5-Unofficial-c669b6951c430fbefa6896b8305740fb6f89876c.tar.bz2 GT5-Unofficial-c669b6951c430fbefa6896b8305740fb6f89876c.zip |
Fix wrong overclock (#106)
Former-commit-id: 9e8828174d999951ae8ad6eff5d78562eadc00fa
Diffstat (limited to 'src')
3 files changed, 19 insertions, 15 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaChemicalReactor.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaChemicalReactor.java index d7878a7973..948bb04148 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaChemicalReactor.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaChemicalReactor.java @@ -94,7 +94,7 @@ public class GT_TileEntity_MegaChemicalReactor extends GT_MetaTileEntity_LargeCh .addInputBus("Hint block ",1) .addOutputBus("Hint block ",1) .addOutputHatch("Hint block ",1) - .toolTipFinisher(BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()); + .toolTipFinisher("Bartworks"); return tt; } @@ -165,9 +165,9 @@ public class GT_TileEntity_MegaChemicalReactor extends GT_MetaTileEntity_LargeCh actualEUT = actualEUT / 2; divider++; } - calculatePerfectOverclockedNessMulti((int) actualEUT, tRecipe.mDuration * (divider * 2), 1, nominalV); + BW_Util.calculatePerfectOverclockedNessMulti((int) actualEUT, tRecipe.mDuration * (divider * 2), 1, nominalV, this); } else { - calculatePerfectOverclockedNessMulti((int) actualEUT, tRecipe.mDuration, 1, nominalV); + BW_Util.calculatePerfectOverclockedNessMulti((int) actualEUT, tRecipe.mDuration, 1, nominalV, this); } //In case recipe is too OP for that machine if (this.mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaOilCracker.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaOilCracker.java index ffe6d46ade..4a7ac80aa8 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaOilCracker.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaOilCracker.java @@ -97,7 +97,7 @@ public class GT_TileEntity_MegaOilCracker extends GT_MetaTileEntity_OilCracker i .addInputHatch("Hint block",2,3) .addOutputHatch("Hint block",2,3) .addInputHatch("Steam/Hydrogen ONLY, Hint block",4) - .toolTipFinisher(BW_Tooltip_Reference.ADDED_BY_BARTIMAEUSNEK_VIA_BARTWORKS.get()); + .toolTipFinisher("Bartworks"); return tt; } @@ -180,9 +180,9 @@ public class GT_TileEntity_MegaOilCracker extends GT_MetaTileEntity_OilCracker i actualEUT = actualEUT / 2; divider++; } - calculatePerfectOverclockedNessMulti((int) actualEUT, tRecipe.mDuration * (divider * 2), 1, nominalV); + BW_Util.calculateOverclockedNessMulti((int) actualEUT, tRecipe.mDuration * (divider * 2), 1, nominalV, this); } else { - calculatePerfectOverclockedNessMulti((int) actualEUT, tRecipe.mDuration, 1, nominalV); + BW_Util.calculateOverclockedNessMulti((int) actualEUT, tRecipe.mDuration, 1, nominalV, this); } //In case recipe is too OP for that machine if (this.mMaxProgresstime == Integer.MAX_VALUE - 1 && this.mEUt == Integer.MAX_VALUE - 1) { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java index 39cf609c14..4260eb802f 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java @@ -370,10 +370,14 @@ public class BW_Util { * @param mAmperage - should be 1 ? */ public static void calculateOverclockedNessMulti(@Nonnegative int aEUt, @Nonnegative int aDuration, @Nonnegative int mAmperage, @Nonnegative long maxInputVoltage, @Nonnull GT_MetaTileEntity_MultiBlockBase base) { - calculateOverclockednessMultiInternal(aEUt, aDuration, mAmperage, maxInputVoltage, base, 2); + calculateOverclockednessMultiInternal(aEUt, aDuration, mAmperage, maxInputVoltage, base, false); } - private static void calculateOverclockednessMultiInternal(@Nonnegative int aEUt, @Nonnegative int aDuration, @Nonnegative int mAmperage, @Nonnegative long maxInputVoltage, @Nonnull GT_MetaTileEntity_MultiBlockBase base, @Nonnegative int modifier){ + public static void calculatePerfectOverclockedNessMulti(@Nonnegative int aEUt, @Nonnegative int aDuration, @Nonnegative int mAmperage, @Nonnegative long maxInputVoltage, @Nonnull GT_MetaTileEntity_MultiBlockBase base) { + calculateOverclockednessMultiInternal(aEUt, aDuration, mAmperage, maxInputVoltage, base, true); + } + + private static void calculateOverclockednessMultiInternal(@Nonnegative int aEUt, @Nonnegative int aDuration, @Nonnegative int mAmperage, @Nonnegative long maxInputVoltage, @Nonnull GT_MetaTileEntity_MultiBlockBase base, @Nonnull boolean perfectOC){ byte mTier = (byte) Math.max(0, GT_Utility.getTier(maxInputVoltage)); if (mTier == 0) { //Long time calculation @@ -383,7 +387,7 @@ public class BW_Util { base.mEUt = Integer.MAX_VALUE - 1; base.mMaxProgresstime = Integer.MAX_VALUE - 1; } else { - base.mEUt = aEUt >> modifier; + base.mEUt = aEUt >> 2; base.mMaxProgresstime = (int) xMaxProgresstime; } } else { @@ -395,21 +399,21 @@ public class BW_Util { base.mMaxProgresstime = aDuration; while (tempEUt <= V[mTier - 1] * mAmperage) { - tempEUt <<= modifier;//this actually controls overclocking + tempEUt <<= 2;//this actually controls overclocking //xEUt *= 4;//this is effect of everclocking - base.mMaxProgresstime >>= 1;//this is effect of overclocking + base.mMaxProgresstime >>= perfectOC ? 2 : 1;//this is effect of overclocking xEUt = base.mMaxProgresstime <= 0 ? xEUt >> 1 : xEUt << 2;//U know, if the time is less than 1 tick make the machine use less power } while (xEUt > maxInputVoltage && xEUt >= aEUt){ //downclock one notch until we are good again, we have overshot. - xEUt >>= modifier; - base.mMaxProgresstime <<= 1; + xEUt >>= 2; + base.mMaxProgresstime <<= perfectOC ? 2 : 1; } if (xEUt < aEUt){ - xEUt <<= modifier; - base.mMaxProgresstime >>= 1; + xEUt <<= 2; + base.mMaxProgresstime >>= perfectOC ? 2 : 1; } if (xEUt > Integer.MAX_VALUE - 1) { |