From 405ea090ebff81dcfea6b054dee66514771c81a3 Mon Sep 17 00:00:00 2001 From: CraftBukkit/Spigot Date: Fri, 18 Sep 2020 18:43:48 +1000 Subject: [PATCH] #753: RecipeIterator#hasNext will now accurately represent if the current iterator has a next item. By: Martoph --- .../bukkit/craftbukkit/inventory/RecipeIterator.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java index 1223bfc7f..28f77a341 100644 --- a/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java +++ b/paper-server/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java @@ -19,13 +19,23 @@ public class RecipeIterator implements Iterator { @Override public boolean hasNext() { - return (current != null && current.hasNext()) || recipes.hasNext(); + if (current != null && current.hasNext()) { + return true; + } + + if (recipes.hasNext()) { + current = recipes.next().getValue().values().iterator(); + return hasNext(); + } + + return false; } @Override public Recipe next() { if (current == null || !current.hasNext()) { current = recipes.next().getValue().values().iterator(); + return next(); } return current.next().toBukkitRecipe();