From fc10a94489c11c7835ef1ef572d15386a5c15680 Mon Sep 17 00:00:00 2001 From: HoleFish <48403212+HoleFish@users.noreply.github.com> Date: Fri, 22 Mar 2024 03:33:01 +0800 Subject: Allow crib works for chemplant again (#854) fix catalyst searching --- .../chemplant/GregtechMTE_ChemicalPlant.java | 85 +++++++--------------- 1 file changed, 25 insertions(+), 60 deletions(-) (limited to 'src/main/java') 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 2fe69059a2..a1c087ba78 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 @@ -16,7 +16,6 @@ import static gregtech.api.util.GT_Utility.filterValidMTEs; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; -import java.util.Optional; import java.util.stream.Collectors; import java.util.stream.IntStream; @@ -60,7 +59,6 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_ParallelHelper; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.common.tileentities.machines.IDualInputHatch; @@ -519,16 +517,6 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase= getMaxCatalystDurability()) { addOutput(CI.getEmptyCatalyst(1)); aStack.stackSize -= 1; + return; } else { setDamage(aStack, damage); } @@ -568,7 +557,7 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase { - // 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); - } - }); + public CheckRecipeResult process() { + ArrayList inputItemsList = new ArrayList<>(Arrays.asList(inputItems)); + inputItemsList.addAll(getCatalystInputs()); + inputItems = inputItemsList.toArray(new ItemStack[0]); + return super.process(); + } + + @NotNull + @Override + protected CheckRecipeResult onRecipeStart(@NotNull GT_Recipe recipe) { + if (catalyst != null) { + damageCatalyst(catalyst, getCurrentParallels()); + } + return super.onRecipeStart(recipe); } }.setMaxParallelSupplier(this::getMaxParallelRecipes); } @@ -630,25 +618,12 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase foundCatalyst = Arrays.stream(aItemInputs) - .filter(i -> GT_Utility.areStacksEqual(i, catalyst, true)).findFirst(); - if (foundCatalyst.isPresent()) { - return foundCatalyst.get(); + for (ItemStack item : aItemInputs) { + if (GT_Utility.areStacksEqual(item, catalyst, true)) { + return item; + } } } return null; @@ -665,16 +640,6 @@ public class GregtechMTE_ChemicalPlant extends GregtechMeta_MultiBlockBase getStoredInputs() { - ArrayList tItems = super.getStoredInputs(); - if (this.getControllerSlot() != null) { - tItems.add(this.getControllerSlot()); - } - tItems.addAll(getCatalystInputs()); - return tItems; - } - public ArrayList getCatalystInputs() { ArrayList tItems = new ArrayList<>(); for (GT_MetaTileEntity_Hatch_Catalysts tHatch : filterValidMTEs(mCatalystBuses)) { -- cgit