public boolean command(CommandSender sender, String command, String[] args) {
if (debugVariables.isEmpty()) {
return false;
}
if (command.equals("commondebug") || command.equals("debug")) {
MessageBuilder message = new MessageBuilder();
if (args.length == 0) {
message.green("This command allows you to tweak debug settings in plugins").newLine();
message.green("All debug variables should be cleared in official builds").newLine();
message.green("Available debug variables:").newLine();
message.setSeparator(ChatColor.YELLOW, " \\ ").setIndent(4);
for (String variable : debugVariables.keySet()) {
message.green(variable);
}
} else {
final String varname = args[0];
final TypedValue value = debugVariables.get(varname);
if (value == null) {
message.red("No debug variable of name '").yellow(varname).red("'!");
} else {
message.green("Value of variable '").yellow(varname).green("' ");
if (args.length == 1) {
message.green("= ");
} else {
message.green("set to ");
value.parseSet(StringUtil.join(" ", StringUtil.remove(args, 0)));
}
message.white(value.toString());
}
}
message.send(sender);
return true;
}
return false;
}