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:
Mcommon/src/main/kotlin/me/rhunk/snapenhance/common/config/ModConfig.kt | 7++++---
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) {