From 35a34dae5aa6d2b66d2ea64a13a9da3ae4bf52b5 Mon Sep 17 00:00:00 2001 From: PopSlime Date: Tue, 1 Sep 2026 15:45:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E5=AF=B9=E9=85=8D?= =?UTF-8?q?=E6=96=B9=E7=89=A9=E5=93=81=E6=89=A7=E8=A1=8C=20SaveComponentTo?= =?UTF-8?q?Tag=20=E8=B0=93=E8=AF=8D=E5=87=BD=E6=95=B0=E6=97=B6=E5=8F=91?= =?UTF-8?q?=E7=94=9F=E5=B4=A9=E6=BA=83=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/v2/recipe/predicate/item/HasItemBase.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/module.recipe/src/main/java/dev/anvilcraft/lib/v2/recipe/predicate/item/HasItemBase.java b/module.recipe/src/main/java/dev/anvilcraft/lib/v2/recipe/predicate/item/HasItemBase.java index 3d2aeb97..33d24d76 100644 --- a/module.recipe/src/main/java/dev/anvilcraft/lib/v2/recipe/predicate/item/HasItemBase.java +++ b/module.recipe/src/main/java/dev/anvilcraft/lib/v2/recipe/predicate/item/HasItemBase.java @@ -6,16 +6,16 @@ import dev.anvilcraft.lib.v2.recipe.AnvilLibRecipe; import dev.anvilcraft.lib.v2.recipe.cache.ItemCache; import dev.anvilcraft.lib.v2.recipe.cache.item.ICacheInput; -import dev.anvilcraft.lib.v2.util.predicate.IItemStackPredicate; import dev.anvilcraft.lib.v2.recipe.predicate.IRecipePredicate; import dev.anvilcraft.lib.v2.recipe.predicate.function.IPredicateFunction; import dev.anvilcraft.lib.v2.recipe.util.InWorldRecipeContext; import dev.anvilcraft.lib.v2.recipe.util.InWorldRecipeData; +import dev.anvilcraft.lib.v2.util.predicate.IItemStackPredicate; import lombok.Getter; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.ByteBufCodecs; import net.minecraft.network.codec.StreamCodec; -import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.ItemStackTemplate; import net.minecraft.world.phys.Vec3; import java.util.List; @@ -76,8 +76,9 @@ public void accept(InWorldRecipeContext context) { ICacheInput item1 = this.getItem(context); item1.apply(itemStack -> { for (IPredicateFunction function : this.functions) { - IPredicateFunction function1 = (IPredicateFunction) function; - itemStack = function1.apply(context, itemStack); + // TODO: This cast is unsafe. Refactor in the future? + IPredicateFunction function1 = (IPredicateFunction) function; + itemStack = function1.apply(context, ItemStackTemplate.fromNonEmptyStack(itemStack)).create(); } }); }