From 97df769701737dab869d5120aeadae5a8670c5c6 Mon Sep 17 00:00:00 2001 From: Maxim Date: Sat, 7 Jan 2023 13:31:29 +0100 Subject: Switched from internal OC calc function to new GT_OverclockCalculator (#259) * Switched from internal OC calc function to new GT_OverclockCalculator * Spotless * Removed try-catch Former-commit-id: 554533aa8c7a6f88dc2ef7e71d3dc583d02fc212 --- .../mega/GT_TileEntity_MegaBlastFurnace.java | 22 +++++++++------ .../mega/GT_TileEntity_MegaChemicalReactor.java | 13 +++++++-- .../mega/GT_TileEntity_MegaDistillTower.java | 11 ++++++-- .../mega/GT_TileEntity_MegaMultiBlockBase.java | 32 +++++++++++++++++++++- .../multis/mega/GT_TileEntity_MegaOilCracker.java | 14 ++++++++-- .../mega/GT_TileEntity_MegaVacuumFreezer.java | 13 +++++++-- 6 files changed, 87 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java index 1402c4614a..845ba95beb 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaBlastFurnace.java @@ -54,6 +54,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.*; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import java.util.*; @@ -429,22 +430,25 @@ public class GT_TileEntity_MegaBlastFurnace extends GT_TileEntity_MegaMultiBlock this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; - long actualEUT = precutRecipeVoltage * processed; + GT_OverclockCalculator calculator = new GT_OverclockCalculator() + .setRecipeEUt(tRecipe.mEUt) + .setParallel(processed) + .setDuration(tRecipe.mDuration) + .setEUt(nominalV) + .setRecipeHeat(tRecipe.mSpecialValue) + .setMultiHeat(mHeatingCapacity) + .enableHeatOC() + .enableHeatDiscount() + .calculate(); - byte overclockCount = - this.calculateOverclockedNessMultiInternal(actualEUT, tRecipe.mDuration, nominalV, false); + this.mMaxProgresstime = calculator.getDuration(); + this.lEUt = calculator.getConsumption(); // In case recipe is too OP for that machine if (this.mMaxProgresstime == Integer.MAX_VALUE - 1 && this.lEUt == Integer.MAX_VALUE - 1) return false; if (this.lEUt > 0) this.lEUt = (-this.lEUt); - if (tHeatCapacityDivTiers > 0) { - this.mMaxProgresstime >>= - Math.min(tHeatCapacityDivTiers / 2, overclockCount); // extra free overclocking if possible - if (this.mMaxProgresstime < 1) this.mMaxProgresstime = 1; // no eu efficiency correction - } - if (mUseMultiparallelMode) { this.mMaxProgresstime = (int) Math.ceil(this.mMaxProgresstime * tBatchMultiplier); } 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 5fe08809ff..8351b773de 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 @@ -50,6 +50,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import java.util.ArrayList; @@ -225,9 +226,17 @@ public class GT_TileEntity_MegaChemicalReactor this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; - long actualEUT = (long) (tRecipe.mEUt) * processed; + GT_OverclockCalculator calculator = new GT_OverclockCalculator() + .setRecipeEUt(tRecipe.mEUt) + .setParallel(processed) + .setDuration(tRecipe.mDuration) + .setEUt(nominalV) + .enablePerfectOC() + .calculate(); + + this.mMaxProgresstime = calculator.getDuration(); + this.lEUt = calculator.getConsumption(); - calculatePerfectOverclockedNessMulti(actualEUT, tRecipe.mDuration, nominalV); // In case recipe is too OP for that machine if (this.mMaxProgresstime == Integer.MAX_VALUE - 1 && this.lEUt == Integer.MAX_VALUE - 1) { return false; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java index 25d21399f8..85cfa191b1 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaDistillTower.java @@ -52,6 +52,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import java.util.ArrayList; @@ -594,9 +595,15 @@ public class GT_TileEntity_MegaDistillTower extends GT_TileEntity_MegaMultiBlock this.mEfficiency = (10000 - (this.getIdealStatus() - this.getRepairStatus()) * 1000); this.mEfficiencyIncrease = 10000; - long actualEUT = (long) (tRecipe.mEUt) * processed; + GT_OverclockCalculator calculator = new GT_OverclockCalculator() + .setRecipeEUt(tRecipe.mEUt) + .setParallel(processed) + .setDuration(tRecipe.mDuration) + .setEUt(nominalV) + .calculate(); - calculateOverclockedNessMulti(actualEUT, tRecipe.mDuration, nominalV); + this.mMaxProgresstime = calculator.getDuration(); + this.lEUt = calculator.getConsumption(); // In case recipe is too OP for that machine if (this.mMaxProgresstime == Integer.MAX_VALUE - 1 && this.lEUt == Integer.MAX_VALUE - 1) return false; diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaMultiBlockBase.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaMultiBlockBase.java index a985814a2d..6374f59613 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaMultiBlockBase.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/mega/GT_TileEntity_MegaMultiBlockBase.java @@ -185,7 +185,18 @@ public abstract class GT_TileEntity_MegaMultiBlockBase 0) { -- cgit