From 32e945b00948a2b0e58e6cc113dfe1f18a4a5bd3 Mon Sep 17 00:00:00 2001 From: lordIcocain Date: Sat, 25 Jan 2025 23:29:32 +0200 Subject: [PATCH] first commit --- .../machines/multi/MTEMultiSolidifier.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java index 6c071c74b5c..ee5b8b52f2d 100644 --- a/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java +++ b/src/main/java/gregtech/common/tileentities/machines/multi/MTEMultiSolidifier.java @@ -20,6 +20,8 @@ import java.util.Arrays; import java.util.Collection; import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; import javax.annotation.Nonnull; @@ -53,6 +55,7 @@ import gregtech.api.metatileentity.implementations.MTEExtendedPowerMultiBlockBase; import gregtech.api.metatileentity.implementations.MTEHatchEnergy; import gregtech.api.metatileentity.implementations.MTEHatchInput; +import gregtech.api.objects.GTDualInputs; import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.RecipeMaps; import gregtech.api.recipe.check.CheckRecipeResult; @@ -62,6 +65,7 @@ import gregtech.api.util.GTUtility; import gregtech.api.util.MultiblockTooltipBuilder; import gregtech.common.blocks.BlockCasings10; +import gregtech.common.tileentities.machines.IDualInputInventory; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.MTEHatchSolidifier; import mcp.mobius.waila.api.IWailaConfigHandler; import mcp.mobius.waila.api.IWailaDataAccessor; @@ -307,6 +311,28 @@ public CheckRecipeResult process() { return super.process(); } + @Override + public boolean craftingPatternHandler(IDualInputInventory slot) { + if (craftingPatternRecipeCache.containsKey(slot)) { + craftingPattern = slot; + return true; + } + + GTDualInputs inputs = slot.getPatternInputs(); + setInputItems(inputs.inputItems); + setInputFluids(inputs.inputFluid); + Set recipes = findRecipeMatches(RecipeMaps.fluidSolidifierRecipes) + .collect(Collectors.toSet()); + if (recipes.isEmpty()) + recipes = findRecipeMatches(GGFabRecipeMaps.toolCastRecipes).collect(Collectors.toSet()); + if (!recipes.isEmpty()) { + craftingPatternRecipeCache.put(slot, recipes); + craftingPattern = slot; + return true; + } + return false; + } + @NotNull @Override protected CheckRecipeResult validateRecipe(@NotNull GTRecipe recipe) {