#753: RecipeIterator#hasNext will now accurately represent if the current iterator has a next item.

This commit is contained in:
Martoph 2020-09-18 18:43:48 +10:00 committed by md_5
parent 890130b460
commit da9bb3ea92
No known key found for this signature in database
GPG key ID: E8E901AC7C617C11

View file

@ -19,13 +19,23 @@ public class RecipeIterator implements Iterator<Recipe> {
@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();