aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
index 4e1844f539..9f0edb810d 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java
@@ -329,6 +329,19 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase<
return false;
}
+ if (mUseMultiparallelMode) {
+ int extraParallelRecipes = 0;
+ for (;
+ extraParallelRecipes + parallelRecipes < aMaxParallelRecipes * MAX_BATCH_SIZE;
+ extraParallelRecipes++) {
+ if (!tRecipe.isRecipeInputEqual(true, aFluidInputs, aItemInputs)) {
+ break;
+ }
+ }
+ batchMultiplier = 1.0f + (float) extraParallelRecipes / aMaxParallelRecipes;
+ parallelRecipes += extraParallelRecipes;
+ }
+
// -- Try not to fail after this point - inputs have already been consumed! --
// Convert speed bonus to duration multiplier
@@ -367,6 +380,10 @@ public class GregtechMetaTileEntity_Adv_EBF extends GregtechMeta_MultiBlockBase<
this.mMaxProgresstime = Math.max(1, this.mMaxProgresstime);
+ if (mUseMultiparallelMode) {
+ mMaxProgresstime = (int) Math.ceil(mMaxProgresstime * batchMultiplier);
+ }
+
// Collect fluid outputs
FluidStack[] tOutputFluids = new FluidStack[tRecipe.mFluidOutputs.length];
for (int h = 0; h < tRecipe.mFluidOutputs.length; h++) {