aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHoleFish <48403212+HoleFish@users.noreply.github.com>2024-02-29 02:54:54 +0800
committerGitHub <noreply@github.com>2024-02-28 19:54:54 +0100
commitcbaf6ffd6082ce33e1279f29473164f58c7921fd (patch)
tree605c57b3458710aee31d12cc5fafca7ce9337153 /src
parent9c5dce41b06bc840ac46d250d806b3025acb44d2 (diff)
downloadGT5-Unofficial-cbaf6ffd6082ce33e1279f29473164f58c7921fd.tar.gz
GT5-Unofficial-cbaf6ffd6082ce33e1279f29473164f58c7921fd.tar.bz2
GT5-Unofficial-cbaf6ffd6082ce33e1279f29473164f58c7921fd.zip
Fix Bio Vat internal error & scanner info (#394)
* fix * add comments Former-commit-id: dca4780ded78419d4c742b320f3efbd8efebc96c
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/common/tileentities/multis/GT_TileEntity_BioVat.java16
1 files changed, 14 insertions, 2 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 9778d5b63d..fa2f7e9590 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
@@ -260,14 +260,26 @@ public class GT_TileEntity_BioVat extends GT_MetaTileEntity_EnhancedMultiBlockBa
@NotNull
@Override
protected GT_ParallelHelper createParallelHelper(@NotNull GT_Recipe recipe) {
- return super.createParallelHelper(recipeWithMultiplier(recipe));
+ return super.createParallelHelper(recipeWithMultiplier(recipe, inputFluids));
}
};
}
- protected GT_Recipe recipeWithMultiplier(GT_Recipe recipe) {
+ protected GT_Recipe recipeWithMultiplier(GT_Recipe recipe, FluidStack[] fluidInputs) {
GT_Recipe tRecipe = recipe.copy();
int multiplier = getExpectedMultiplier(recipe.getFluidOutput(0), true);
+ mExpectedMultiplier = multiplier;
+ // Calculate max multiplier limited by input fluids
+ long fluidAmount = 0;
+ for (FluidStack fluid : fluidInputs) {
+ if (recipe.mFluidInputs[0].isFluidEqual(fluid)) {
+ fluidAmount += fluid.amount;
+ }
+ }
+ multiplier = (int) Math.min(multiplier, fluidAmount / recipe.mFluidInputs[0].amount);
+ // In case multiplier is 0
+ multiplier = Math.max(multiplier, 1);
+ mTimes = multiplier;
tRecipe.mFluidInputs[0].amount *= multiplier;
tRecipe.mFluidOutputs[0].amount *= multiplier;
return tRecipe;