Upload folder via GUI - src
This commit is contained in:
@@ -93,13 +93,8 @@ public class TicketPlugin extends JavaPlugin {
|
||||
}
|
||||
});
|
||||
|
||||
// Versionsprüfung der config.yml
|
||||
String configVersion = getConfig().getString("version", "");
|
||||
String expectedVersion = "2.5";
|
||||
if (!expectedVersion.equals(configVersion)) {
|
||||
getLogger().warning("[WARNUNG] config.yml-Version (" + configVersion
|
||||
+ ") stimmt nicht mit der erwarteten Version (" + expectedVersion + ") überein!");
|
||||
}
|
||||
// Versionsprüfung & automatische Migration der config.yml
|
||||
migrateConfig();
|
||||
|
||||
debug = getConfig().getBoolean("debug", false);
|
||||
|
||||
@@ -269,7 +264,50 @@ public class TicketPlugin extends JavaPlugin {
|
||||
};
|
||||
}
|
||||
|
||||
// ─────────────────────────── Getter ────────────────────────────────────
|
||||
// ─────────────────────────── Config-Migration ─────────────────────────
|
||||
|
||||
/**
|
||||
* Ergänzt fehlende Schlüssel in der config.yml automatisch aus der
|
||||
* Standardkonfiguration (config.yml im JAR) und aktualisiert die Version.
|
||||
* Bestehende Werte des Servers werden dabei NICHT überschrieben.
|
||||
*/
|
||||
private void migrateConfig() {
|
||||
final String EXPECTED = "2.5";
|
||||
String current = getConfig().getString("version", "");
|
||||
|
||||
if (EXPECTED.equals(current)) return; // nichts zu tun
|
||||
|
||||
getLogger().info("[Config] Alte Version erkannt (" + current + "). Starte automatische Migration auf " + EXPECTED + " ...");
|
||||
|
||||
// Alle Werte aus der Jar-Default-Config als Fallback setzen
|
||||
// (addDefault überschreibt KEINE bereits gesetzten Werte)
|
||||
org.bukkit.configuration.file.YamlConfiguration defaults =
|
||||
org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(
|
||||
new java.io.InputStreamReader(
|
||||
java.util.Objects.requireNonNull(getResource("config.yml")),
|
||||
java.nio.charset.StandardCharsets.UTF_8));
|
||||
|
||||
int added = 0;
|
||||
for (String key : defaults.getKeys(true)) {
|
||||
if (!getConfig().contains(key)) {
|
||||
getConfig().set(key, defaults.get(key));
|
||||
getLogger().info("[Config] Neuer Schlüssel ergänzt: " + key);
|
||||
added++;
|
||||
}
|
||||
}
|
||||
|
||||
// Version hochsetzen
|
||||
getConfig().set("version", EXPECTED);
|
||||
saveConfig();
|
||||
|
||||
if (added > 0) {
|
||||
getLogger().info("[Config] Migration abgeschlossen: " + added + " neue Schlüssel ergänzt, Version → " + EXPECTED);
|
||||
} else {
|
||||
getLogger().info("[Config] Migration abgeschlossen: Keine neuen Schlüssel. Version → " + EXPECTED);
|
||||
}
|
||||
}
|
||||
|
||||
// ─────────────────────────── Getter ────────────────────────────────────
|
||||
|
||||
/**
|
||||
* Aktualisiert serverName und debug-Flag aus der (bereits neu geladenen) Config.
|
||||
|
||||
Reference in New Issue
Block a user