diff --git a/core/src/mindustry/io/JsonIO.java b/core/src/mindustry/io/JsonIO.java index 139be6c8c6..16059a3298 100644 --- a/core/src/mindustry/io/JsonIO.java +++ b/core/src/mindustry/io/JsonIO.java @@ -90,7 +90,7 @@ public class JsonIO{ @Override public Rules read(Json json, JsonValue jsonData, Class type){ - Rules out = new Rules(); + Rules out = baseObject instanceof Rules rules ? rules : new Rules(); json.readFields(out, jsonData); // Older Rules data doesn't have env mapping. @@ -354,8 +354,9 @@ public class JsonIO{ } } + private static Object baseObject; + static class CustomJson extends Json{ - private Object baseObject; { apply(this); } @@ -365,7 +366,7 @@ public class JsonIO{ } public T fromBaseJson(Class type, T base, String json){ - this.baseObject = base; + baseObject = base; return readValue(type, null, new JsonReader().parse(json)); }