aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-01 11:28:23 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-04-01 11:28:23 +0200
commit16d4eef2a6938b1a9242005cde5e11b170486649 (patch)
tree27182c6d80e8eaa7166544fd63768970b5b98c5a /src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt
parent07a16dae17b80b0e489c812d80f6e92745db80ac (diff)
downloadskyhanni-16d4eef2a6938b1a9242005cde5e11b170486649.tar.gz
skyhanni-16d4eef2a6938b1a9242005cde5e11b170486649.tar.bz2
skyhanni-16d4eef2a6938b1a9242005cde5e11b170486649.zip
Fixed config resets
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt33
1 files changed, 28 insertions, 5 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt b/src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt
index 75e31ab2a..dd10d8482 100644
--- a/src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt
+++ b/src/main/java/at/hannibal2/skyhanni/config/ConfigManager.kt
@@ -2,6 +2,7 @@ package at.hannibal2.skyhanni.config
import at.hannibal2.skyhanni.SkyHanniMod
import at.hannibal2.skyhanni.events.ConfigLoadEvent
+import at.hannibal2.skyhanni.features.garden.CropType
import com.google.gson.GsonBuilder
import io.github.moulberry.moulconfig.observer.PropertyTypeAdapterFactory
import io.github.moulberry.moulconfig.processor.BuiltinMoulConfigGuis
@@ -36,14 +37,24 @@ class ConfigManager {
if (configFile!!.exists()) {
try {
- BufferedReader(InputStreamReader(FileInputStream(configFile!!), StandardCharsets.UTF_8)).use { reader ->
- SkyHanniMod.feature = gson.fromJson(
- reader,
- Features::class.java
- )
+ val inputStreamReader = InputStreamReader(FileInputStream(configFile!!), StandardCharsets.UTF_8)
+ val bufferedReader = BufferedReader(inputStreamReader)
+ val builder = StringBuilder()
+ for (line in bufferedReader.lines()) {
+ val result = fixConfig(line)
+ builder.append(result)
+ builder.append("\n")
}
+
+
+ SkyHanniMod.feature = gson.fromJson(
+ builder.toString(),
+ Features::class.java
+ )
logger.info("Loaded config from file")
} catch (e: Exception) {
+ println("config error")
+ e.printStackTrace()
val backupFile = configFile!!.resolveSibling("config-${System.currentTimeMillis()}-backup.json")
logger.error(
"Exception while reading $configFile. Will load blank config and save backup to $backupFile",
@@ -75,6 +86,18 @@ class ConfigManager {
)
}
+ private fun fixConfig(line: String): String {
+ var result = line
+ for (type in CropType.values()) {
+ val normal = "\"${type.cropName}\""
+ val enumName = "\"${type.name}\""
+ while (result.contains(normal)) {
+ result = result.replace(normal, enumName)
+ }
+ }
+ return result
+ }
+
fun saveConfig() {
try {
logger.info("Saving config file")