From 30d28a061ec28828b2b1d3a9cc68b31a26ba5dc4 Mon Sep 17 00:00:00 2001 From: GDCloud <93287602+GDCloudstrike@users.noreply.github.com> Date: Tue, 2 Jul 2024 23:05:33 +0200 Subject: Fix DTPF convergence void protection machine crash (#2703) fix crash with void protection --- src/main/java/gregtech/api/util/GT_OverclockCalculator.java | 7 +++++++ .../machines/multi/GT_MetaTileEntity_PlasmaForge.java | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) (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 609a196e80..3a08988339 100644 --- a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java +++ b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java @@ -564,6 +564,13 @@ public class GT_OverclockCalculator { return overclockCount; } + /** + * @return Whether the calculation has happened + */ + public boolean getCalculationStatus() { + return calculated; + } + /** * Returns duration as a double to show how much it is overclocking too much to determine extra parallel. This * doesn't count as calculating diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java index a9cb2121a5..b627f62b25 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java @@ -793,7 +793,9 @@ public class GT_MetaTileEntity_PlasmaForge extends for (FluidStack fuel : valid_fuels) { if (tRecipe.mFluidInputs[i].isFluidEqual(fuel)) { recalculateDiscount(); - if (discount == maximum_discount && convergence && overclockCalculator != null) { + if (discount == maximum_discount && convergence + && overclockCalculator != null + && overclockCalculator.getCalculationStatus()) { calculateCatalystIncrease(tRecipe, i, false); } tRecipe.mFluidInputs[i].amount = (int) Math.round(tRecipe.mFluidInputs[i].amount * discount); @@ -803,7 +805,10 @@ public class GT_MetaTileEntity_PlasmaForge extends } } // Convergence adjusts the recipe even if it has no catalyst input - if (!adjusted && discount == maximum_discount && convergence && overclockCalculator != null) { + if (!adjusted && discount == maximum_discount + && convergence + && overclockCalculator != null + && overclockCalculator.getCalculationStatus()) { recalculateDiscount(); calculateCatalystIncrease(tRecipe, 0, true); } -- cgit