From f56cb49a9161e62d36f0f0aa212880673a44c660 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Thu, 21 Nov 2024 21:43:21 +0100 Subject: [PATCH 1/5] Update ci actions --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4636995..0e33113 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,9 +11,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up JDK 21 - uses: actions/setup-java@v3 + uses: actions/setup-java@v4 with: distribution: 'corretto' java-version: '21' @@ -22,7 +22,7 @@ jobs: - name: Build with Gradle run: ./gradlew build --full-stacktrace - name: Upload Artifact - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: Artifacts path: build/libs/*-release.jar \ No newline at end of file From df1e6ecbeb7098de552d5b18e476e145c00175aa Mon Sep 17 00:00:00 2001 From: RappyTV Date: Sat, 23 Nov 2024 16:15:31 +0100 Subject: [PATCH 2/5] Add config option for the settings hotkey --- .../com/rappytv/signsearch/SignSearchConfiguration.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java b/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java index 493e759..0f3badf 100644 --- a/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java +++ b/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java @@ -1,14 +1,23 @@ package com.rappytv.signsearch; import net.labymod.api.addon.AddonConfig; +import net.labymod.api.client.gui.screen.key.Key; +import net.labymod.api.client.gui.screen.widget.widgets.input.KeybindWidget.KeyBindSetting; import net.labymod.api.configuration.loader.property.ConfigProperty; public class SignSearchConfiguration extends AddonConfig { private final ConfigProperty enabled = new ConfigProperty<>(true); + @KeyBindSetting + private final ConfigProperty menuHotkey = new ConfigProperty<>(Key.NONE); + @Override public ConfigProperty enabled() { return enabled; } + + public ConfigProperty menuHotkey() { + return menuHotkey; + } } From 3e7d762de7187f1398b7986efd18eb8ec9d6c423 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Sat, 23 Nov 2024 16:16:22 +0100 Subject: [PATCH 3/5] Implement listener to open menu when pressing hotkey --- .../rappytv/signsearch/SignSearchAddon.java | 11 ++++++-- .../listeners/KeyPressListener.java | 26 +++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 core/src/main/java/com/rappytv/signsearch/listeners/KeyPressListener.java diff --git a/core/src/main/java/com/rappytv/signsearch/SignSearchAddon.java b/core/src/main/java/com/rappytv/signsearch/SignSearchAddon.java index b098c96..ee92ce9 100644 --- a/core/src/main/java/com/rappytv/signsearch/SignSearchAddon.java +++ b/core/src/main/java/com/rappytv/signsearch/SignSearchAddon.java @@ -1,6 +1,7 @@ package com.rappytv.signsearch; import com.rappytv.signsearch.gui.settings.SignSearchSettingsActivity; +import com.rappytv.signsearch.listeners.KeyPressListener; import com.rappytv.signsearch.listeners.PauseMenuListener; import com.rappytv.signsearch.utils.SignManager; import com.rappytv.signsearch.utils.SignSearchSettings; @@ -13,6 +14,7 @@ public class SignSearchAddon extends LabyAddon { private static SignSearchConfiguration config; private static SignManager signManager; private static SignSearchSettings searchSettings; + private SignSearchSettingsActivity settingsActivity; @Override protected void enable() { @@ -20,8 +22,9 @@ protected void enable() { config = configuration(); signManager = new SignManager(); searchSettings = new SignSearchSettings(config.enabled()); - SignSearchSettingsActivity activity = new SignSearchSettingsActivity(searchSettings); - registerListener(new PauseMenuListener(activity)); + settingsActivity = new SignSearchSettingsActivity(searchSettings); + registerListener(new KeyPressListener(this)); + registerListener(new PauseMenuListener(settingsActivity)); } @Override @@ -40,4 +43,8 @@ public static SignManager getSignManager() { public static SignSearchSettings getSearchSettings() { return searchSettings; } + + public SignSearchSettingsActivity getSettingsActivity() { + return settingsActivity; + } } diff --git a/core/src/main/java/com/rappytv/signsearch/listeners/KeyPressListener.java b/core/src/main/java/com/rappytv/signsearch/listeners/KeyPressListener.java new file mode 100644 index 0000000..304fba9 --- /dev/null +++ b/core/src/main/java/com/rappytv/signsearch/listeners/KeyPressListener.java @@ -0,0 +1,26 @@ +package com.rappytv.signsearch.listeners; + +import com.rappytv.signsearch.SignSearchAddon; +import net.labymod.api.Laby; +import net.labymod.api.event.Subscribe; +import net.labymod.api.event.client.input.KeyEvent; +import net.labymod.api.event.client.input.KeyEvent.State; + +public class KeyPressListener { + + private final SignSearchAddon addon; + + public KeyPressListener(SignSearchAddon addon) { + this.addon = addon; + } + + @Subscribe + public void onKeyDown(KeyEvent event) { + if(event.state() != State.PRESS + || Laby.labyAPI().minecraft().minecraftWindow().isScreenOpened() + || event.key() != addon.configuration().menuHotkey().get()) return; + + Laby.labyAPI().minecraft().minecraftWindow().displayScreen(addon.getSettingsActivity()); + } + +} From 6c07868f08b54e8e07451757fcd67439b650d0dc Mon Sep 17 00:00:00 2001 From: RappyTV Date: Sat, 23 Nov 2024 16:17:05 +0100 Subject: [PATCH 4/5] Add hotkey translation --- core/src/main/resources/assets/signsearch/i18n/en_us.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/src/main/resources/assets/signsearch/i18n/en_us.json b/core/src/main/resources/assets/signsearch/i18n/en_us.json index 31534ac..ce43c14 100644 --- a/core/src/main/resources/assets/signsearch/i18n/en_us.json +++ b/core/src/main/resources/assets/signsearch/i18n/en_us.json @@ -3,6 +3,9 @@ "settings": { "enabled": { "name": "Enabled" + }, + "menuHotkey": { + "name": "Settings hotkey" } }, "ui": { From 67126db704ba8a95de984b677e5205ba9887a404 Mon Sep 17 00:00:00 2001 From: RappyTV Date: Sat, 23 Nov 2024 16:18:19 +0100 Subject: [PATCH 5/5] Add missing switch setting --- .../java/com/rappytv/signsearch/SignSearchConfiguration.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java b/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java index 0f3badf..06538f9 100644 --- a/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java +++ b/core/src/main/java/com/rappytv/signsearch/SignSearchConfiguration.java @@ -3,10 +3,12 @@ import net.labymod.api.addon.AddonConfig; import net.labymod.api.client.gui.screen.key.Key; import net.labymod.api.client.gui.screen.widget.widgets.input.KeybindWidget.KeyBindSetting; +import net.labymod.api.client.gui.screen.widget.widgets.input.SwitchWidget.SwitchSetting; import net.labymod.api.configuration.loader.property.ConfigProperty; public class SignSearchConfiguration extends AddonConfig { + @SwitchSetting private final ConfigProperty enabled = new ConfigProperty<>(true); @KeyBindSetting