diff options
author | Linnea Gräf <nea@nea.moe> | 2024-10-18 21:01:13 +0200 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-10-18 21:01:13 +0200 |
commit | 6100b8c9a0fe42be52a759b429f532c12cc72a32 (patch) | |
tree | 347482e31b95491266a06a12bf478f3983bbd282 /src/compat/yacl/java/YaclIntegration.kt | |
parent | c42bfa6151e5c63ca5bbd74e9a4ce0e7119a8539 (diff) | |
download | Firmament-6100b8c9a0fe42be52a759b429f532c12cc72a32.tar.gz Firmament-6100b8c9a0fe42be52a759b429f532c12cc72a32.tar.bz2 Firmament-6100b8c9a0fe42be52a759b429f532c12cc72a32.zip |
Hack Fix YACL unbinding keys
Diffstat (limited to 'src/compat/yacl/java/YaclIntegration.kt')
-rw-r--r-- | src/compat/yacl/java/YaclIntegration.kt | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/compat/yacl/java/YaclIntegration.kt b/src/compat/yacl/java/YaclIntegration.kt index fc5ff59..239d3a0 100644 --- a/src/compat/yacl/java/YaclIntegration.kt +++ b/src/compat/yacl/java/YaclIntegration.kt @@ -13,9 +13,12 @@ import dev.isxander.yacl3.api.controller.DoubleSliderControllerBuilder import dev.isxander.yacl3.api.controller.IntegerSliderControllerBuilder import dev.isxander.yacl3.api.controller.StringControllerBuilder import dev.isxander.yacl3.api.controller.TickBoxControllerBuilder +import dev.isxander.yacl3.gui.YACLScreen +import dev.isxander.yacl3.gui.tab.ListHolderWidget import kotlin.time.Duration import kotlin.time.Duration.Companion.seconds import kotlin.time.DurationUnit +import net.minecraft.client.gui.Element import net.minecraft.client.gui.screen.Screen import net.minecraft.text.Text import moe.nea.firmament.gui.config.BooleanHandler @@ -121,7 +124,23 @@ class YaclIntegration : FirmamentConfigScreenProvider { get() = "yacl" override fun open(parent: Screen?): Screen { - return buildConfig().generateScreen(parent) + return object : YACLScreen(buildConfig(), parent) { + override fun setFocused(focused: Element?) { + if (this.focused is KeybindingWidget && + focused is ListHolderWidget<*> + ) { + return + } + super.setFocused(focused) + } + + override fun shouldCloseOnEsc(): Boolean { + if (focused is KeybindingWidget) { + return false + } + return super.shouldCloseOnEsc() + } + } } } |