From 3c4599423ded3c0488f1c2c1aed50940d84f9c49 Mon Sep 17 00:00:00 2001 From: cyberpwn Date: Thu, 9 Sep 2021 08:28:12 -0400 Subject: [PATCH] Registry fixes --- .../iris/util/plugin/PluginRegistry.java | 16 ++++++++++++ .../iris/util/plugin/PluginRegistryGroup.java | 26 +++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/src/main/java/com/volmit/iris/util/plugin/PluginRegistry.java b/src/main/java/com/volmit/iris/util/plugin/PluginRegistry.java index b8f0e0274..ab4f95427 100644 --- a/src/main/java/com/volmit/iris/util/plugin/PluginRegistry.java +++ b/src/main/java/com/volmit/iris/util/plugin/PluginRegistry.java @@ -62,4 +62,20 @@ public class PluginRegistry { { registry.remove(s); } + + public T resolve(String id) { + if(registry.isEmpty()) + { + return null; + } + + Supplier m = registry.get(id); + + if(m == null) + { + return null; + } + + return m.get(); + } } diff --git a/src/main/java/com/volmit/iris/util/plugin/PluginRegistryGroup.java b/src/main/java/com/volmit/iris/util/plugin/PluginRegistryGroup.java index d521adaaa..22bed2aa0 100644 --- a/src/main/java/com/volmit/iris/util/plugin/PluginRegistryGroup.java +++ b/src/main/java/com/volmit/iris/util/plugin/PluginRegistryGroup.java @@ -18,11 +18,29 @@ package com.volmit.iris.util.plugin; +import com.volmit.iris.util.collection.KList; import com.volmit.iris.util.collection.KMap; +import org.bukkit.Material; public class PluginRegistryGroup { private final KMap> registries = new KMap<>(); + public T resolve(String namespace, String id) + { + if(registries.isEmpty()) + { + return null; + } + + PluginRegistry r = registries.get(namespace); + if(r == null) + { + return null; + } + + return r.resolve(id); + } + public void clearRegistries() { registries.clear(); @@ -37,4 +55,12 @@ public class PluginRegistryGroup { { return registries.computeIfAbsent(namespace, PluginRegistry::new); } + + public KList compile() { + KList l = new KList<>(); + registries.values().forEach((i) + -> i.getRegistries().forEach((j) + -> l.add(i.getNamespace() + ":" + j))); + return l; + } }