Upload folder via GUI - src

This commit is contained in:
Git Manager GUI
2026-04-13 10:00:00 +02:00
parent cfc9773ca6
commit 70d264f9bf
24 changed files with 4430 additions and 4385 deletions

View File

@@ -1,60 +1,59 @@
package net.viper.status.module;
import net.md_5.bungee.api.plugin.Plugin;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
/**
* Verwaltet alle geladenen Module.
*/
public class ModuleManager {
private final Map<String, Module> modules = new HashMap<>();
public void registerModule(Module module) {
modules.put(module.getName().toLowerCase(), module);
}
public void enableAll(Plugin plugin) {
for (Module module : modules.values()) {
try {
plugin.getLogger().info("Aktiviere Modul: " + module.getName() + "...");
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 {
plugin.getLogger().info("Deaktiviere Modul: " + module.getName() + "...");
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 extends Module> T getModule(Class<T> clazz) {
for (Module m : modules.values()) {
if (clazz.isInstance(m)) {
return (T) m;
}
}
return null;
}
}
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<String, Module> 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 extends Module> T getModule(Class<T> clazz) {
for (Module m : modules.values()) {
if (clazz.isInstance(m)) {
return (T) m;
}
}
return null;
}
}