aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java')
-rw-r--r--src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java26
1 files changed, 15 insertions, 11 deletions
diff --git a/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java b/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java
index 915710f7..97261c76 100644
--- a/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java
+++ b/src/main/java/de/hysky/skyblocker/config/datafixer/ConfigDataFixer.java
@@ -10,6 +10,7 @@ import com.mojang.logging.LogUtils;
import com.mojang.serialization.Dynamic;
import com.mojang.serialization.JsonOps;
import de.hysky.skyblocker.SkyblockerMod;
+import de.hysky.skyblocker.config.SkyblockerConfigManager;
import de.hysky.skyblocker.utils.datafixer.JsonHelper;
import net.fabricmc.loader.api.FabricLoader;
import org.slf4j.Logger;
@@ -23,7 +24,6 @@ public class ConfigDataFixer {
protected static final Logger LOGGER = LogUtils.getLogger();
private static final Path CONFIG_DIR = FabricLoader.getInstance().getConfigDir();
public static final DSL.TypeReference CONFIG_TYPE = () -> "config";
- public static final int VERSION = 2;
public static void apply() {
apply(CONFIG_DIR.resolve("skyblocker.json"), CONFIG_DIR.resolve("skyblocker.json.old"));
@@ -35,7 +35,7 @@ public class ConfigDataFixer {
//Should never be null if the file exists unless its malformed JSON or something in which case well it gets reset
JsonObject oldConfig = loadConfig(configDir);
- if (oldConfig == null || JsonHelper.getInt(oldConfig, "version").orElse(1) == VERSION) return;
+ if (oldConfig == null || JsonHelper.getInt(oldConfig, "version").orElse(1) == SkyblockerConfigManager.CONFIG_VERSION) return;
JsonObject newConfig = apply(oldConfig);
@@ -47,21 +47,25 @@ public class ConfigDataFixer {
}
public static JsonObject apply(JsonObject oldConfig) {
- DataFixerBuilder builder = new DataFixerBuilder(VERSION);
- builder.addSchema(1, ConfigSchema::new);
- Schema schema2 = builder.addSchema(2, Schema::new);
- builder.addFixer(new ConfigFix1(schema2, true));
- DataFixer dataFixer = builder.buildUnoptimized();
+ long start = System.currentTimeMillis();
- long start = System.currentTimeMillis();
-
- JsonObject newConfig = dataFixer.update(CONFIG_TYPE, new Dynamic<>(JsonOps.INSTANCE, oldConfig), JsonHelper.getInt(oldConfig, "version").orElse(1), VERSION).getValue().getAsJsonObject();
+ JsonObject newConfig = build().update(CONFIG_TYPE, new Dynamic<>(JsonOps.INSTANCE, oldConfig), JsonHelper.getInt(oldConfig, "version").orElse(1), SkyblockerConfigManager.CONFIG_VERSION).getValue().getAsJsonObject();
long end = System.currentTimeMillis();
- LOGGER.info("[Skyblocker Config Data Fixer] Applied datafixers in {} ms!", (end - start));
+ LOGGER.info("[Skyblocker Config Data Fixer] Applied datafixers in {} ms!", end - start);
return newConfig;
}
+ private static DataFixer build() {
+ DataFixerBuilder builder = new DataFixerBuilder(SkyblockerConfigManager.CONFIG_VERSION);
+
+ builder.addSchema(1, ConfigSchema::new);
+ Schema schema2 = builder.addSchema(2, Schema::new);
+ builder.addFixer(new ConfigFix1(schema2, true));
+
+ return builder.buildUnoptimized();
+ }
+
private static JsonObject loadConfig(Path path) {
try (BufferedReader reader = Files.newBufferedReader(path)) {
return JsonParser.parseReader(reader).getAsJsonObject();