1
0
Fork 0

Handle config defaults less poorly

This commit is contained in:
Ryan Fox 2020-08-17 00:14:07 +00:00
parent 93f546a5ce
commit 48bc060e5c
Signed by: flewkey
GPG Key ID: 94F56ADFD848851E
1 changed files with 16 additions and 3 deletions

View File

@ -32,10 +32,13 @@ public class Config {
String jsonRaw = IOUtils.toString(is, "UTF-8");
json = new JSONObject(jsonRaw);
} else {
LOGGER.info("Config not found, creating one");
json = new JSONObject("{\"disableTntExplosions\":false,\"disableRespawnAnchorExplosions\":false,\"spawn\":[0,0,0,0,0,\"\"],\"members\":[]}");
saveConfig();
json = new JSONObject();
}
setDefault("disableTntExplosions", false);
setDefault("disableRespawnAnchorExplosions", false);
setDefault("spawn", (new PlayerPosition()).getJSON());
LOGGER.info("Configuration loaded");
}
@ -86,6 +89,16 @@ public class Config {
saveConfig();
}
public static void setDefault(String key, JSONArray data) {
if (!json.has(key))
json.put(key, data);
}
public static void setDefault(String key, Boolean data) {
if (!json.has(key))
json.put(key, data);
}
private static void saveConfig() {
try (FileWriter file = new FileWriter(config)) {
file.write(json.toString(2));