From 2402d5edb46a8e67592855b2ddafcd38c26be904 Mon Sep 17 00:00:00 2001
From: CraftBukkit/Spigot <noreply+git-craftbukkit@papermc.io>
Date: Wed, 6 Sep 2023 20:56:26 +1000
Subject: [PATCH] #1245: Add a stream method to Registry to make it easier to
 use and to avoid unnecessary wrapping

By: DerFrZocker <derrieple@gmail.com>
---
 .../java/org/bukkit/craftbukkit/CraftRegistry.java  | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
index df201d73a9..b15f26bff2 100644
--- a/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
+++ b/paper-server/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java
@@ -25,6 +25,7 @@ import org.bukkit.generator.structure.Structure;
 import org.bukkit.generator.structure.StructureType;
 import org.bukkit.inventory.meta.trim.TrimMaterial;
 import org.bukkit.inventory.meta.trim.TrimPattern;
+import org.jetbrains.annotations.NotNull;
 
 public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
 
@@ -92,9 +93,15 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
         return bukkit;
     }
 
+    @NotNull
+    @Override
+    public Stream<B> stream() {
+        return minecraftRegistry.keySet().stream().map(minecraftKey -> get(CraftNamespacedKey.fromMinecraft(minecraftKey)));
+    }
+
     @Override
     public Iterator<B> iterator() {
-        return values().iterator();
+        return stream().iterator();
     }
 
     public B createBukkit(NamespacedKey namespacedKey, M minecraft) {
@@ -104,8 +111,4 @@ public class CraftRegistry<B extends Keyed, M> implements Registry<B> {
 
         return minecraftToBukkit.apply(namespacedKey, minecraft);
     }
-
-    public Stream<B> values() {
-        return minecraftRegistry.keySet().stream().map(minecraftKey -> get(CraftNamespacedKey.fromMinecraft(minecraftKey)));
-    }
 }