geforkt von Mirrors/Paper
Fix removing recipes from RecipeIterator
== AT == public net.minecraft.world.item.crafting.RecipeMap byKey
Dieser Commit ist enthalten in:
Ursprung
826f299f4c
Commit
d7b5168a81
@ -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();
|
||||
}
|
||||
}
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren