From d0a886377b8c5482972383dfb7c8748576ec84f3 Mon Sep 17 00:00:00 2001 From: HoleFish <1594248739@qq.com> Date: Tue, 23 Jan 2024 15:10:48 +0800 Subject: Calculate multiplier in a new way Former-commit-id: 948c644cbf0f89d70b07dbca8444b26f0e839f94 --- .../tileentities/multis/GT_TileEntity_BioVat.java | 27 +++++++++------------- 1 file changed, 11 insertions(+), 16 deletions(-) (limited to 'src/main/java/com') diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java index fd1fb049cc..9778d5b63d 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java @@ -80,6 +80,7 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.render.TextureFactory; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; +import gregtech.api.util.GT_ParallelHelper; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; @@ -258,26 +259,20 @@ public class GT_TileEntity_BioVat extends GT_MetaTileEntity_EnhancedMultiBlockBa @NotNull @Override - public CheckRecipeResult process() { - CheckRecipeResult result = super.process(); - if (!result.wasSuccessful()) { - return result; - } - // We already made sure the recipe runs. Now the vat looks for as many "parallels" as it can do - GT_TileEntity_BioVat.this.mExpectedMultiplier = GT_TileEntity_BioVat.this - .getExpectedMultiplier(this.lastRecipe.getFluidOutput(0), true); - GT_TileEntity_BioVat.this.mTimes = 1; - for (int i = 1; i < GT_TileEntity_BioVat.this.mExpectedMultiplier; i++) { - if (GT_TileEntity_BioVat.this.depleteInput(this.lastRecipe.mFluidInputs[0])) { - GT_TileEntity_BioVat.this.mTimes++; - } - } - this.outputFluids[0].amount *= GT_TileEntity_BioVat.this.mTimes; - return result; + protected GT_ParallelHelper createParallelHelper(@NotNull GT_Recipe recipe) { + return super.createParallelHelper(recipeWithMultiplier(recipe)); } }; } + protected GT_Recipe recipeWithMultiplier(GT_Recipe recipe) { + GT_Recipe tRecipe = recipe.copy(); + int multiplier = getExpectedMultiplier(recipe.getFluidOutput(0), true); + tRecipe.mFluidInputs[0].amount *= multiplier; + tRecipe.mFluidOutputs[0].amount *= multiplier; + return tRecipe; + } + @Override protected void setupProcessingLogic(ProcessingLogic logic) { super.setupProcessingLogic(logic); -- cgit