Upload folder via GUI - src

This commit is contained in:
Git Manager GUI
2026-04-16 19:56:44 +02:00
parent a67e527c1d
commit 3dfbd33656
8 changed files with 152 additions and 10 deletions

View File

@@ -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.