diff options
Diffstat (limited to 'src/main/kotlin/com/examplemod/config/PersistentData.kt')
-rw-r--r-- | src/main/kotlin/com/examplemod/config/PersistentData.kt | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/main/kotlin/com/examplemod/config/PersistentData.kt b/src/main/kotlin/com/examplemod/config/PersistentData.kt deleted file mode 100644 index 58e0ac0..0000000 --- a/src/main/kotlin/com/examplemod/config/PersistentData.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.examplemod.config - -import kotlinx.serialization.Serializable -import kotlinx.serialization.Transient -import kotlinx.serialization.json.Json -import java.io.File -import kotlinx.serialization.encodeToString -import kotlinx.serialization.decodeFromString - -@Serializable -data class PersistentData( - var exampleData: Map<String, String> = mapOf("key1" to "entry1"), - var moreExampleData: Int = 5 -) { - - fun save() { - configFile.writeText(Json.encodeToString(this)) - } - - companion object { - private val configFile: File = File(ExampleMod.configDirectory,"data.json") - - fun load(): PersistentData { - val data = if (!configFile.exists()) { - configFile.createNewFile() - PersistentData() - } else configFile.runCatching { - Json.decodeFromString<PersistentData>(this.readText()) - }.getOrNull() ?: PersistentData() - return data.apply { - this.save() - } - } - } -}
\ No newline at end of file |