diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/main_gui/LabelConfiguration.java b/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/main_gui/LabelConfiguration.java index 6983b938..5cf9ce0f 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/main_gui/LabelConfiguration.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/main_gui/LabelConfiguration.java @@ -81,7 +81,7 @@ public static LabelConfiguration fromFile(File file) { public LabelConfiguration copy() { if (components.isEmpty()) return new LabelConfiguration(); - String components = Serializer.serializeAsString(this.components); + String components = Serializer.serializeAsString(getComponentArray(), Component[].class); Component[] copy = Serializer.deserializeString(components, Component[].class); if (copy == null) return new LabelConfiguration(); @@ -120,7 +120,7 @@ public boolean save(String name) { File file = new File(savedConfigsFolderName + name + ".json"); try { if (!file.createNewFile()) return false; - Serializer.serialize(file, components); + Serializer.serialize(file, getComponentArray(), Component[].class); savedConfigs.put(name, copy()); return true; } catch (IOException e) { @@ -129,7 +129,11 @@ public boolean save(String name) { } public void saveInCustom() { - Serializer.serialize(customConfigurationFile, components); + Serializer.serialize(customConfigurationFile, getComponentArray(), Component[].class); + } + + private Component[] getComponentArray() { + return components.toArray(new Component[0]); } @Override diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/options_gui/Option.java b/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/options_gui/Option.java index dbbe0d75..c5351313 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/options_gui/Option.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/gui/screens/options_gui/Option.java @@ -216,7 +216,7 @@ public static void saveOptionMapToJSON() { for (String key : API.optionsMap.keySet()) { options.put(key, API.optionsMap.get(key).getValue()); } - Serializer.serialize(JSONConfig.optionsFile, options); + Serializer.serialize(JSONConfig.optionsFile, options, HashMap.class); } public String getDisplayName() { diff --git a/common/src/main/java/io/github/kurrycat/mpkmod/save/Serializer.java b/common/src/main/java/io/github/kurrycat/mpkmod/save/Serializer.java index 046c68fd..7574097c 100644 --- a/common/src/main/java/io/github/kurrycat/mpkmod/save/Serializer.java +++ b/common/src/main/java/io/github/kurrycat/mpkmod/save/Serializer.java @@ -41,17 +41,19 @@ public static void registerSerializer() { mapper.configure(DeserializationFeature.FAIL_ON_MISSING_CREATOR_PROPERTIES, false); } - public static void serialize(File configFile, T value) { + public static void serialize(File configFile, T value, Class c) { try { - mapper.writeValue(configFile, value); + mapper.writerFor(c) + .writeValue(configFile, value); } catch (Exception e) { e.printStackTrace(); } } - public static String serializeAsString(Object value) { + public static String serializeAsString(T value, Class c) { try { - return mapper.writeValueAsString(value); + return mapper.writerFor(c) + .writeValueAsString(value); } catch (Exception e) { e.printStackTrace(); return null; diff --git a/common/src/main/resources/assets/mpkmod/strats/strats.json b/common/src/main/resources/assets/mpkmod/strats/strats.json index 88ff2946..9e6709a5 100644 --- a/common/src/main/resources/assets/mpkmod/strats/strats.json +++ b/common/src/main/resources/assets/mpkmod/strats/strats.json @@ -229,8 +229,7 @@ }, "markrun": { "format": { - "default": "{a}t Mark", - "r!=1": " Run {r}t" + "default": "{a}t Mark Run {r}t" }, "timingEntries": [{ "var": "a", @@ -252,7 +251,7 @@ "inputs": "WD", "groundState": "GROUNDED" }, { - "inputs": "Wd", + "inputs": "Wad", "groundState": "JUMPING" }], "symmetrical": true