From 558b120e2d4924a84860c3f84415ab573040a293 Mon Sep 17 00:00:00 2001 From: isXander Date: Sat, 12 Nov 2022 11:05:16 +0000 Subject: REAL config library --- .../isxander/yacl/config/YACLConfigManager.java | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/main/java/dev/isxander/yacl/config/YACLConfigManager.java (limited to 'src/main/java/dev/isxander/yacl/config/YACLConfigManager.java') diff --git a/src/main/java/dev/isxander/yacl/config/YACLConfigManager.java b/src/main/java/dev/isxander/yacl/config/YACLConfigManager.java new file mode 100644 index 0000000..d91f3f6 --- /dev/null +++ b/src/main/java/dev/isxander/yacl/config/YACLConfigManager.java @@ -0,0 +1,26 @@ +package dev.isxander.yacl.config; + +import java.util.HashMap; +import java.util.Map; + +@SuppressWarnings("unchecked") +public class YACLConfigManager { + private static final Map, ConfigInstance> configs = new HashMap<>(); + + public static void register(ConfigInstance configInstance) { + configs.put(configInstance.getConfigClass(), configInstance); + configInstance.load(); + } + + public static T getConfigData(Class configClass) { + return ((ConfigInstance) configs.get(configClass)).getConfig(); + } + + public static ConfigInstance getConfigInstance(Class configClass) { + return (ConfigInstance) configs.get(configClass); + } + + public static > I getConfigInstanceType(Class configClass) { + return (I) configs.get(configClass); + } +} -- cgit