From d50f50585eab860db7889b3e736a62faf430f7a4 Mon Sep 17 00:00:00 2001 From: md_5 Date: Wed, 23 Oct 2024 19:38:39 +1100 Subject: [PATCH] SPIGOT-7922: ExactChoice recipe fails to be added --- .../net/minecraft/world/item/crafting/RecipeItemStack.patch | 6 +++--- .../java/org/bukkit/craftbukkit/inventory/CraftRecipe.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/nms-patches/net/minecraft/world/item/crafting/RecipeItemStack.patch b/nms-patches/net/minecraft/world/item/crafting/RecipeItemStack.patch index 0d36ff3da..631969511 100644 --- a/nms-patches/net/minecraft/world/item/crafting/RecipeItemStack.patch +++ b/nms-patches/net/minecraft/world/item/crafting/RecipeItemStack.patch @@ -16,9 +16,9 @@ + return this.itemStacks; + } + -+ public static RecipeItemStack ofStacks(Stream stacks) { -+ RecipeItemStack recipe = RecipeItemStack.of(stacks.map(ItemStack::getItem)); -+ recipe.itemStacks = stacks.toList(); ++ public static RecipeItemStack ofStacks(List stacks) { ++ RecipeItemStack recipe = RecipeItemStack.of(stacks.stream().map(ItemStack::getItem)); ++ recipe.itemStacks = stacks; + return recipe; + } + // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java index ed0cf5b49..f40fea0d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java @@ -33,7 +33,7 @@ public interface CraftRecipe extends Recipe { } else if (bukkit instanceof RecipeChoice.MaterialChoice) { stack = RecipeItemStack.of(((RecipeChoice.MaterialChoice) bukkit).getChoices().stream().map((mat) -> CraftItemType.bukkitToMinecraft(mat))); } else if (bukkit instanceof RecipeChoice.ExactChoice) { - stack = RecipeItemStack.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat))); + stack = RecipeItemStack.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)).toList()); } else { throw new IllegalArgumentException("Unknown recipe stack instance " + bukkit); }