Upload via Git Manager GUI - ModuleManager.java

This commit is contained in:
2026-04-01 10:14:42 +00:00
parent 80362ef8e4
commit ee8b845c03

View File

@@ -1,60 +1,60 @@
package net.viper.status.module; package net.viper.status.module;
import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.api.plugin.Plugin;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
* Verwaltet alle geladenen Module. * Verwaltet alle geladenen Module.
*/ */
public class ModuleManager { public class ModuleManager {
private final Map<String, Module> modules = new HashMap<>(); private final Map<String, Module> modules = new HashMap<>();
public void registerModule(Module module) { public void registerModule(Module module) {
modules.put(module.getName().toLowerCase(), module); modules.put(module.getName().toLowerCase(), module);
} }
public void enableAll(Plugin plugin) { public void enableAll(Plugin plugin) {
for (Module module : modules.values()) { for (Module module : modules.values()) {
try { try {
plugin.getLogger().info("Aktiviere Modul: " + module.getName() + "..."); plugin.getLogger().info("Aktiviere Modul: " + module.getName() + "...");
module.onEnable(plugin); module.onEnable(plugin);
} catch (Exception e) { } catch (Exception e) {
plugin.getLogger().severe("Fehler beim Aktivieren von Modul " + module.getName() + ": " + e.getMessage()); plugin.getLogger().severe("Fehler beim Aktivieren von Modul " + module.getName() + ": " + e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
} }
} }
public void disableAll(Plugin plugin) { public void disableAll(Plugin plugin) {
for (Module module : modules.values()) { for (Module module : modules.values()) {
try { try {
plugin.getLogger().info("Deaktiviere Modul: " + module.getName() + "..."); plugin.getLogger().info("Deaktiviere Modul: " + module.getName() + "...");
module.onDisable(plugin); module.onDisable(plugin);
} catch (Exception e) { } catch (Exception e) {
plugin.getLogger().warning("Fehler beim Deaktivieren von Modul " + module.getName()); plugin.getLogger().warning("Fehler beim Deaktivieren von Modul " + module.getName());
} }
} }
modules.clear(); modules.clear();
} }
/** /**
* Ermöglicht anderen Komponenten (wie dem WebServer) Zugriff auf spezifische Module. * Ermöglicht anderen Komponenten (wie dem WebServer) Zugriff auf spezifische Module.
*/ */
public Module getModule(String name) { public Module getModule(String name) {
return modules.get(name.toLowerCase()); return modules.get(name.toLowerCase());
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public <T extends Module> T getModule(Class<T> clazz) { public <T extends Module> T getModule(Class<T> clazz) {
for (Module m : modules.values()) { for (Module m : modules.values()) {
if (clazz.isInstance(m)) { if (clazz.isInstance(m)) {
return (T) m; return (T) m;
} }
} }
return null; return null;
} }
} }