diff --git a/src/main/java/net/viper/status/module/ModuleManager.java b/src/main/java/net/viper/status/module/ModuleManager.java deleted file mode 100644 index 34620e7..0000000 --- a/src/main/java/net/viper/status/module/ModuleManager.java +++ /dev/null @@ -1,59 +0,0 @@ -package net.viper.status.module; - -import net.md_5.bungee.api.plugin.Plugin; - -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * Verwaltet alle geladenen Module. - * Verwendet LinkedHashMap um die Registrierungsreihenfolge zu erhalten, - * damit Abhängigkeiten (z.B. VanishModule → ChatModule) korrekt aufgelöst werden. - */ -public class ModuleManager { - - private final Map modules = new LinkedHashMap<>(); - - public void registerModule(Module module) { - modules.put(module.getName().toLowerCase(), module); - } - - public void enableAll(Plugin plugin) { - for (Module module : modules.values()) { - try { - module.onEnable(plugin); - } catch (Exception e) { - plugin.getLogger().severe("Fehler beim Aktivieren von Modul " + module.getName() + ": " + e.getMessage()); - e.printStackTrace(); - } - } - } - - public void disableAll(Plugin plugin) { - for (Module module : modules.values()) { - try { - module.onDisable(plugin); - } catch (Exception e) { - plugin.getLogger().warning("Fehler beim Deaktivieren von Modul " + module.getName()); - } - } - modules.clear(); - } - - /** - * Ermöglicht anderen Komponenten (wie dem WebServer) Zugriff auf spezifische Module. - */ - public Module getModule(String name) { - return modules.get(name.toLowerCase()); - } - - @SuppressWarnings("unchecked") - public T getModule(Class clazz) { - for (Module m : modules.values()) { - if (clazz.isInstance(m)) { - return (T) m; - } - } - return null; - } -}