summaryrefslogtreecommitdiff
path: root/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2025-10-04 15:58:03 +1300
committerArslaan Pathan <[email protected]>2025-10-04 15:58:03 +1300
commitb28f0b7bb0cd10fc3318cd24709c22430aa16270 (patch)
tree07c33ae8c984d2285e6dc15568ef76668347a52f /src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java
parentb03b9a7014f49b763abd02e91d99be68b48b6c07 (diff)
downloadarslaansmagichax-b28f0b7bb0cd10fc3318cd24709c22430aa16270.tar.xz
arslaansmagichax-b28f0b7bb0cd10fc3318cd24709c22430aa16270.zip
lot of shit
Diffstat (limited to 'src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java')
-rw-r--r--src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java
new file mode 100644
index 0000000..1448bd7
--- /dev/null
+++ b/src/main/java/net/justlearning/arslaan3102/arslaansmagichax/commands/ModuleToggleCommand.java
@@ -0,0 +1,44 @@
+package net.justlearning.arslaan3102.arslaansmagichax.commands;
+
+import com.mojang.brigadier.CommandDispatcher;
+import com.mojang.brigadier.arguments.IntegerArgumentType;
+import com.mojang.brigadier.arguments.StringArgumentType;
+import com.mojang.brigadier.context.CommandContext;
+import com.mojang.brigadier.exceptions.CommandSyntaxException;
+import net.fabricmc.fabric.api.client.command.v2.ClientCommandManager;
+import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
+import net.justlearning.arslaan3102.arslaansmagichax.modules.ModuleManager;
+import net.minecraft.command.CommandRegistryAccess;
+import net.minecraft.text.Text;
+
+public class ModuleToggleCommand {
+ public static void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandRegistryAccess access) {
+ dispatcher.register(
+ ClientCommandManager.literal("module")
+ .then(
+ ClientCommandManager.literal("toggle")
+ .then(
+ ClientCommandManager.argument("moduleName", StringArgumentType.word())
+ .suggests(new ModuleSuggestionProvider())
+ .executes(ModuleToggleCommand::run)
+ )
+ )
+ );
+ }
+
+ private static int run(CommandContext<FabricClientCommandSource> context) throws CommandSyntaxException {
+ String moduleName = StringArgumentType.getString(context, "moduleName");
+
+ ModuleManager.getAllModules().stream()
+ .filter(m -> m.getName().equalsIgnoreCase(moduleName))
+ .findFirst()
+ .ifPresentOrElse(module -> {
+ module.toggle();
+ context.getSource().sendFeedback(Text.literal(
+ "Toggled module " + module.getName() + " to " + (module.isEnabled() ? "ON" : "OFF")
+ ));
+ }, () -> context.getSource().sendError(Text.literal("Module not found: " + moduleName)));
+
+ return 1;
+ }
+}