aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAya <[email protected]>2024-06-15 20:49:08 +0100
committerBjarne Koll <[email protected]>2024-06-15 21:53:46 +0200
commitd41636f445de25934198927d2097978cef65b031 (patch)
treef34fb43802f5ac9cabf541cfc72d6d3b4ea24027
parentc1aefeecc6fef3fd53bbc6e0501a75b7d78189ee (diff)
downloadPaper-d41636f445de25934198927d2097978cef65b031.tar.gz
Paper-d41636f445de25934198927d2097978cef65b031.zip
Add back RecipeIterator fixes patch (#10887)
-rw-r--r--patches/server/0789-Improve-logging-and-errors.patch2
-rw-r--r--patches/server/0989-Fix-removing-recipes-from-RecipeIterator.patch41
-rw-r--r--patches/server/0990-Chunk-System-Starlight-from-Moonrise.patch (renamed from patches/server/0989-Chunk-System-Starlight-from-Moonrise.patch)0
-rw-r--r--patches/server/0991-Rewrite-dataconverter-system.patch (renamed from patches/server/0990-Rewrite-dataconverter-system.patch)0
-rw-r--r--patches/server/0992-disable-forced-empty-world-ticks.patch (renamed from patches/server/0991-disable-forced-empty-world-ticks.patch)0
-rw-r--r--patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (renamed from patches/server/0992-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch)0
-rw-r--r--patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (renamed from patches/server/0993-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch)0
-rw-r--r--patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch (renamed from patches/server/0994-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch)0
-rw-r--r--patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (renamed from patches/server/0995-Optimize-Network-Manager-and-add-advanced-packet-sup.patch)0
-rw-r--r--patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch (renamed from patches/server/0996-Allow-Saving-of-Oversized-Chunks.patch)0
-rw-r--r--patches/server/0998-Flat-bedrock-generator-settings.patch (renamed from patches/server/0997-Flat-bedrock-generator-settings.patch)0
-rw-r--r--patches/server/0999-Entity-Activation-Range-2.0.patch (renamed from patches/server/0998-Entity-Activation-Range-2.0.patch)0
-rw-r--r--patches/server/1000-Optional-per-player-mob-spawns.patch (renamed from patches/server/0999-Optional-per-player-mob-spawns.patch)0
-rw-r--r--patches/server/1001-Anti-Xray.patch (renamed from patches/server/1000-Anti-Xray.patch)0
-rw-r--r--patches/server/1002-Eigencraft-redstone-implementation.patch (renamed from patches/server/1001-Eigencraft-redstone-implementation.patch)0
-rw-r--r--patches/server/1003-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/1002-Add-Alternate-Current-redstone-implementation.patch)0
-rw-r--r--patches/server/1004-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (renamed from patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch)0
-rw-r--r--patches/server/1005-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/1004-Use-Velocity-compression-and-cipher-natives.patch)0
-rw-r--r--patches/server/1006-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (renamed from patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch)0
-rw-r--r--patches/server/1007-Optimize-Hoppers.patch (renamed from patches/server/1006-Optimize-Hoppers.patch)0
-rw-r--r--patches/server/1008-Optimize-Voxel-Shape-Merging.patch (renamed from patches/server/1007-Optimize-Voxel-Shape-Merging.patch)0
-rw-r--r--patches/server/1009-Optimize-Bit-Operations-by-inlining.patch (renamed from patches/server/1008-Optimize-Bit-Operations-by-inlining.patch)0
-rw-r--r--patches/server/1010-Remove-streams-from-hot-code.patch (renamed from patches/server/1009-Remove-streams-from-hot-code.patch)0
-rw-r--r--patches/server/1011-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch)0
-rw-r--r--patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch)0
-rw-r--r--patches/server/1013-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/1012-Fix-entity-type-tags-suggestions-in-selectors.patch)0
-rw-r--r--patches/server/1014-Handle-Oversized-block-entities-in-chunks.patch (renamed from patches/server/1013-Handle-Oversized-block-entities-in-chunks.patch)0
-rw-r--r--patches/server/1015-API-for-checking-sent-chunks.patch (renamed from patches/server/1014-API-for-checking-sent-chunks.patch)0
28 files changed, 42 insertions, 1 deletions
diff --git a/patches/server/0789-Improve-logging-and-errors.patch b/patches/server/0789-Improve-logging-and-errors.patch
index 42d1e7b166..e4489ef6a7 100644
--- a/patches/server/0789-Improve-logging-and-errors.patch
+++ b/patches/server/0789-Improve-logging-and-errors.patch
@@ -82,7 +82,7 @@ index ed1d3d30404dfc6303e746f31295b6b1aa40f204..8d7565eda4536e8aa42dd3dcbcfac38c
set.add(string);
} else {
diff --git a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
-index b068a31c8052091840956e26ef6547a1a3595e4c..ac99aa7a275b7c2e91d51f952dbf0a1ce44e02d5 100644
+index 3270bb6fe1c8b08411e6cad14d48cec886085ee7..407f3c1938b5b5d893b09705fe4930dbdafa3c8e 100644
--- a/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
+++ b/src/main/java/net/minecraft/world/item/crafting/RecipeManager.java
@@ -79,7 +79,7 @@ public class RecipeManager extends SimpleJsonResourceReloadListener {
diff --git a/patches/server/0989-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0989-Fix-removing-recipes-from-RecipeIterator.patch
new file mode 100644
index 0000000000..461c3eb854
--- /dev/null
+++ b/patches/server/0989-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();
+ }
+ }
diff --git a/patches/server/0989-Chunk-System-Starlight-from-Moonrise.patch b/patches/server/0990-Chunk-System-Starlight-from-Moonrise.patch
index 9be7b6a3fc..9be7b6a3fc 100644
--- a/patches/server/0989-Chunk-System-Starlight-from-Moonrise.patch
+++ b/patches/server/0990-Chunk-System-Starlight-from-Moonrise.patch
diff --git a/patches/server/0990-Rewrite-dataconverter-system.patch b/patches/server/0991-Rewrite-dataconverter-system.patch
index e28b6c8b61..e28b6c8b61 100644
--- a/patches/server/0990-Rewrite-dataconverter-system.patch
+++ b/patches/server/0991-Rewrite-dataconverter-system.patch
diff --git a/patches/server/0991-disable-forced-empty-world-ticks.patch b/patches/server/0992-disable-forced-empty-world-ticks.patch
index e33cae412e..e33cae412e 100644
--- a/patches/server/0991-disable-forced-empty-world-ticks.patch
+++ b/patches/server/0992-disable-forced-empty-world-ticks.patch
diff --git a/patches/server/0992-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
index 2cdcbebb6f..2cdcbebb6f 100644
--- a/patches/server/0992-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
+++ b/patches/server/0993-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch
diff --git a/patches/server/0993-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
index 655f635c6c..655f635c6c 100644
--- a/patches/server/0993-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
+++ b/patches/server/0994-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch
diff --git a/patches/server/0994-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
index 75589c401e..75589c401e 100644
--- a/patches/server/0994-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
+++ b/patches/server/0995-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch
diff --git a/patches/server/0995-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
index f51a3d8642..f51a3d8642 100644
--- a/patches/server/0995-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
+++ b/patches/server/0996-Optimize-Network-Manager-and-add-advanced-packet-sup.patch
diff --git a/patches/server/0996-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch
index 4eef25929e..4eef25929e 100644
--- a/patches/server/0996-Allow-Saving-of-Oversized-Chunks.patch
+++ b/patches/server/0997-Allow-Saving-of-Oversized-Chunks.patch
diff --git a/patches/server/0997-Flat-bedrock-generator-settings.patch b/patches/server/0998-Flat-bedrock-generator-settings.patch
index da68e7d65b..da68e7d65b 100644
--- a/patches/server/0997-Flat-bedrock-generator-settings.patch
+++ b/patches/server/0998-Flat-bedrock-generator-settings.patch
diff --git a/patches/server/0998-Entity-Activation-Range-2.0.patch b/patches/server/0999-Entity-Activation-Range-2.0.patch
index 6ac2fde9e8..6ac2fde9e8 100644
--- a/patches/server/0998-Entity-Activation-Range-2.0.patch
+++ b/patches/server/0999-Entity-Activation-Range-2.0.patch
diff --git a/patches/server/0999-Optional-per-player-mob-spawns.patch b/patches/server/1000-Optional-per-player-mob-spawns.patch
index 2e43136e37..2e43136e37 100644
--- a/patches/server/0999-Optional-per-player-mob-spawns.patch
+++ b/patches/server/1000-Optional-per-player-mob-spawns.patch
diff --git a/patches/server/1000-Anti-Xray.patch b/patches/server/1001-Anti-Xray.patch
index d60a304b4a..d60a304b4a 100644
--- a/patches/server/1000-Anti-Xray.patch
+++ b/patches/server/1001-Anti-Xray.patch
diff --git a/patches/server/1001-Eigencraft-redstone-implementation.patch b/patches/server/1002-Eigencraft-redstone-implementation.patch
index b3e3db6504..b3e3db6504 100644
--- a/patches/server/1001-Eigencraft-redstone-implementation.patch
+++ b/patches/server/1002-Eigencraft-redstone-implementation.patch
diff --git a/patches/server/1002-Add-Alternate-Current-redstone-implementation.patch b/patches/server/1003-Add-Alternate-Current-redstone-implementation.patch
index 63c2b14dfc..63c2b14dfc 100644
--- a/patches/server/1002-Add-Alternate-Current-redstone-implementation.patch
+++ b/patches/server/1003-Add-Alternate-Current-redstone-implementation.patch
diff --git a/patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/1004-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
index 410b44641b..410b44641b 100644
--- a/patches/server/1003-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
+++ b/patches/server/1004-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch
diff --git a/patches/server/1004-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/1005-Use-Velocity-compression-and-cipher-natives.patch
index fd68f70524..fd68f70524 100644
--- a/patches/server/1004-Use-Velocity-compression-and-cipher-natives.patch
+++ b/patches/server/1005-Use-Velocity-compression-and-cipher-natives.patch
diff --git a/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/1006-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
index 1f46712639..1f46712639 100644
--- a/patches/server/1005-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
+++ b/patches/server/1006-Optimize-GoalSelector-Goal.Flag-Set-operations.patch
diff --git a/patches/server/1006-Optimize-Hoppers.patch b/patches/server/1007-Optimize-Hoppers.patch
index 2a71db2bec..2a71db2bec 100644
--- a/patches/server/1006-Optimize-Hoppers.patch
+++ b/patches/server/1007-Optimize-Hoppers.patch
diff --git a/patches/server/1007-Optimize-Voxel-Shape-Merging.patch b/patches/server/1008-Optimize-Voxel-Shape-Merging.patch
index 4ec779560c..4ec779560c 100644
--- a/patches/server/1007-Optimize-Voxel-Shape-Merging.patch
+++ b/patches/server/1008-Optimize-Voxel-Shape-Merging.patch
diff --git a/patches/server/1008-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1009-Optimize-Bit-Operations-by-inlining.patch
index b7d93a56b9..b7d93a56b9 100644
--- a/patches/server/1008-Optimize-Bit-Operations-by-inlining.patch
+++ b/patches/server/1009-Optimize-Bit-Operations-by-inlining.patch
diff --git a/patches/server/1009-Remove-streams-from-hot-code.patch b/patches/server/1010-Remove-streams-from-hot-code.patch
index 4c6d94f7bf..4c6d94f7bf 100644
--- a/patches/server/1009-Remove-streams-from-hot-code.patch
+++ b/patches/server/1010-Remove-streams-from-hot-code.patch
diff --git a/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1011-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
index 6fc4445bbf..6fc4445bbf 100644
--- a/patches/server/1010-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
+++ b/patches/server/1011-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch
diff --git a/patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch
index 96d90abea3..96d90abea3 100644
--- a/patches/server/1011-Custom-table-implementation-for-blockstate-state-loo.patch
+++ b/patches/server/1012-Custom-table-implementation-for-blockstate-state-loo.patch
diff --git a/patches/server/1012-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1013-Fix-entity-type-tags-suggestions-in-selectors.patch
index 47e6c56f5b..47e6c56f5b 100644
--- a/patches/server/1012-Fix-entity-type-tags-suggestions-in-selectors.patch
+++ b/patches/server/1013-Fix-entity-type-tags-suggestions-in-selectors.patch
diff --git a/patches/server/1013-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1014-Handle-Oversized-block-entities-in-chunks.patch
index d3283fd63f..d3283fd63f 100644
--- a/patches/server/1013-Handle-Oversized-block-entities-in-chunks.patch
+++ b/patches/server/1014-Handle-Oversized-block-entities-in-chunks.patch
diff --git a/patches/server/1014-API-for-checking-sent-chunks.patch b/patches/server/1015-API-for-checking-sent-chunks.patch
index a0c0a6363e..a0c0a6363e 100644
--- a/patches/server/1014-API-for-checking-sent-chunks.patch
+++ b/patches/server/1015-API-for-checking-sent-chunks.patch