aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/gregtech/api/util/GT_ParallelHelper.java11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/main/java/gregtech/api/util/GT_ParallelHelper.java b/src/main/java/gregtech/api/util/GT_ParallelHelper.java
index 4c9f53745b..46a646356d 100644
--- a/src/main/java/gregtech/api/util/GT_ParallelHelper.java
+++ b/src/main/java/gregtech/api/util/GT_ParallelHelper.java
@@ -320,6 +320,7 @@ public class GT_ParallelHelper {
}
}
+ int maxParallelBeforeBatchMode = mMaxParallel;
if (mBatchMode) {
mMaxParallel *= mBatchModifier;
}
@@ -353,16 +354,17 @@ public class GT_ParallelHelper {
mMaxParallel = Math.min(voidProtectionHelper.getMaxParallel(), mMaxParallel);
}
+ maxParallelBeforeBatchMode = Math.min(mMaxParallel, maxParallelBeforeBatchMode);
+
final int tRecipeEUt = (int) Math.ceil(mRecipe.mEUt * mEUtModifier);
- final int batchCorrectedMaxParallel = mMaxParallel / mBatchModifier;
// Consume inputs to determine normal parallel
if (recipeCheck != null) {
- int actualMaxParallel = (int) Math.min(batchCorrectedMaxParallel, mAvailableEUt / tRecipeEUt);
+ int actualMaxParallel = (int) Math.min(maxParallelBeforeBatchMode, mAvailableEUt / tRecipeEUt);
mCurrentParallel = recipeCheck.checkRecipeInputs(true, actualMaxParallel, tItemInputs, tFluidInputs);
} else {
long tCurrentUsage = 0;
boolean builtRecipeCheck = false;
- for (; mCurrentParallel < batchCorrectedMaxParallel
+ for (; mCurrentParallel < maxParallelBeforeBatchMode
&& tCurrentUsage < (mAvailableEUt - tRecipeEUt); mCurrentParallel++) {
if (!mRecipe.isRecipeInputEqual(true, false, tFluidInputs, tItemInputs)) {
break;
@@ -382,7 +384,8 @@ public class GT_ParallelHelper {
// If Batch Mode is enabled determine how many extra parallels we can get
if (mBatchMode && mCurrentParallel > 0) {
int tExtraParallels = 0;
- final int maxExtraParallels = mCurrentParallel * (mBatchModifier - 1);
+ final int maxExtraParallels = Math
+ .min(mCurrentParallel * (mBatchModifier - 1), mMaxParallel - mCurrentParallel);
if (recipeCheck != null) {
tExtraParallels = recipeCheck.checkRecipeInputs(true, maxExtraParallels, tItemInputs, tFluidInputs);
} else {