From e3207607f3cfd882cba847a1903f0da931d8f056 Mon Sep 17 00:00:00 2001 From: Zpiboo Date: Wed, 18 Mar 2026 10:32:42 +0100 Subject: [PATCH 1/2] fix(timing): fix mark timing not showing if you ran 1 tick and disallowing WDWA --- common/src/main/resources/assets/mpkmod/strats/strats.json | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) 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 From c2875bc8e1ece9dad1259f8ef3aea40ab0118017 Mon Sep 17 00:00:00 2001 From: Zpiboo Date: Fri, 20 Mar 2026 18:11:41 +0100 Subject: [PATCH 2/2] fix(json): add class parameter to serialize methods - Add class parameter to Serializer::serialize and Serializer::serializeAsString - Use Component[] as an intermediate in LabelConfiguration for proper (de)serialization --- .../gui/screens/main_gui/LabelConfiguration.java | 10 +++++++--- .../mpkmod/gui/screens/options_gui/Option.java | 2 +- .../io/github/kurrycat/mpkmod/save/Serializer.java | 10 ++++++---- 3 files changed, 14 insertions(+), 8 deletions(-) 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;