aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHoleFish <1594248739@qq.com>2024-01-23 15:10:48 +0800
committerHoleFish <1594248739@qq.com>2024-01-23 15:10:48 +0800
commitd0a886377b8c5482972383dfb7c8748576ec84f3 (patch)
treeeaad7785a442c1b342722af3356215a17c3ffa1a /src
parentad53eda5d8d64887987b2e3d16633f19cff32229 (diff)
downloadGT5-Unofficial-d0a886377b8c5482972383dfb7c8748576ec84f3.tar.gz
GT5-Unofficial-d0a886377b8c5482972383dfb7c8748576ec84f3.tar.bz2
GT5-Unofficial-d0a886377b8c5482972383dfb7c8748576ec84f3.zip
Calculate multiplier in a new way
Former-commit-id: 948c644cbf0f89d70b07dbca8444b26f0e839f94
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java27
1 files changed, 11 insertions, 16 deletions
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);