From b6bfebcfb3a8bb27fcf1e21839b8f5db0b2eee3f Mon Sep 17 00:00:00 2001 From: Rime <81419447+Emirlol@users.noreply.github.com> Date: Sun, 8 Dec 2024 05:31:58 +0300 Subject: Add viewstash suggestions (#1067) --- .../mixins/CommandTreeS2CPacketMixin.java | 3 ++- .../skyblocker/skyblock/ViewstashAutocomplete.java | 22 ++++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 src/main/java/de/hysky/skyblocker/skyblock/ViewstashAutocomplete.java (limited to 'src/main/java') diff --git a/src/main/java/de/hysky/skyblocker/mixins/CommandTreeS2CPacketMixin.java b/src/main/java/de/hysky/skyblocker/mixins/CommandTreeS2CPacketMixin.java index 4d49e5f5..b96d5a5f 100644 --- a/src/main/java/de/hysky/skyblocker/mixins/CommandTreeS2CPacketMixin.java +++ b/src/main/java/de/hysky/skyblocker/mixins/CommandTreeS2CPacketMixin.java @@ -5,6 +5,7 @@ import com.mojang.brigadier.tree.CommandNode; import com.mojang.brigadier.tree.LiteralCommandNode; import de.hysky.skyblocker.skyblock.SackItemAutocomplete; +import de.hysky.skyblocker.skyblock.ViewstashAutocomplete; import de.hysky.skyblocker.skyblock.WarpAutocomplete; import de.hysky.skyblocker.utils.Utils; import net.minecraft.command.CommandSource; @@ -20,7 +21,7 @@ public class CommandTreeS2CPacketMixin { case String s when s.equals("warp") && WarpAutocomplete.commandNode != null -> WarpAutocomplete.commandNode; case String s when s.equals("getfromsacks") && SackItemAutocomplete.longCommandNode != null -> SackItemAutocomplete.longCommandNode; case String s when s.equals("gfs") && SackItemAutocomplete.shortCommandNode != null -> SackItemAutocomplete.shortCommandNode; - + case String s when s.equals("viewstash") -> ViewstashAutocomplete.getCommandNode(); default -> original; }; } diff --git a/src/main/java/de/hysky/skyblocker/skyblock/ViewstashAutocomplete.java b/src/main/java/de/hysky/skyblocker/skyblock/ViewstashAutocomplete.java new file mode 100644 index 00000000..16d774a9 --- /dev/null +++ b/src/main/java/de/hysky/skyblocker/skyblock/ViewstashAutocomplete.java @@ -0,0 +1,22 @@ +package de.hysky.skyblocker.skyblock; + +import com.mojang.brigadier.arguments.StringArgumentType; +import com.mojang.brigadier.tree.LiteralCommandNode; +import de.hysky.skyblocker.utils.Utils; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import net.minecraft.command.CommandSource; + +import java.util.stream.Stream; + +import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.argument; +import static net.fabricmc.fabric.api.client.command.v2.ClientCommandManager.literal; + +public class ViewstashAutocomplete { + public static LiteralCommandNode getCommandNode() { + return literal("viewstash") + .requires(fabricClientCommandSource -> Utils.isOnSkyblock()) + .then(argument("stash", StringArgumentType.word()) + .suggests((context, builder) -> CommandSource.suggestMatching(Stream.of("material", "item"), builder)) + ).build(); + } +} -- cgit