From 05641e94a31d276048606d2b2c63ff8046bd6a6d Mon Sep 17 00:00:00 2001 From: ypf791 Date: Sat, 2 Mar 2024 04:55:05 +0800 Subject: [PATCH 1/9] fix REI fan recipe slot tooltip chance info (#1342) In addStochasticTooltip, chance should be retrieved from the corresponding output, not the first one. --- .../create/compat/rei/category/CreateRecipeCategory.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java b/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java index 806c070cf3..6544716068 100644 --- a/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java +++ b/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java @@ -127,10 +127,12 @@ public static void addStochasticTooltip(List itemStacks, List widget instanceof Slot).forEach(widget -> { Slot slot = (Slot) widget; + int slotIndex = itemStacks.indexOf(widget); + ClientEntryStacks.setTooltipProcessor(slot.getCurrentEntry(), (entryStack, tooltip) -> { -// if (slotIndex < startIndex) -// return; - ProcessingOutput output = results.get(/*slotIndex - startIndex*/0); + if (slotIndex < startIndex) + return; + ProcessingOutput output = results.get(slotIndex - startIndex); float chance = output.getChance(); if (chance != 1) tooltip.add(Lang.translateDirect("recipe.processing.chance", chance < 0.01 ? "<1" : (int) (chance * 100)) From b91bd17e9334361de74093ec0152c1a66dc0da46 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 1 Mar 2024 17:09:39 -0500 Subject: [PATCH 2/9] Fix #1170 - Add Limestone and Scoria as in world recipes in EMI --- .../create/compat/emi/CreateEmiPlugin.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java index 450a7008e3..3ecc5e1f12 100644 --- a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java +++ b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java @@ -38,6 +38,7 @@ import com.simibubi.create.compat.emi.recipes.fan.FanWashingEmiRecipe; import com.simibubi.create.compat.rei.ConversionRecipe; import com.simibubi.create.compat.rei.ToolboxColoringRecipeMaker; +import com.simibubi.create.content.decoration.palettes.AllPaletteStoneTypes; import com.simibubi.create.content.equipment.blueprint.BlueprintScreen; import com.simibubi.create.content.equipment.toolbox.ToolboxBlock; import com.simibubi.create.content.fluids.VirtualFluid; @@ -69,6 +70,7 @@ import dev.emi.emi.api.recipe.EmiCraftingRecipe; import dev.emi.emi.api.recipe.EmiRecipe; import dev.emi.emi.api.recipe.EmiRecipeCategory; +import dev.emi.emi.api.recipe.EmiWorldInteractionRecipe; import dev.emi.emi.api.render.EmiRenderable; import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; @@ -102,9 +104,13 @@ import net.minecraft.world.item.crafting.RecipeType; import net.minecraft.world.item.crafting.ShapelessRecipe; import net.minecraft.world.item.crafting.SmokingRecipe; +import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.material.Fluid; import net.minecraft.world.level.material.Fluids; +import org.jetbrains.annotations.NotNull; + public class CreateEmiPlugin implements EmiPlugin { public static final Map ALL = new LinkedHashMap<>(); @@ -275,6 +281,12 @@ public void register(EmiRegistry registry) { addAll(registry, AllRecipeTypes.ITEM_APPLICATION, ManualItemApplicationEmiRecipe::new); addAll(registry, AllRecipeTypes.MECHANICAL_CRAFTING, MECHANICAL_CRAFTING, MechanicalCraftingEmiRecipe::new); + // In World Interaction recipes + addFluidInteractionRecipe(registry, "create/limestone", AllFluids.HONEY.get(), + Fluids.LAVA, AllPaletteStoneTypes.LIMESTONE.getBaseBlock().get()); + addFluidInteractionRecipe(registry, "create/chocolate", AllFluids.CHOCOLATE.get(), + Fluids.LAVA, AllPaletteStoneTypes.SCORIA.getBaseBlock().get()); + // Introspective recipes based on present stacks need to make sure // all stacks are populated by other plugins registry.addDeferredRecipes(this::addDeferredRecipes); @@ -295,6 +307,26 @@ private > void addAll(EmiRegistry registry, AllRecipeTypes t } } + /** + * Register an In World Interaction recipe + * + * @param registry EmiRegistry + * @param outputId The block being outputted in the form of `modid/block` an example for stone would be `minecraft/stone` + * @param left The stack that will be shown in the left input + * @param right The stack that will be shown in the right input + * @param output The stack that will be outputted from this interaction recipe + */ + private void addFluidInteractionRecipe(@NotNull EmiRegistry registry, String outputId, Fluid left, Fluid right, Block output) { + // fabric: 27000 droplets = 1000 mb + registry.addRecipe(EmiWorldInteractionRecipe.builder() + .id(Create.asResource("/world/fluid_interaction/" + outputId)) + .leftInput(EmiStack.of(left, 81000)) + .rightInput(EmiStack.of(right, 81000), false) + .output(EmiStack.of(output)) + .build() + ); + } + private void addDeferredRecipes(Consumer consumer) { List fluids = EmiApi.getIndexStacks().stream() .filter(s -> s.getKey() instanceof FluidVariant) From afc368d449d183a4efacf3cfcc6b406ff38c21bb Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 1 Mar 2024 17:10:40 -0500 Subject: [PATCH 3/9] [skip ci] fix typo --- .../java/com/simibubi/create/compat/emi/CreateEmiPlugin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java index 3ecc5e1f12..1259fd786d 100644 --- a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java +++ b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java @@ -317,7 +317,7 @@ private > void addAll(EmiRegistry registry, AllRecipeTypes t * @param output The stack that will be outputted from this interaction recipe */ private void addFluidInteractionRecipe(@NotNull EmiRegistry registry, String outputId, Fluid left, Fluid right, Block output) { - // fabric: 27000 droplets = 1000 mb + // fabric: 81000 droplets = 1000 mb registry.addRecipe(EmiWorldInteractionRecipe.builder() .id(Create.asResource("/world/fluid_interaction/" + outputId)) .leftInput(EmiStack.of(left, 81000)) From ac3da8b8bfcbcdd0e30b9746bfccacb0876b1f83 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 1 Mar 2024 17:17:28 -0500 Subject: [PATCH 4/9] Fix build failing --- .../create/compat/rei/category/CreateRecipeCategory.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java b/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java index 6544716068..5883d40716 100644 --- a/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java +++ b/src/main/java/com/simibubi/create/compat/rei/category/CreateRecipeCategory.java @@ -128,10 +128,10 @@ public static void addStochasticTooltip(List itemStacks, List { if (slotIndex < startIndex) - return; + return tooltip; ProcessingOutput output = results.get(slotIndex - startIndex); float chance = output.getChance(); if (chance != 1) From f3f619000d7681f10e7b82bf61c708f34f4907b3 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 1 Mar 2024 18:23:38 -0500 Subject: [PATCH 5/9] Fix Flowing Fluid being passed to EmiStack.of --- .../com/simibubi/create/compat/emi/CreateEmiPlugin.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java index 1259fd786d..1ee8715c97 100644 --- a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java +++ b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java @@ -64,6 +64,9 @@ import com.simibubi.create.foundation.item.ItemHelper; import com.simibubi.create.foundation.item.TagDependentIngredientItem; +import com.tterrag.registrate.fabric.SimpleFlowableFluid; +import com.tterrag.registrate.util.nullness.NonnullType; + import dev.emi.emi.api.EmiApi; import dev.emi.emi.api.EmiPlugin; import dev.emi.emi.api.EmiRegistry; @@ -317,6 +320,12 @@ private > void addAll(EmiRegistry registry, AllRecipeTypes t * @param output The stack that will be outputted from this interaction recipe */ private void addFluidInteractionRecipe(@NotNull EmiRegistry registry, String outputId, Fluid left, Fluid right, Block output) { + // EmiStack doesnt accept flowing fluids, must always be a source + if (left instanceof SimpleFlowableFluid.Flowing flowing) + left = flowing.getSource(); + if (right instanceof SimpleFlowableFluid.Flowing flowing) + right = flowing.getSource(); + // fabric: 81000 droplets = 1000 mb registry.addRecipe(EmiWorldInteractionRecipe.builder() .id(Create.asResource("/world/fluid_interaction/" + outputId)) From 00ec47e88d9c44c279010df129f283212dc7268c Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sun, 18 Feb 2024 16:43:13 -0500 Subject: [PATCH 6/9] Fix spout filling/emptying recipes - Backport REI/JEI filling/emptying recipe's fix --- gradle.properties | 2 +- .../create/compat/jei/category/ItemDrainCategory.java | 3 ++- .../simibubi/create/compat/jei/category/SpoutCategory.java | 3 ++- .../create/compat/rei/category/ItemDrainCategory.java | 3 ++- .../simibubi/create/compat/rei/category/SpoutCategory.java | 3 ++- .../create/content/fluids/transfer/GenericItemEmptying.java | 4 ++-- .../create/content/fluids/transfer/GenericItemFilling.java | 4 +++- 7 files changed, 14 insertions(+), 8 deletions(-) diff --git a/gradle.properties b/gradle.properties index 44fc5bca1a..5d9e4cfa22 100644 --- a/gradle.properties +++ b/gradle.properties @@ -32,7 +32,7 @@ reach_entity_attributes_version = 2.1.1 registrate_version = MC1.18.2-1.1.11 forge_tags_version = 2.1 milk_lib_version = 0.3.2 -port_lib_version = 1.2.1230-beta +port_lib_version = 1.2.1271-beta night_config_version = 3.6.3 jsr305_version = 3.0.2 diff --git a/src/main/java/com/simibubi/create/compat/jei/category/ItemDrainCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/ItemDrainCategory.java index 8148ff07d2..2a9e4e5a2d 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/ItemDrainCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/ItemDrainCategory.java @@ -15,6 +15,7 @@ import com.simibubi.create.foundation.item.ItemHelper; +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.util.FluidStack; import mezz.jei.api.constants.VanillaTypes; @@ -64,7 +65,7 @@ public static void consumeRecipes(Consumer consumer, IIngredient continue; ItemStack copy = stack.copy(); - ContainerItemContext ctx = ContainerItemContext.withInitial(copy); + MutableContainerItemContext ctx = new MutableContainerItemContext(copy); Storage storage = ctx.find(FluidStorage.ITEM); FluidStack extracted = TransferUtil.extractAnyFluid(storage, FluidConstants.BUCKET); ItemVariant result = ctx.getItemVariant(); diff --git a/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java index cadba9eb62..17957e4e05 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java @@ -18,6 +18,7 @@ import com.simibubi.create.foundation.item.ItemHelper; +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.util.FluidStack; import mezz.jei.api.constants.VanillaTypes; @@ -63,7 +64,7 @@ public static void consumeRecipes(Consumer consumer, IIngredientM continue; } - ContainerItemContext testCtx = ContainerItemContext.withInitial(stack); + MutableContainerItemContext testCtx = new MutableContainerItemContext(stack); Storage testStorage = testCtx.find(FluidStorage.ITEM); if (testStorage == null) continue; diff --git a/src/main/java/com/simibubi/create/compat/rei/category/ItemDrainCategory.java b/src/main/java/com/simibubi/create/compat/rei/category/ItemDrainCategory.java index 6f350dd5e4..78c6e9f647 100644 --- a/src/main/java/com/simibubi/create/compat/rei/category/ItemDrainCategory.java +++ b/src/main/java/com/simibubi/create/compat/rei/category/ItemDrainCategory.java @@ -18,6 +18,7 @@ import com.simibubi.create.foundation.gui.AllGuiTextures; import com.simibubi.create.foundation.item.ItemHelper; +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.util.FluidStack; import me.shedaniel.math.Point; @@ -68,7 +69,7 @@ public static void consumeRecipes(Consumer consumer) { } ItemStack copy = stack.copy(); - ContainerItemContext ctx = ContainerItemContext.withInitial(copy); + MutableContainerItemContext ctx = new MutableContainerItemContext(copy); Storage handler = ctx.find(FluidStorage.ITEM); if (handler == null) diff --git a/src/main/java/com/simibubi/create/compat/rei/category/SpoutCategory.java b/src/main/java/com/simibubi/create/compat/rei/category/SpoutCategory.java index 56f263e7b9..b070eccfbc 100644 --- a/src/main/java/com/simibubi/create/compat/rei/category/SpoutCategory.java +++ b/src/main/java/com/simibubi/create/compat/rei/category/SpoutCategory.java @@ -17,6 +17,7 @@ import com.simibubi.create.foundation.gui.AllGuiTextures; import com.simibubi.create.foundation.item.ItemHelper; +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.util.FluidStack; import me.shedaniel.math.Point; @@ -72,7 +73,7 @@ public static void consumeRecipes(Consumer consumer) { for (EntryStack fluidEntry: fluidStacks) { FluidStack fluidStack = new FluidStack(fluidEntry.getValue().getFluid(), fluidEntry.getValue().getAmount(), fluidEntry.getValue().getTag()); ItemStack copy = stack.copy(); - ContainerItemContext ctx = ContainerItemContext.withInitial(copy); + MutableContainerItemContext ctx = new MutableContainerItemContext(copy); Storage fhi = ctx.find(FluidStorage.ITEM); if(fhi != null) { if (!GenericItemFilling.isFluidHandlerValid(copy, fhi)) diff --git a/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemEmptying.java b/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemEmptying.java index aee5fd24b0..035abdbd92 100644 --- a/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemEmptying.java +++ b/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemEmptying.java @@ -7,10 +7,10 @@ import com.simibubi.create.content.fluids.potion.PotionFluidHandler; import com.simibubi.create.foundation.utility.Pair; +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.transfer.item.ItemStackHandlerContainer; import io.github.fabricators_of_create.porting_lib.util.FluidStack; -import net.fabricmc.fabric.api.transfer.v1.context.ContainerItemContext; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; @@ -59,7 +59,7 @@ public static Pair emptyItem(Level world, ItemStack stack ItemStack split = stack.copy(); split.setCount(1); - ContainerItemContext ctx = ContainerItemContext.withInitial(split); + MutableContainerItemContext ctx = new MutableContainerItemContext(split); Storage tank = FluidStorage.ITEM.find(split, ctx); if (tank == null) return Pair.of(resultingFluid, resultingItem); diff --git a/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemFilling.java b/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemFilling.java index c8bc599511..c1bb12df3c 100644 --- a/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemFilling.java +++ b/src/main/java/com/simibubi/create/content/fluids/transfer/GenericItemFilling.java @@ -4,6 +4,8 @@ import com.simibubi.create.AllItems; import com.simibubi.create.content.fluids.potion.PotionFluidHandler; import com.simibubi.create.foundation.fluid.FluidHelper; + +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.util.FluidStack; @@ -126,7 +128,7 @@ else if (fluid.isSame(AllFluids.TEA.get())) ItemStack split = stack.copy(); split.setCount(1); - ContainerItemContext ctx = ContainerItemContext.withInitial(split); + MutableContainerItemContext ctx = new MutableContainerItemContext(split); Storage tank = FluidStorage.ITEM.find(split, ctx); if (tank == null) return ItemStack.EMPTY; From 7c28caf35cb6acc349979abc34f0c0e170ad4b8f Mon Sep 17 00:00:00 2001 From: TropheusJ Date: Fri, 1 Mar 2024 20:03:28 -0500 Subject: [PATCH 7/9] fix #1246 --- .../kinetics/belt/transport/BeltFunnelInteractionHandler.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/main/java/com/simibubi/create/content/kinetics/belt/transport/BeltFunnelInteractionHandler.java b/src/main/java/com/simibubi/create/content/kinetics/belt/transport/BeltFunnelInteractionHandler.java index 6936aed192..b6de576222 100644 --- a/src/main/java/com/simibubi/create/content/kinetics/belt/transport/BeltFunnelInteractionHandler.java +++ b/src/main/java/com/simibubi/create/content/kinetics/belt/transport/BeltFunnelInteractionHandler.java @@ -112,6 +112,10 @@ public static boolean checkForFunnels(BeltInventory beltInventory, TransportedIt funnelBE.onTransfer(toInsert); currentItem.stack = remainder; beltInventory.belt.sendData(); + // fabric: fully inserted, early exit to avoid inserting an empty stack on next loop + if (remainder.isEmpty()) { + return false; + } if (blocking) return true; } From 8c660024427f3ca036564ff7e2d5e9149d22ccfe Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 1 Mar 2024 21:02:21 -0500 Subject: [PATCH 8/9] Fix EMI emptying/filling recipes --- .../create/compat/emi/CreateEmiPlugin.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java index 1ee8715c97..6a0e99ba08 100644 --- a/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java +++ b/src/main/java/com/simibubi/create/compat/emi/CreateEmiPlugin.java @@ -78,13 +78,12 @@ import dev.emi.emi.api.stack.EmiIngredient; import dev.emi.emi.api.stack.EmiStack; import dev.emi.emi.api.widget.Bounds; +import io.github.fabricators_of_create.porting_lib.transfer.MutableContainerItemContext; import io.github.fabricators_of_create.porting_lib.transfer.TransferUtil; import io.github.fabricators_of_create.porting_lib.util.FluidStack; -import net.fabricmc.fabric.api.transfer.v1.context.ContainerItemContext; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidConstants; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidStorage; import net.fabricmc.fabric.api.transfer.v1.fluid.FluidVariant; -import net.fabricmc.fabric.api.transfer.v1.item.ItemVariant; import net.fabricmc.fabric.api.transfer.v1.storage.Storage; import net.fabricmc.fabric.api.transfer.v1.transaction.Transaction; import net.fabricmc.loader.api.FabricLoader; @@ -337,14 +336,13 @@ private void addFluidInteractionRecipe(@NotNull EmiRegistry registry, String out } private void addDeferredRecipes(Consumer consumer) { - List fluids = EmiApi.getIndexStacks().stream() - .filter(s -> s.getKey() instanceof FluidVariant) - .map(s -> (FluidVariant) s.getKey()) + List fluids = EmiApi.getIndexStacks().stream() + .filter(s -> s.getKey() instanceof Fluid) + .map(s -> (Fluid) s.getKey()) .distinct() .toList(); for (EmiStack stack : EmiApi.getIndexStacks()) { - if (stack.getKey() instanceof ItemVariant iv) { - Item i = iv.getItem(); + if (stack.getKey() instanceof Item i) { ItemStack is = stack.getItemStack(); if (i instanceof PotionItem) { FluidStack potion = PotionFluidHandler.getFluidFromPotionItem(is); @@ -367,14 +365,14 @@ private void addDeferredRecipes(Consumer consumer) { .build())); continue; } - for (FluidVariant fluid : fluids) { - if (i == Items.GLASS_BOTTLE && fluid.getFluid() == Fluids.WATER) { + for (Fluid fluid : fluids) { + if (i == Items.GLASS_BOTTLE && fluid == Fluids.WATER) { continue; } // This will miss fluid containers that hold a minimum of over 1000 L, but perhaps that's preferable. FluidStack fs = new FluidStack(fluid, FluidConstants.BUCKET); ItemStack copy = is.copy(); - ContainerItemContext ctx = ContainerItemContext.withInitial(copy); + MutableContainerItemContext ctx = new MutableContainerItemContext(copy); Storage storage = ctx.find(FluidStorage.ITEM); if (storage != null && GenericItemFilling.isFluidHandlerValid(copy, storage)) { long inserted = 0; @@ -399,7 +397,7 @@ private void addDeferredRecipes(Consumer consumer) { } } ItemStack copy = is.copy(); - ContainerItemContext ctx = ContainerItemContext.withInitial(copy); + MutableContainerItemContext ctx = new MutableContainerItemContext(copy); Storage storage = ctx.find(FluidStorage.ITEM); if (storage != null) { FluidStack extracted = TransferUtil.extractAnyFluid(storage, FluidConstants.BUCKET); From 149c42f606c518d0d7e9d2c1fe5d0737a28d2551 Mon Sep 17 00:00:00 2001 From: IThundxr Date: Fri, 1 Mar 2024 21:12:38 -0500 Subject: [PATCH 9/9] revert change to testCtx --- .../com/simibubi/create/compat/jei/category/SpoutCategory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java b/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java index 17957e4e05..3e9108316a 100644 --- a/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java +++ b/src/main/java/com/simibubi/create/compat/jei/category/SpoutCategory.java @@ -64,7 +64,7 @@ public static void consumeRecipes(Consumer consumer, IIngredientM continue; } - MutableContainerItemContext testCtx = new MutableContainerItemContext(stack); + ContainerItemContext testCtx = ContainerItemContext.withInitial(stack); Storage testStorage = testCtx.find(FluidStorage.ITEM); if (testStorage == null) continue;