#1245: Add a stream method to Registry to make it easier to use and to avoid unnecessary wrapping

This commit is contained in:
DerFrZocker 2023-09-06 20:56:26 +10:00 committed by md_5
parent de421cf56b
commit caee2311a4
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11

View File

@ -25,6 +25,7 @@ import org.bukkit.generator.structure.Structure;
import org.bukkit.generator.structure.StructureType; import org.bukkit.generator.structure.StructureType;
import org.bukkit.inventory.meta.trim.TrimMaterial; import org.bukkit.inventory.meta.trim.TrimMaterial;
import org.bukkit.inventory.meta.trim.TrimPattern; import org.bukkit.inventory.meta.trim.TrimPattern;
import org.jetbrains.annotations.NotNull;
public class CraftRegistry<B extends Keyed, M> implements Registry<B> { 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; return bukkit;
} }
@NotNull
@Override
public Stream<B> stream() {
return minecraftRegistry.keySet().stream().map(minecraftKey -> get(CraftNamespacedKey.fromMinecraft(minecraftKey)));
}
@Override @Override
public Iterator<B> iterator() { public Iterator<B> iterator() {
return values().iterator(); return stream().iterator();
} }
public B createBukkit(NamespacedKey namespacedKey, M minecraft) { 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); return minecraftToBukkit.apply(namespacedKey, minecraft);
} }
public Stream<B> values() {
return minecraftRegistry.keySet().stream().map(minecraftKey -> get(CraftNamespacedKey.fromMinecraft(minecraftKey)));
}
} }