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(); } }); }