commit a106334713ab7d6f4c0e3a844c0b4f88f9781066
parent 673b86618d25d8d0664647a3fd1aa475e462468d
Author: rhunk <101876869+rhunk@users.noreply.github.com>
Date: Sat, 11 Nov 2023 00:46:37 +0100
fix(common/config): change listener sync
Diffstat:
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/common/src/main/kotlin/me/rhunk/snapenhance/common/config/ModConfig.kt b/common/src/main/kotlin/me/rhunk/snapenhance/common/config/ModConfig.kt
@@ -97,10 +97,13 @@ class ModConfig(
}
}
+ val oldConfig = runCatching { file.read().toString(Charsets.UTF_8) }.getOrNull()
+ file.write(exportToString().toByteArray(Charsets.UTF_8))
+
configStateListener?.also {
runCatching {
compareDiff(createRootConfig().apply {
- fromJson(gson.fromJson(file.read().toString(Charsets.UTF_8), JsonObject::class.java))
+ fromJson(gson.fromJson(oldConfig ?: return@runCatching, JsonObject::class.java))
}, root)
if (configChanged) {
@@ -112,8 +115,6 @@ class ModConfig(
AbstractLogger.directError("Error while calling config state listener", it, "ConfigStateListener")
}
}
-
- file.write(exportToString().toByteArray(Charsets.UTF_8))
}
fun loadFromString(string: String) {