From 560e3165960823def606ffe709fb7e4d98b73625 Mon Sep 17 00:00:00 2001 From: nextdayy <79922345+nextdayy@users.noreply.github.com> Date: Mon, 23 Dec 2024 20:55:58 +0000 Subject: [PATCH] fixes [OC-46], [OC-45], [OC-15] --- gradle.properties | 2 +- gradle/libs.versions.toml | 2 +- .../api/config/v1/internal/ConfigVisualizer.kt | 12 +++++------- .../api/event/v1/events/ScreenOpenEvent.java | 5 +++++ .../org/polyfrost/oneconfig/api/hud/v1/HudManager.kt | 1 + .../oneconfig/api/hud/v1/internal/hud_utils.kt | 1 + .../oneconfig/api/ui/v1/keybind/KeybindManager.kt | 4 ++++ .../oneconfig/internal/mixin/SoundManagerMixin.java | 2 +- 8 files changed, 19 insertions(+), 10 deletions(-) diff --git a/gradle.properties b/gradle.properties index 74dad58e3..d89092d7d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ name=OneConfig mod_id=oneconfig version_major=1 version_minor=0 -version_patch=0-alpha.44 +version_patch=0-alpha.45 polyfrost.defaults.loom=3 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3a8603b6f..000375bc6 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -6,7 +6,7 @@ kotlin = "2.0.20" kotlinx-coroutines = "1.8.1" kotlinx-atomicfu = "0.24.0" fabric-language-kotlin = "1.12.2+kotlin.2.0.20" -polyui = "1.7.3" +polyui = "1.7.33" annotations = "24.1.0" hypixel-modapi = "1.0" hypixel-data = "0.1.2" # Dep of hypixel-modapi diff --git a/modules/config-impl/src/main/kotlin/org/polyfrost/oneconfig/api/config/v1/internal/ConfigVisualizer.kt b/modules/config-impl/src/main/kotlin/org/polyfrost/oneconfig/api/config/v1/internal/ConfigVisualizer.kt index 4764eb129..a30c68f9d 100644 --- a/modules/config-impl/src/main/kotlin/org/polyfrost/oneconfig/api/config/v1/internal/ConfigVisualizer.kt +++ b/modules/config-impl/src/main/kotlin/org/polyfrost/oneconfig/api/config/v1/internal/ConfigVisualizer.kt @@ -207,7 +207,7 @@ open class ConfigVisualizer { wrapForAccordion(vis.visualize(node), node.title ?: return@map null, node.description).addHideHandler(node).linkTo(node) } - var open = false + var open = true val e: Property<*>? = tree.getProp("enabled") val toWrap: Drawable var enabled: Property? = null @@ -238,13 +238,14 @@ open class ConfigVisualizer { } if (e != null && e.type == Boolean::class.java && e.getVisualizer() == null) { + open = e.getAs() toWrap = Group( Switch( lateralStretch = 2f, size = 21f, - state = e.getAs() + state = open ).onToggle { - e.setAs(it) + enabled?.setAs(it) if (open != !it) (parent.parent as Drawable).openInsn(null) }, Image("polyui/chevron-down.svg").also { it.rotation = PI } @@ -257,10 +258,7 @@ open class ConfigVisualizer { val out = Block( wrap(toWrap, title, desc, icon).also { it.color = PolyColor.TRANSPARENT - it.onClick { - if (enabled != null && !enabled.getAs()) return@onClick - this.openInsn(null) - } + it.onClick(openInsn) }, Group( size = Vec2(1078f, 0f), diff --git a/modules/events/src/main/java/org/polyfrost/oneconfig/api/event/v1/events/ScreenOpenEvent.java b/modules/events/src/main/java/org/polyfrost/oneconfig/api/event/v1/events/ScreenOpenEvent.java index 452c57e15..62dc99fdd 100644 --- a/modules/events/src/main/java/org/polyfrost/oneconfig/api/event/v1/events/ScreenOpenEvent.java +++ b/modules/events/src/main/java/org/polyfrost/oneconfig/api/event/v1/events/ScreenOpenEvent.java @@ -53,4 +53,9 @@ public ScreenOpenEvent(@Nullable Object screen) { public T getScreen() { return (T) screen; } + + @Nullable + public Object component1() { + return getScreen(); + } } diff --git a/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/HudManager.kt b/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/HudManager.kt index 6976324b1..be3fd2e02 100644 --- a/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/HudManager.kt +++ b/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/HudManager.kt @@ -196,6 +196,7 @@ object HudManager { private fun editorClose() { toggleHudPicker() + polyUI.unfocus() ConfigManager.active().saveAll() } diff --git a/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/internal/hud_utils.kt b/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/internal/hud_utils.kt index 5793a3d02..0483d5a12 100644 --- a/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/internal/hud_utils.kt +++ b/modules/hud/src/main/kotlin/org/polyfrost/oneconfig/api/hud/v1/internal/hud_utils.kt @@ -220,6 +220,7 @@ private fun Drawable.addScaler(): Drawable { sb.x = x + vs.x - (sb.width / 2f) sb.y = y + vs.y - (sb.height / 2f) cur = this + polyUI.focus(scaleBlob) return@on false } return this diff --git a/modules/ui/src/main/kotlin/org/polyfrost/oneconfig/api/ui/v1/keybind/KeybindManager.kt b/modules/ui/src/main/kotlin/org/polyfrost/oneconfig/api/ui/v1/keybind/KeybindManager.kt index c2984adb6..de327624e 100644 --- a/modules/ui/src/main/kotlin/org/polyfrost/oneconfig/api/ui/v1/keybind/KeybindManager.kt +++ b/modules/ui/src/main/kotlin/org/polyfrost/oneconfig/api/ui/v1/keybind/KeybindManager.kt @@ -28,6 +28,7 @@ package org.polyfrost.oneconfig.api.ui.v1.keybind import org.polyfrost.oneconfig.api.event.v1.eventHandler import org.polyfrost.oneconfig.api.event.v1.events.KeyInputEvent +import org.polyfrost.oneconfig.api.event.v1.events.ScreenOpenEvent import org.polyfrost.oneconfig.api.event.v1.events.TickEvent import org.polyfrost.polyui.Settings import org.polyfrost.polyui.input.InputManager @@ -58,6 +59,9 @@ object KeybindManager { eventHandler { _: TickEvent.End -> keyBinder.update(50_000L, inputManager.mods, true) }.register() + eventHandler { (screen): ScreenOpenEvent -> + if (screen == null) keyBinder.release() + } val m = Int2IntMap(8) m[UKeyboard.KEY_LSHIFT] = KeyModifiers.LSHIFT.value.toInt() diff --git a/versions/src/main/java/org/polyfrost/oneconfig/internal/mixin/SoundManagerMixin.java b/versions/src/main/java/org/polyfrost/oneconfig/internal/mixin/SoundManagerMixin.java index b62480441..8c9b98a88 100644 --- a/versions/src/main/java/org/polyfrost/oneconfig/internal/mixin/SoundManagerMixin.java +++ b/versions/src/main/java/org/polyfrost/oneconfig/internal/mixin/SoundManagerMixin.java @@ -28,7 +28,7 @@ public class SoundManagerMixin { ), argsOnly = true ) - private ISound oneconfig$playSound(ISound value) { + private ISound onPlaySoundCallback(ISound value) { //#if MC <= 1.8.9 SoundEventAccessorComposite accessor = ((SoundManagerAccessorMixin) this).getSndHandler().getSound(value.getSoundLocation()); SoundCategory category = (accessor == null ? null : accessor.getSoundCategory());