From 14c68eb5ba16774f581d95a39e64a7b303954ffc Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sat, 26 Sep 2026 17:05:36 +1200 Subject: migration to 26.2 - run migrateMappings with old loom then bring it back to new --- .../commands/ModuleToggleCommand.java | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java (limited to 'src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java') 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 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 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; + } +} -- cgit v1.2.3