diff options
author | Linnea Gräf <nea@nea.moe> | 2024-07-05 22:52:06 +0200 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-07-05 22:52:06 +0200 |
commit | dc3adecc1b34758ccd62b5086d0052ef70555282 (patch) | |
tree | dc487f4c14901c5dc59cabbaceaeae13c7feecf0 /src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt | |
parent | 3d792dbef7c7e0f186e29f2e3999f99c2c14f5d7 (diff) | |
download | Firmament-dc3adecc1b34758ccd62b5086d0052ef70555282.tar.gz Firmament-dc3adecc1b34758ccd62b5086d0052ef70555282.tar.bz2 Firmament-dc3adecc1b34758ccd62b5086d0052ef70555282.zip |
Improve keybinding support
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt b/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt index 104cd52..2caea99 100644 --- a/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt +++ b/src/main/kotlin/moe/nea/firmament/gui/config/ManagedConfig.kt @@ -34,6 +34,7 @@ import moe.nea.firmament.util.ScreenUtil.setScreenLater abstract class ManagedConfig(override val name: String) : ManagedConfigElement() { interface OptionHandler<T : Any> { + fun initOption(opt: ManagedOption<T>) {} fun toJson(element: T): JsonElement? fun fromJson(element: JsonElement): T fun emitGuiElements(opt: ManagedOption<T>, guiAppender: GuiAppender) @@ -74,6 +75,7 @@ abstract class ManagedConfig(override val name: String) : ManagedConfigElement() ): ManagedOption<T> { if (propertyName in allOptions) error("Cannot register the same name twice") return ManagedOption(this, propertyName, default, handler).also { + it.handler.initOption(it) it.load(data) allOptions[propertyName] = it sortedOptions.add(it) |