package net.obnoxint.mcdev.omclib.command;
import net.obnoxint.mcdev.omclib.OmcLibFeatureProperties;
import net.obnoxint.mcdev.omclib.OmcLibPermission;
import net.obnoxint.mcdev.omclib.OmcLibPlugin;
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.Permission;
public final class DebugCommandHandler extends OmcCommandHandler {
private static final String ID = "debug";
private static final String DESCRIPTION = "Toggles debug-mode.";
private static final String USAGE = "[[off|on]|[0|1]] or no argument for status";
public DebugCommandHandler() {
super(ID, DESCRIPTION, USAGE);
}
@Override
public boolean handleCommand(final CommandSender sender, final String[] args) {
final Permission perm = OmcLibPermission.COMMAND_DEBUG.getPermission();
if (sender.hasPermission(perm)) {
final OmcLibFeatureProperties prop = OmcLibPlugin.getInstance().getFeatureManager().getFeatureProperties();
if (args.length > 0) {
final String value = args[0].toLowerCase();
boolean status;
if (value.equals("off") || value.equals("0")) {
status = false;
} else if (value.equals("on") || value.equals("1")) {
status = true;
} else {
return false;
}
prop.setDebugging(status);
}
sender.sendMessage("Debugging: " + String.valueOf(prop.isDebugging()));
} else {
sender.sendMessage("Permission required: " + perm.getName());
}
return true;
}
}