diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-09-14 19:46:52 +0200 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-09-14 19:46:52 +0200 |
| commit | 0a96dd618acba15269627c7eae8a2291fb2dc84a (patch) | |
| tree | f31a66cbd13cefbfb2d006f07d3ef3da1010f7e7 /src/main/kotlin/gui/config | |
| parent | 9abe9f46f04f188037687adb2740b32220ad21b2 (diff) | |
| download | Firmament-0a96dd618acba15269627c7eae8a2291fb2dc84a.tar.gz Firmament-0a96dd618acba15269627c7eae8a2291fb2dc84a.tar.bz2 Firmament-0a96dd618acba15269627c7eae8a2291fb2dc84a.zip | |
snapshot
Diffstat (limited to 'src/main/kotlin/gui/config')
| -rw-r--r-- | src/main/kotlin/gui/config/AllConfigsGui.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/ChoiceHandler.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/DurationHandler.kt | 3 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/HudMetaHandler.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/IntegerHandler.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/KeyBindingHandler.kt | 8 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/ManagedOption.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/StringHandler.kt | 2 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/storage/ConfigLoadContext.kt | 16 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/storage/FirmamentConfigLoader.kt | 4 | ||||
| -rw-r--r-- | src/main/kotlin/gui/config/storage/LegacyImporter.kt | 3 |
11 files changed, 24 insertions, 22 deletions
diff --git a/src/main/kotlin/gui/config/AllConfigsGui.kt b/src/main/kotlin/gui/config/AllConfigsGui.kt index 0add10f..345269d 100644 --- a/src/main/kotlin/gui/config/AllConfigsGui.kt +++ b/src/main/kotlin/gui/config/AllConfigsGui.kt @@ -10,11 +10,11 @@ import moe.nea.firmament.commands.get import moe.nea.firmament.commands.thenArgument import moe.nea.firmament.commands.thenExecute import moe.nea.firmament.events.CommandEvent -import moe.nea.firmament.util.data.ManagedConfig import moe.nea.firmament.util.MC import moe.nea.firmament.util.MoulConfigUtils import moe.nea.firmament.util.ScreenUtil.setScreenLater import moe.nea.firmament.util.data.Config +import moe.nea.firmament.util.data.ManagedConfig object AllConfigsGui { // diff --git a/src/main/kotlin/gui/config/ChoiceHandler.kt b/src/main/kotlin/gui/config/ChoiceHandler.kt index 9c3dda2..321b40d 100644 --- a/src/main/kotlin/gui/config/ChoiceHandler.kt +++ b/src/main/kotlin/gui/config/ChoiceHandler.kt @@ -9,8 +9,8 @@ import kotlinx.serialization.json.JsonElement import kotlin.jvm.optionals.getOrNull import net.minecraft.util.StringIdentifiable import moe.nea.firmament.gui.CheckboxComponent -import moe.nea.firmament.util.data.ManagedConfig import moe.nea.firmament.util.ErrorUtil +import moe.nea.firmament.util.data.ManagedConfig import moe.nea.firmament.util.json.KJsonOps class ChoiceHandler<E>( diff --git a/src/main/kotlin/gui/config/DurationHandler.kt b/src/main/kotlin/gui/config/DurationHandler.kt index 4800bf6..0fc945f 100644 --- a/src/main/kotlin/gui/config/DurationHandler.kt +++ b/src/main/kotlin/gui/config/DurationHandler.kt @@ -12,12 +12,11 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.jsonPrimitive import kotlinx.serialization.json.long -import moe.nea.firmament.util.data.ManagedConfig import kotlin.time.Duration import kotlin.time.DurationUnit import kotlin.time.toDuration -import net.minecraft.text.Text import moe.nea.firmament.util.FirmFormatters +import moe.nea.firmament.util.data.ManagedConfig class DurationHandler(val config: ManagedConfig, val min: Duration, val max: Duration) : ManagedConfig.OptionHandler<Duration> { diff --git a/src/main/kotlin/gui/config/HudMetaHandler.kt b/src/main/kotlin/gui/config/HudMetaHandler.kt index dcf5d8f..fae827d 100644 --- a/src/main/kotlin/gui/config/HudMetaHandler.kt +++ b/src/main/kotlin/gui/config/HudMetaHandler.kt @@ -10,9 +10,9 @@ import net.minecraft.text.MutableText import net.minecraft.text.Text import moe.nea.firmament.Firmament import moe.nea.firmament.gui.FirmButtonComponent -import moe.nea.firmament.util.data.ManagedConfig import moe.nea.firmament.jarvis.JarvisIntegration import moe.nea.firmament.util.MC +import moe.nea.firmament.util.data.ManagedConfig class HudMetaHandler( val config: ManagedConfig, diff --git a/src/main/kotlin/gui/config/IntegerHandler.kt b/src/main/kotlin/gui/config/IntegerHandler.kt index 3e7be57..ab0237a 100644 --- a/src/main/kotlin/gui/config/IntegerHandler.kt +++ b/src/main/kotlin/gui/config/IntegerHandler.kt @@ -12,8 +12,8 @@ import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.int import kotlinx.serialization.json.jsonPrimitive -import moe.nea.firmament.util.data.ManagedConfig import moe.nea.firmament.util.FirmFormatters +import moe.nea.firmament.util.data.ManagedConfig class IntegerHandler(val config: ManagedConfig, val min: Int, val max: Int) : ManagedConfig.OptionHandler<Int> { override fun toJson(element: Int): JsonElement? { diff --git a/src/main/kotlin/gui/config/KeyBindingHandler.kt b/src/main/kotlin/gui/config/KeyBindingHandler.kt index a5e626d..3c08da2 100644 --- a/src/main/kotlin/gui/config/KeyBindingHandler.kt +++ b/src/main/kotlin/gui/config/KeyBindingHandler.kt @@ -1,19 +1,13 @@ package moe.nea.firmament.gui.config -import io.github.notenoughupdates.moulconfig.common.IMinecraft -import io.github.notenoughupdates.moulconfig.common.MyResourceLocation -import io.github.notenoughupdates.moulconfig.deps.libninepatch.NinePatch -import io.github.notenoughupdates.moulconfig.gui.GuiImmediateContext -import io.github.notenoughupdates.moulconfig.gui.KeyboardEvent -import io.github.notenoughupdates.moulconfig.gui.component.TextComponent import kotlinx.serialization.json.Json import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.decodeFromJsonElement import kotlinx.serialization.json.encodeToJsonElement import moe.nea.firmament.gui.FirmButtonComponent -import moe.nea.firmament.util.data.ManagedConfig import moe.nea.firmament.keybindings.FirmamentKeyBindings import moe.nea.firmament.keybindings.SavedKeyBinding +import moe.nea.firmament.util.data.ManagedConfig class KeyBindingHandler(val name: String, val managedConfig: ManagedConfig) : ManagedConfig.OptionHandler<SavedKeyBinding> { diff --git a/src/main/kotlin/gui/config/ManagedOption.kt b/src/main/kotlin/gui/config/ManagedOption.kt index 888b3f1..1f742a7 100644 --- a/src/main/kotlin/gui/config/ManagedOption.kt +++ b/src/main/kotlin/gui/config/ManagedOption.kt @@ -3,11 +3,11 @@ package moe.nea.firmament.gui.config import io.github.notenoughupdates.moulconfig.observer.GetSetter import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonObject -import moe.nea.firmament.util.data.ManagedConfig import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty import net.minecraft.text.Text import moe.nea.firmament.util.ErrorUtil +import moe.nea.firmament.util.data.ManagedConfig class ManagedOption<T : Any>( val element: ManagedConfig, diff --git a/src/main/kotlin/gui/config/StringHandler.kt b/src/main/kotlin/gui/config/StringHandler.kt index da14d4b..f1eacab 100644 --- a/src/main/kotlin/gui/config/StringHandler.kt +++ b/src/main/kotlin/gui/config/StringHandler.kt @@ -7,8 +7,8 @@ import io.github.notenoughupdates.moulconfig.observer.GetSetter import kotlinx.serialization.json.JsonElement import kotlinx.serialization.json.JsonPrimitive import kotlinx.serialization.json.jsonPrimitive -import moe.nea.firmament.util.data.ManagedConfig import net.minecraft.text.Text +import moe.nea.firmament.util.data.ManagedConfig class StringHandler(val config: ManagedConfig) : ManagedConfig.OptionHandler<String> { override fun toJson(element: String): JsonElement? { diff --git a/src/main/kotlin/gui/config/storage/ConfigLoadContext.kt b/src/main/kotlin/gui/config/storage/ConfigLoadContext.kt index 59afaa1..59ca71e 100644 --- a/src/main/kotlin/gui/config/storage/ConfigLoadContext.kt +++ b/src/main/kotlin/gui/config/storage/ConfigLoadContext.kt @@ -27,13 +27,15 @@ data class ConfigLoadContext( } fun logInfo(message: String) { - Firmament.logger.info("[ConfigUpgrade] $message") + if (Firmament.DEBUG) + Firmament.logger.info("[ConfigUpgrade] $message") logBuffer.append("[INFO] ").append(message).appendLine() } fun logError(message: String, exception: Throwable) { markShouldSaveLogBuffer() - Firmament.logger.error("[ConfigUpgrade] $message", exception) + if (Firmament.DEBUG) + Firmament.logger.error("[ConfigUpgrade] $message", exception) logBuffer.append("[ERROR] ").append(message).appendLine() PrintWriter(StringBuilderWriter(logBuffer)).use { exception.printStackTrace(it) @@ -51,6 +53,16 @@ data class ConfigLoadContext( path.createParentDirectories() } + fun use(block: (ConfigLoadContext) -> Unit) { + try { + block(this) + } catch (ex: Exception) { + logError("Caught exception on CLC", ex) + } finally { + close() + } + } + override fun close() { logInfo("Closing out config load.") if (shouldSaveLogBuffer) { diff --git a/src/main/kotlin/gui/config/storage/FirmamentConfigLoader.kt b/src/main/kotlin/gui/config/storage/FirmamentConfigLoader.kt index 22cba2c..f8e3104 100644 --- a/src/main/kotlin/gui/config/storage/FirmamentConfigLoader.kt +++ b/src/main/kotlin/gui/config/storage/FirmamentConfigLoader.kt @@ -102,7 +102,7 @@ object FirmamentConfigLoader { } fun saveAll() { - ConfigLoadContext("load-${System.currentTimeMillis()}").use { context -> + ConfigLoadContext("save-${System.currentTimeMillis()}").use { context -> saveStorage( ConfigStorageClass.CONFIG, Unit, @@ -198,7 +198,7 @@ object FirmamentConfigLoader { } fun markDirty(holder: IDataHolder<*>) { - TODO("Not yet implemented") + saveAll() } } diff --git a/src/main/kotlin/gui/config/storage/LegacyImporter.kt b/src/main/kotlin/gui/config/storage/LegacyImporter.kt index 8915c17..942fd2a 100644 --- a/src/main/kotlin/gui/config/storage/LegacyImporter.kt +++ b/src/main/kotlin/gui/config/storage/LegacyImporter.kt @@ -1,10 +1,7 @@ package moe.nea.firmament.gui.config.storage import java.nio.file.Path -import javax.xml.namespace.QName -import kotlin.io.path.Path import kotlin.io.path.copyTo -import kotlin.io.path.copyToRecursively import kotlin.io.path.createDirectories import kotlin.io.path.createParentDirectories import kotlin.io.path.exists |
