fix: config check and restore

This commit is contained in:
Reider745
2026-04-19 11:00:25 +03:00
parent 97d49c526f
commit 5fd5681916
@@ -215,25 +215,19 @@ public class Config {
cur = new JSONObject();
}
JSONArray names = json.names();
int len = names.length();
for (int i = 0; i < len; i++) {
String key = names.optString(i);
if (key != null) {
Object defVal = json.opt(key);
Object curVal = cur.opt(key);
if (defVal != null) {
if (defVal instanceof JSONObject) {
cur.put(key, checkAndRestoreRecursive((JSONObject) defVal, cur.optJSONObject(key)));
} else {
if (curVal != null) {
if (curVal.getClass() != defVal.getClass()) {
cur.put(key, defVal);
}
} else {
for(String key : json.keySet()) {
Object defVal = json.opt(key);
Object curVal = cur.opt(key);
if (defVal != null) {
if (defVal instanceof JSONObject) {
cur.put(key, checkAndRestoreRecursive((JSONObject) defVal, cur.optJSONObject(key)));
} else {
if (curVal != null) {
if (curVal.getClass() != defVal.getClass()) {
cur.put(key, defVal);
}
} else {
cur.put(key, defVal);
}
}
}