From 730daaf87f300b734f5be5d001a1416d995bc7b2 Mon Sep 17 00:00:00 2001 From: YoungOnion <39562198+YoungOnionMC@users.noreply.github.com> Date: Thu, 19 Sep 2024 15:08:02 -0600 Subject: [PATCH] Steam Turbine Fix (#1983) --- .../gtceu/api/recipe/modifier/ParallelLogic.java | 6 +++--- .../multiblock/generator/LargeTurbineMachine.java | 9 +++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java index ca54364215..017778e95c 100644 --- a/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java +++ b/src/main/java/com/gregtechceu/gtceu/api/recipe/modifier/ParallelLogic.java @@ -124,14 +124,14 @@ public static int limitByOutputMerging(@NotNull GTRecipe recipe, @NotNull IRecip // If we are voiding items, reset the item limit to the maximum number of parallels if (voiding) { if (modifiedParallelAmounts.containsKey(cap)) { - modifiedParallelAmounts.put(cap, modifiedParallelAmounts.getInt(cap) + parallelAmount); + modifiedParallelAmounts.put(cap, Math.min(modifiedParallelAmounts.getInt(cap), parallelAmount)); } else { modifiedParallelAmounts.put(cap, parallelAmount); } } else { if (modifiedParallelAmounts.containsKey(cap)) { - modifiedParallelAmounts.put(cap, modifiedParallelAmounts.getInt(cap) + - cap.limitParallel(recipe, holder, parallelAmount)); + modifiedParallelAmounts.put(cap, Math.min(modifiedParallelAmounts.getInt(cap), + cap.limitParallel(recipe, holder, parallelAmount))); } else { modifiedParallelAmounts.put(cap, cap.limitParallel(recipe, holder, parallelAmount)); } diff --git a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeTurbineMachine.java b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeTurbineMachine.java index 612f4772ce..3aa735944d 100644 --- a/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeTurbineMachine.java +++ b/src/main/java/com/gregtechceu/gtceu/common/machine/multiblock/generator/LargeTurbineMachine.java @@ -11,6 +11,7 @@ import com.gregtechceu.gtceu.api.machine.multiblock.WorkableElectricMultiblockMachine; import com.gregtechceu.gtceu.api.recipe.GTRecipe; import com.gregtechceu.gtceu.api.recipe.RecipeHelper; +import com.gregtechceu.gtceu.api.recipe.content.ContentModifier; import com.gregtechceu.gtceu.api.recipe.logic.OCParams; import com.gregtechceu.gtceu.api.recipe.logic.OCResult; import com.gregtechceu.gtceu.common.data.GTRecipeModifiers; @@ -114,6 +115,14 @@ public static GTRecipe recipeModifier(MetaMachine machine, @NotNull GTRecipe rec long eut = turbineMachine.boostProduction((long) (EUt * holderEfficiency * parallelResult.getSecond())); + recipe = new GTRecipe(recipe.recipeType, recipe.id, + recipe.copyContents(recipe.inputs, ContentModifier.multiplier(parallelResult.getSecond())), + recipe.copyContents(recipe.outputs, ContentModifier.multiplier(parallelResult.getSecond())), + recipe.tickInputs, recipe.tickOutputs, recipe.inputChanceLogics, recipe.outputChanceLogics, + recipe.tickInputChanceLogics, recipe.tickOutputChanceLogics, recipe.conditions, + recipe.ingredientActions, + recipe.data, recipe.duration, recipe.isFuel); + result.init(-eut, recipe.duration, parallelResult.getSecond(), params.getOcAmount()); return recipe;