From e068bf6aaa36615ec1b4dfe91292e5c012c52cd0 Mon Sep 17 00:00:00 2001 From: minster586 <43217359+minster586@users.noreply.github.com> Date: Wed, 23 Jul 2025 18:22:32 -0400 Subject: [PATCH] Update CommandHandler.java --- .../minster586/devmode/CommandHandler.java | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/src/main/java/com/minster586/devmode/CommandHandler.java b/src/main/java/com/minster586/devmode/CommandHandler.java index 8b13789..89cbe6c 100644 --- a/src/main/java/com/minster586/devmode/CommandHandler.java +++ b/src/main/java/com/minster586/devmode/CommandHandler.java @@ -1 +1,69 @@ +package com.minster586.devmode; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public class CommandHandler implements CommandExecutor { + + private final DevModeManager manager; + + public CommandHandler(DevModeManager manager) { + this.manager = manager; + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + + if (!sender.hasPermission("serverdevmode.use")) { + sender.sendMessage("§cYou do not have permission to use this command."); + return true; + } + + if (args.length == 0) { + sender.sendMessage("§eUsage: /devmode "); + return true; + } + + String sub = args[0].toLowerCase(); + + switch (sub) { + case "on": + manager.setDevModeEnabled(true); + sender.sendMessage("§aDev mode enabled."); + break; + + case "off": + manager.setDevModeEnabled(false); + sender.sendMessage("§cDev mode disabled."); + break; + + case "level": + if (args.length < 2) { + sender.sendMessage("§eUsage: /devmode level "); + return true; + } + + try { + DevModeManager.LogLevel level = DevModeManager.LogLevel.valueOf(args[1].toUpperCase()); + manager.setLogLevel(level); + sender.sendMessage("§bLog level set to: " + level.name().toLowerCase()); + } catch (IllegalArgumentException ex) { + sender.sendMessage("§cInvalid level. Choose: minimal, verbose, or full."); + } + break; + + case "zip": + // Placeholder — LogWriter zip method will go here + sender.sendMessage("§7[Zip] Log packaging feature coming soon."); + break; + + default: + sender.sendMessage("§eUnknown subcommand. Use: on, off, level, zip"); + break; + } + + return true; + } +}