diff options
| author | Arslaan Pathan <[email protected]> | 2026-09-26 17:05:36 +1200 |
|---|---|---|
| committer | Arslaan Pathan <[email protected]> | 2026-09-26 17:05:36 +1200 |
| commit | 14c68eb5ba16774f581d95a39e64a7b303954ffc (patch) | |
| tree | 2888ef11f47c6a639d440300ef580c247ad1bcb1 /src/main/java/com/arslaancodes/arslaansmagichax/commands/ModuleToggleCommand.java | |
| parent | 766ba1c1d977442332cadaaeca93d795baa559df (diff) | |
| download | arslaansmagichax-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.java | 44 |
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; + } +} |
