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) --- dependencies.gradle | 2 +- .../chemplant/GregtechMTE_ChemicalPlant.java | 49 ++++++++-------------- 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 7f1fd88ed9..22f0a1ec63 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,5 +1,5 @@ dependencies { - api('com.github.GTNewHorizons:GT5-Unofficial:5.09.44.79:dev') + api('com.github.GTNewHorizons:GT5-Unofficial:5.09.44.80:dev') api("com.github.GTNewHorizons:bartworks:0.8.10:dev") implementation('curse.maven:cofh-core-69162:2388751') 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