diff options
| author | Alex <8379108+Alex33856@users.noreply.github.com> | 2025-06-17 14:13:49 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-17 14:13:49 -0400 |
| commit | d6f1b53dfc628126f9964bbaa9717e4e0709f69a (patch) | |
| tree | 1df4c37e8e3d7b650515e9072fccae66e36d90b0 /src/main/java/de | |
| parent | 7d0b1a3156903e614ab353e0744eff6089527092 (diff) | |
| download | Skyblocker-d6f1b53dfc628126f9964bbaa9717e4e0709f69a.tar.gz Skyblocker-d6f1b53dfc628126f9964bbaa9717e4e0709f69a.tar.bz2 Skyblocker-d6f1b53dfc628126f9964bbaa9717e4e0709f69a.zip | |
Add optional item name parameter to search overlay commands (#1323)
* Add optional item name parameter to search overlay commands
* Close Overlay Screen without searching if the escape key is pressed
* Fix Escape key close
Diffstat (limited to 'src/main/java/de')
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java | 5 | ||||
| -rw-r--r-- | src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java | 19 |
2 files changed, 21 insertions, 3 deletions
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java index 533f10ae..8ef19596 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/OverlayScreen.java @@ -266,6 +266,11 @@ public class OverlayScreen extends Screen { close(); return true; } + if (keyCode == GLFW.GLFW_KEY_ESCAPE) { + SearchOverManager.search = ""; + close(); + return true; + } return super.keyPressed(keyCode, scanCode, modifiers); } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java index d663ca7a..ad62c58a 100644 --- a/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java +++ b/src/main/java/de/hysky/skyblocker/skyblock/searchoverlay/SearchOverManager.java @@ -2,6 +2,7 @@ package de.hysky.skyblocker.skyblock.searchoverlay; import com.mojang.brigadier.Command; import com.mojang.brigadier.CommandDispatcher; +import com.mojang.brigadier.arguments.StringArgumentType; import de.hysky.skyblocker.annotations.Init; import de.hysky.skyblocker.config.SkyblockerConfigManager; import de.hysky.skyblocker.config.configs.UIAndVisualsConfig; @@ -32,6 +33,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.argument; import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; public class SearchOverManager { @@ -71,16 +73,27 @@ public class SearchOverManager { private static void registerSearchCommands(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandRegistryAccess registryAccess) { if (SkyblockerConfigManager.get().uiAndVisuals.searchOverlay.enableCommands) { - dispatcher.register(literal("ahs").executes(context -> startCommand(true))); - dispatcher.register(literal("bzs").executes(context -> startCommand(false))); + dispatcher.register(literal("ahs").executes(context -> startCommand(true, ""))); + dispatcher.register(literal("bzs").executes(context -> startCommand(false, ""))); + + dispatcher.register(literal("ahs").then(argument("item", StringArgumentType.greedyString()) + .executes(context -> startCommand(true, StringArgumentType.getString(context, "item")) + ))); + dispatcher.register(literal("bzs").then(argument("item", StringArgumentType.greedyString()) + .executes(context -> startCommand(false, StringArgumentType.getString(context, "item")) + ))); } } - private static int startCommand(boolean isAuction) { + private static int startCommand(boolean isAuction, String itemName) { isCommand = true; SearchOverManager.isAuction = isAuction; search = ""; suggestionsArray = new String[]{}; + if (!itemName.isEmpty()) { + updateSearch(itemName); + } + CLIENT.send(() -> CLIENT.setScreen(new OverlayScreen(Text.of("")))); return Command.SINGLE_SUCCESS; } |
