Update CommandHandler.java

This commit is contained in:
minster586
2025-07-23 18:22:32 -04:00
parent e477298c7f
commit e068bf6aaa

View File

@@ -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 <on|off|level|zip>");
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 <minimal|verbose|full>");
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;
}
}