From f3a11f7eac8a3489d3649bfe2abcbaa659af7a7d Mon Sep 17 00:00:00 2001 From: miozune Date: Tue, 14 Nov 2023 15:24:00 +0900 Subject: Update chemplant logic to catch up with new parallel helper logic (#782) --- .../chemplant/GregtechMTE_ChemicalPlant.java | 49 ++++++++-------------- 1 file changed, 17 insertions(+), 32 deletions(-) (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/common') diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java index 01454f5b91..670c070d81 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java @@ -18,13 +18,13 @@ import java.util.HashMap; import java.util.stream.Collectors; import java.util.stream.IntStream; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import net.minecraftforge.fluids.FluidStack; import org.jetbrains.annotations.NotNull; @@ -539,7 +539,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase= getMaxCatalystDurability()) { - return false; - } - boolean hasInputs = super.tryConsumeRecipeInputs(recipe, fluids, items, minParallel); - if (hasInputs && catalystRecipe != null) { - damageCatalyst(catalystRecipe, minParallel); - } - return hasInputs; - } - }.setRecipe(recipe).setItemInputs(inputItems).setFluidInputs(inputFluids) - .setAvailableEUt(availableVoltage * availableAmperage) - .setMachine(machine, protectItems, protectFluids) - .setRecipeLocked(recipeLockableMachine, isRecipeLocked).setMaxParallel(maxParallel) - .setEUtModifier(euModifier).enableBatchMode(batchSize).setConsumption(true) - .setOutputCalculation(true); + return super.createParallelHelper(recipe) + .setInputConsumer((recipeToConsume, amountMultiplier, aFluidInputs, aInputs) -> { + // Correct parallel is already calculated by ProcessingLogic#validateRecipe, + // so we don't need to set MaxParallelCalculator + recipeToConsume.consumeInput(amountMultiplier, aFluidInputs, aInputs); + if (catalystRecipe != null) { + damageCatalyst(catalystRecipe, amountMultiplier); + } + }); } }.setMaxParallelSupplier(this::getMaxParallelRecipes); } @@ -641,18 +627,17 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase