summaryrefslogtreecommitdiff
path: root/src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java
diff options
context:
space:
mode:
authorArslaan Pathan <[email protected]>2026-09-26 17:05:36 +1200
committerArslaan Pathan <[email protected]>2026-09-26 17:05:36 +1200
commit14c68eb5ba16774f581d95a39e64a7b303954ffc (patch)
tree2888ef11f47c6a639d440300ef580c247ad1bcb1 /src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java
parent766ba1c1d977442332cadaaeca93d795baa559df (diff)
downloadarslaansmagichax-14c68eb5ba16774f581d95a39e64a7b303954ffc.tar.xz
arslaansmagichax-14c68eb5ba16774f581d95a39e64a7b303954ffc.zip
migration to 26.2 - run migrateMappings with old loom then bring it back to new
Diffstat (limited to 'src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java')
-rw-r--r--src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java b/src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java
new file mode 100644
index 0000000..60e6b52
--- /dev/null
+++ b/src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java
@@ -0,0 +1,44 @@
+package com.arslaancodes.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.minecraft.commands.CommandBuildContext;
+import net.minecraft.network.chat.Component;
+import com.arslaancodes.arslaansmagichax.modules.ModuleManager;
+
+public class ModuleToggleCommand {
+ public static void register(CommandDispatcher<FabricClientCommandSource> dispatcher, CommandBuildContext 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(Component.literal(
+ "Toggled module " + module.getName() + " to " + (module.isEnabled() ? "ON" : "OFF")
+ ));
+ }, () -> context.getSource().sendError(Component.literal("Module not found: " + moduleName)));
+
+ return 1;
+ }
+}