From 1b3473761269c8de4f511df8306e751d9009ae4d Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Sun, 13 Jun 2021 17:59:01 +1000 Subject: [PATCH] SPIGOT-6540: Firework rockets not crafting into flight duration 1 By: md_5 --- .../world/item/crafting/CraftingManager.patch | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/paper-server/nms-patches/net/minecraft/world/item/crafting/CraftingManager.patch b/paper-server/nms-patches/net/minecraft/world/item/crafting/CraftingManager.patch index e8ebbdd9c1..4be981a3d5 100644 --- a/paper-server/nms-patches/net/minecraft/world/item/crafting/CraftingManager.patch +++ b/paper-server/nms-patches/net/minecraft/world/item/crafting/CraftingManager.patch @@ -29,21 +29,20 @@ Iterator iterator = map.entrySet().iterator(); while (iterator.hasNext()) { -@@ -57,28 +64,46 @@ +@@ -57,8 +64,10 @@ try { IRecipe irecipe = a(minecraftkey, ChatDeserializer.m((JsonElement) entry.getValue(), "top element")); - ((Builder) map1.computeIfAbsent(irecipe.g(), (recipes) -> { - return ImmutableMap.builder(); -- })).put(minecraftkey, irecipe); -+ // CraftBukkit start - SPIGOT-4638: last recipe gets priority ++ // CraftBukkit start + (map1.computeIfAbsent(irecipe.g(), (recipes) -> { + return new Object2ObjectLinkedOpenHashMap<>(); -+ })).putAndMoveToFirst(minecraftkey, irecipe); -+ // CraftBukkit end ++ // CraftBukkit end + })).put(minecraftkey, irecipe); } catch (IllegalArgumentException | JsonParseException jsonparseexception) { CraftingManager.LOGGER.error("Parsing error loading recipe {}", minecraftkey, jsonparseexception); - } +@@ -66,19 +75,35 @@ } this.recipes = (Map) map1.entrySet().stream().collect(ImmutableMap.toImmutableMap(Entry::getKey, (entry1) -> {