src/main/java/viper/ConfigManager.java aktualisiert

This commit is contained in:
2025-08-09 09:52:00 +00:00
parent 82701d2cbe
commit c59c131bcc

View File

@@ -25,6 +25,8 @@ public class ConfigManager {
plugin.saveResource("config.yml", false);
}
config = YamlConfiguration.loadConfiguration(configFile);
// Setze Standardwerte, falls sie fehlen
setConfigDefaults();
}
private void loadLang() {
@@ -33,6 +35,100 @@ public class ConfigManager {
plugin.saveResource("lang.yml", false);
}
lang = YamlConfiguration.loadConfiguration(langFile);
// Setze Standardnachrichten, falls sie fehlen
setLangDefaults();
}
private void setConfigDefaults() {
if (!config.contains("max-doors")) {
config.set("max-doors", 20);
}
if (!config.contains("max-lamps")) {
config.set("max-lamps", 50);
}
if (!config.contains("max-noteblocks")) {
config.set("max-noteblocks", 10);
}
if (!config.contains("default-note")) {
config.set("default-note", "PIANO");
}
if (!config.contains("double-note-enabled")) {
config.set("double-note-enabled", true);
}
if (!config.contains("double-note-delay-ms")) {
config.set("double-note-delay-ms", 1000);
}
saveConfig();
}
private void setLangDefaults() {
// Standardnachrichten hinzufügen, ohne bestehende zu überschreiben
if (!lang.contains("tueren-geoeffnet")) {
lang.set("tueren-geoeffnet", "§aTüren wurden geöffnet.");
}
if (!lang.contains("tueren-geschlossen")) {
lang.set("tueren-geschlossen", "§cTüren wurden geschlossen.");
}
if (!lang.contains("lampen-eingeschaltet")) {
lang.set("lampen-eingeschaltet", "§aLampen wurden eingeschaltet.");
}
if (!lang.contains("lampen-ausgeschaltet")) {
lang.set("lampen-ausgeschaltet", "§cLampen wurden ausgeschaltet.");
}
if (!lang.contains("bloecke-umgeschaltet")) {
lang.set("bloecke-umgeschaltet", "§eBlöcke wurden umgeschaltet.");
}
if (!lang.contains("keine-bloecke-verbunden")) {
lang.set("keine-bloecke-verbunden", "§cKeine Blöcke sind verbunden.");
}
if (!lang.contains("max-tueren-erreicht")) {
lang.set("max-tueren-erreicht", "§cMaximale Anzahl an Türen erreicht.");
}
if (!lang.contains("max-lampen-erreicht")) {
lang.set("max-lampen-erreicht", "§cMaximale Anzahl an Lampen erreicht.");
}
if (!lang.contains("max-notenbloecke-erreicht")) {
lang.set("max-notenbloecke-erreicht", "§cMaximale Anzahl an Notenblöcken erreicht.");
}
if (!lang.contains("block-verbunden")) {
lang.set("block-verbunden", "§aBlock verbunden.");
}
if (!lang.contains("block-bereits-verbunden")) {
lang.set("block-bereits-verbunden", "§cBlock ist bereits verbunden.");
}
if (!lang.contains("controller-platziert")) {
lang.set("controller-platziert", "§aController platziert.");
}
if (!lang.contains("controller-entfernt")) {
lang.set("controller-entfernt", "§cController entfernt.");
}
if (!lang.contains("notenblock-ausgeloest")) {
lang.set("notenblock-ausgeloest", "§aNotenblock-Klingel wurde ausgelöst.");
}
if (!lang.contains("instrument-gesetzt")) {
lang.set("instrument-gesetzt", "§aDein Notenblock-Instrument wurde auf %s gesetzt.");
}
if (!lang.contains("ungueltiges-instrument")) {
lang.set("ungueltiges-instrument", "§cUngültiges Instrument! Verwende: /bc note <Instrument>");
}
if (!lang.contains("konfiguration-reloaded")) {
lang.set("konfiguration-reloaded", "§aKonfiguration und Daten erfolgreich neu geladen!");
}
if (!lang.contains("keine-berechtigung")) {
lang.set("keine-berechtigung", "§cDu hast keine Berechtigung für diesen Befehl!");
}
saveLang();
}
public void reloadConfig() {
config = YamlConfiguration.loadConfiguration(configFile);
lang = YamlConfiguration.loadConfiguration(langFile);
setConfigDefaults(); // Stelle sicher, dass neue Standardwerte hinzugefügt werden
setLangDefaults(); // Stelle sicher, dass neue Nachrichten hinzugefügt werden
}
public FileConfiguration getConfig() {
return config;
}
public int getMaxDoors() {
@@ -43,6 +139,10 @@ public class ConfigManager {
return config.getInt("max-lamps", 50);
}
public int getMaxNoteBlocks() {
return config.getInt("max-noteblocks", 10);
}
public String getMessage(String key) {
return lang.getString(key, "Nachricht nicht gefunden: " + key);
}