From b2c279feeb8e8b15a2f61ce811fad119f8adae62 Mon Sep 17 00:00:00 2001 From: bigguy345 Date: Fri, 27 Mar 2026 00:01:33 +0200 Subject: [PATCH] Extra registry methods --- src/main/java/kamkeel/npcs/util/Register.java | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/main/java/kamkeel/npcs/util/Register.java b/src/main/java/kamkeel/npcs/util/Register.java index 793fe7e98..d1e23ad63 100644 --- a/src/main/java/kamkeel/npcs/util/Register.java +++ b/src/main/java/kamkeel/npcs/util/Register.java @@ -26,7 +26,7 @@ public class Register { protected final String namespace; protected final Map> entries = new LinkedHashMap<>(); - protected Register(String registryKey, String namespace) { + public Register(String registryKey, String namespace) { this.registryKey = registryKey; this.namespace = namespace; } @@ -36,6 +36,31 @@ public class Register { return factory.get(); } + public Map> getEntries() { + return entries; + } + + public void forEach(Consumer action) { + entries.values().forEach(s -> action.accept(s.get())); + } + + public static Register create(String registryKey, String namespace, String displayName) { + registerNamespace(registryKey, namespace, displayName); + return new Register<>(registryKey, namespace); + } + + public static void registerNamespace(String registryKey, String namespace, String displayName) { + if (!REGISTERED_NAMESPACES.containsKey(registryKey)) + REGISTERED_NAMESPACES.put(registryKey, new ArrayList<>()); + + if (REGISTERED_NAMESPACES.get(registryKey).contains(namespace)) { + LogWriter.error("REGISTER: Namespace " + namespace + " already registered for registry " + registryKey + "!"); + } + + REGISTERED_NAMESPACES.get(registryKey).add(namespace); + NAMESPACE_DISPLAY_NAMES.put(namespace, displayName); + } + public static boolean isEmpty(String registryKey) { if (REGISTERED_NAMESPACES.isEmpty()) return true;