aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/client/ConfigManager.java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-03-14 19:22:18 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-03-14 19:22:18 +0800
commitd0f4d495957d2454bdf43a64d31a21f06849e677 (patch)
treeb1ae87962790074f91e1ade3be8e7eb331a45b30 /src/main/java/me/shedaniel/rei/client/ConfigManager.java
parent72144a3911b69f25a2ab0e45acdd5d9edabeda80 (diff)
downloadRoughlyEnoughItems-d0f4d495957d2454bdf43a64d31a21f06849e677.tar.gz
RoughlyEnoughItems-d0f4d495957d2454bdf43a64d31a21f06849e677.tar.bz2
RoughlyEnoughItems-d0f4d495957d2454bdf43a64d31a21f06849e677.zip
Using Cloth as a hard dependency now
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/ConfigManager.java')
-rw-r--r--src/main/java/me/shedaniel/rei/client/ConfigManager.java32
1 files changed, 21 insertions, 11 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/ConfigManager.java b/src/main/java/me/shedaniel/rei/client/ConfigManager.java
index c05442b41..8973e5865 100644
--- a/src/main/java/me/shedaniel/rei/client/ConfigManager.java
+++ b/src/main/java/me/shedaniel/rei/client/ConfigManager.java
@@ -17,17 +17,18 @@ public class ConfigManager implements me.shedaniel.rei.api.ConfigManager {
private static final Gson GSON = new GsonBuilder().create();
private static final Jankson JANKSON = Jankson.builder().build();
- private final File configFile, oldConfigFile;
+ private final File configFile, veryOldConfigFile, oldConfigFile;
private ConfigObject config;
private boolean craftableOnly;
public ConfigManager() {
- this.oldConfigFile = new File(FabricLoader.getInstance().getConfigDirectory(), "rei.json");
- this.configFile = new File(FabricLoader.getInstance().getConfigDirectory(), "roughlyenoughitems/config.json");
+ this.veryOldConfigFile = new File(FabricLoader.getInstance().getConfigDirectory(), "rei.json");
+ this.oldConfigFile = new File(FabricLoader.getInstance().getConfigDirectory(), "roughlyenoughitems/config.json");
+ this.configFile = new File(FabricLoader.getInstance().getConfigDirectory(), "roughlyenoughitems/config.json5");
this.craftableOnly = false;
try {
loadConfig();
- RoughlyEnoughItemsCore.LOGGER.info("REI: Config is loaded.");
+ RoughlyEnoughItemsCore.LOGGER.info("[REI] Config is loaded.");
} catch (IOException e) {
e.printStackTrace();
}
@@ -37,7 +38,7 @@ public class ConfigManager implements me.shedaniel.rei.api.ConfigManager {
public void saveConfig() throws IOException {
configFile.getParentFile().mkdirs();
if (!configFile.exists() && !configFile.createNewFile()) {
- RoughlyEnoughItemsCore.LOGGER.error("REI: Failed to save config! Overwriting with default config.");
+ RoughlyEnoughItemsCore.LOGGER.error("[REI] Failed to save config! Overwriting with default config.");
config = new ConfigObject();
return;
}
@@ -52,7 +53,7 @@ public class ConfigManager implements me.shedaniel.rei.api.ConfigManager {
out.close();
} catch (Exception e) {
e.printStackTrace();
- RoughlyEnoughItemsCore.LOGGER.error("REI: Failed to save config! Overwriting with default config.");
+ RoughlyEnoughItemsCore.LOGGER.error("[REI] Failed to save config! Overwriting with default config.");
config = new ConfigObject();
return;
}
@@ -61,17 +62,26 @@ public class ConfigManager implements me.shedaniel.rei.api.ConfigManager {
@Override
public void loadConfig() throws IOException {
configFile.getParentFile().mkdirs();
+ if (!configFile.exists() && veryOldConfigFile.exists()) {
+ RoughlyEnoughItemsCore.LOGGER.info("[REI] Detected old config file, trying to move it.");
+ try {
+ Files.move(veryOldConfigFile.toPath(), configFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
+ } catch (Exception e) {
+ e.printStackTrace();
+ RoughlyEnoughItemsCore.LOGGER.error("[REI] Failed to move config file.");
+ }
+ }
if (!configFile.exists() && oldConfigFile.exists()) {
- RoughlyEnoughItemsCore.LOGGER.info("REI: Detected old config file, trying to move it.");
+ RoughlyEnoughItemsCore.LOGGER.info("[REI] Detected old config file, trying to move it.");
try {
Files.move(oldConfigFile.toPath(), configFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
} catch (Exception e) {
e.printStackTrace();
- RoughlyEnoughItemsCore.LOGGER.error("REI: Failed to move config file.");
+ RoughlyEnoughItemsCore.LOGGER.error("[REI] Failed to move config file.");
}
}
if (!configFile.exists() || !configFile.canRead()) {
- RoughlyEnoughItemsCore.LOGGER.warn("REI: Config not found! Creating one.");
+ RoughlyEnoughItemsCore.LOGGER.warn("[REI] Config not found! Creating one.");
config = new ConfigObject();
saveConfig();
return;
@@ -80,14 +90,14 @@ public class ConfigManager implements me.shedaniel.rei.api.ConfigManager {
try {
JsonObject configJson = JANKSON.load(configFile);
String regularized = configJson.toJson(false, false, 0);
-
+
config = GSON.fromJson(regularized, ConfigObject.class);
} catch (Exception e) {
e.printStackTrace();
failed = true;
}
if (failed || config == null) {
- RoughlyEnoughItemsCore.LOGGER.error("REI: Failed to load config! Overwriting with default config.");
+ RoughlyEnoughItemsCore.LOGGER.error("[REI] Failed to load config! Overwriting with default config.");
config = new ConfigObject();
}
saveConfig();