diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java | 17 |
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++) { |