diff options
author | Spottedleaf <[email protected]> | 2024-07-17 10:24:53 -0700 |
---|---|---|
committer | Spottedleaf <[email protected]> | 2024-07-17 10:28:32 -0700 |
commit | 00b949f1bbbf444e2b5e7b8de7c9b14fbd2133c6 (patch) | |
tree | 82639515bc5e9ae00c1e639e72137ed51e1ac688 /patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch | |
parent | 967f98aa81da851740aeb429778e46159fd188df (diff) | |
download | Paper-00b949f1bbbf444e2b5e7b8de7c9b14fbd2133c6.tar.gz Paper-00b949f1bbbf444e2b5e7b8de7c9b14fbd2133c6.zip |
Remove Moonrise utils to MCUtils, remove duplicated/unused utils
Diffstat (limited to 'patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch')
-rw-r--r-- | patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch new file mode 100644 index 0000000000..461c3eb854 --- /dev/null +++ b/patches/server/0985-Fix-removing-recipes-from-RecipeIterator.patch @@ -0,0 +1,41 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake <[email protected]> +Date: Sat, 15 Jun 2024 18:50:18 +0100 +Subject: [PATCH] Fix removing recipes from RecipeIterator + +== AT == +public net.minecraft.world.item.crafting.RecipeManager byName + +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java b/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java +index 78a2afa981407de793ac940d6eb7315c5cd53b8f..33cd12d55786356dc89ab9d3872b2f7d266c3de2 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java +@@ -9,6 +9,7 @@ import org.bukkit.inventory.Recipe; + + public class RecipeIterator implements Iterator<Recipe> { + private final Iterator<Map.Entry<RecipeType<?>, RecipeHolder<?>>> recipes; ++ private Recipe currentRecipe; // Paper - fix removing recipes from RecipeIterator + + public RecipeIterator() { + this.recipes = MinecraftServer.getServer().getRecipeManager().byType.entries().iterator(); +@@ -21,11 +22,19 @@ public class RecipeIterator implements Iterator<Recipe> { + + @Override + public Recipe next() { +- return this.recipes.next().getValue().toBukkitRecipe(); ++ // Paper start - fix removing recipes from RecipeIterator ++ this.currentRecipe = this.recipes.next().getValue().toBukkitRecipe(); ++ return this.currentRecipe; ++ // Paper end - fix removing recipes from RecipeIterator + } + + @Override + public void remove() { ++ // Paper start - fix removing recipes from RecipeIterator ++ if (this.currentRecipe instanceof org.bukkit.Keyed keyed) { ++ MinecraftServer.getServer().getRecipeManager().byName.remove(org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(keyed.getKey())); ++ } ++ // Paper end - fix removing recipes from RecipeIterator + this.recipes.remove(); + } + } |