mirror of
https://github.com/PaperMC/Paper.git
synced 2025-01-14 05:33:56 +01:00
Fix removing recipes from RecipeIterator
== AT == public net.minecraft.world.item.crafting.RecipeMap byKey
This commit is contained in:
parent
826f299f4c
commit
d7b5168a81
1 changed files with 6 additions and 1 deletions
|
@ -9,6 +9,7 @@ import org.bukkit.inventory.Recipe;
|
|||
|
||||
public class RecipeIterator implements Iterator<Recipe> {
|
||||
private final Iterator<Map.Entry<RecipeType<?>, RecipeHolder<?>>> recipes;
|
||||
private RecipeHolder<?> currentRecipe; // Paper - fix removing recipes from RecipeIterator
|
||||
|
||||
public RecipeIterator() {
|
||||
this.recipes = MinecraftServer.getServer().getRecipeManager().recipes.byType.entries().iterator();
|
||||
|
@ -21,11 +22,15 @@ 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();
|
||||
return this.currentRecipe.toBukkitRecipe();
|
||||
// Paper end - fix removing recipes from RecipeIterator
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove() {
|
||||
MinecraftServer.getServer().getRecipeManager().recipes.byKey.remove(this.currentRecipe.id()); // Paper - fix removing recipes from RecipeIterator
|
||||
this.recipes.remove();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue