forked from LogBlock/LogBlock
Moved some catches
This commit is contained in:
@@ -49,220 +49,217 @@ public class CommandsHandler implements CommandExecutor
|
||||
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
|
||||
if (!cmd.getName().equalsIgnoreCase("lb"))
|
||||
return false;
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "LogBlock v" + logblock.getDescription().getVersion() + " by DiddiZ");
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + logblock.getUpdater().checkVersion());
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "Type /lb help for help");
|
||||
} else {
|
||||
final String command = args[0].toLowerCase();
|
||||
if (command.equals("help")) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "LogBlock Help:");
|
||||
sender.sendMessage(ChatColor.GOLD + "For the commands list type '/lb commands'");
|
||||
sender.sendMessage(ChatColor.GOLD + "For the parameters list type '/lb params'");
|
||||
sender.sendMessage(ChatColor.GOLD + "For the list of permissions you got type '/lb permissions'");
|
||||
} else if (command.equals("commands")) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "LogBlock Commands:");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool -- Gives you the lb tool");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool [on|off] -- Enables/Disables tool");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool [params] -- Sets the tool lookup query");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool default -- Sets the tool lookup query to default");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb toolblock -- Analog to tool");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb hide -- Hides you from log");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb rollback [params] -- Rollback");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb redo [params] -- Redo");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tp [params] -- Teleports you to the location of griefing");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb writelogfile [params] -- Writes a log file");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb lookup [params] -- Lookup");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb prev|next -- Browse lookup result pages");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb page -- Shows a specific lookup result page");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb me -- Displays your stats");
|
||||
sender.sendMessage(ChatColor.GOLD + "Look at github.com/DiddiZ/LogBlock/wiki/Commands for the full commands reference");
|
||||
} else if (command.equals("params")) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "LogBlock Query Parameters:");
|
||||
sender.sendMessage(ChatColor.GOLD + "Use doublequotes to escape a keyword: world \"world\"");
|
||||
sender.sendMessage(ChatColor.GOLD + "player [name1] <name2> <name3> -- List of players");
|
||||
sender.sendMessage(ChatColor.GOLD + "block [type1] <type2> <type3> -- List of block types");
|
||||
sender.sendMessage(ChatColor.GOLD + "created, destroyed -- Show only created/destroyed blocks");
|
||||
sender.sendMessage(ChatColor.GOLD + "chestaccess -- Show only chest accesses");
|
||||
sender.sendMessage(ChatColor.GOLD + "area <radius> -- Area around you");
|
||||
sender.sendMessage(ChatColor.GOLD + "selection, sel -- Inside current WorldEdit selection");
|
||||
sender.sendMessage(ChatColor.GOLD + "world [worldname] -- Changes the world");
|
||||
sender.sendMessage(ChatColor.GOLD + "time [number] [minutes|hours|days] -- Limits time");
|
||||
sender.sendMessage(ChatColor.GOLD + "since <dd.MM.yyyy> <HH:mm:ss> -- Limits time to a fixed point");
|
||||
sender.sendMessage(ChatColor.GOLD + "before <dd.MM.yyyy> <HH:mm:ss> -- Affects only blocks before a fixed time");
|
||||
sender.sendMessage(ChatColor.GOLD + "limit <row count> -- Limits the result to count of rows");
|
||||
sender.sendMessage(ChatColor.GOLD + "sum [none|blocks|players] -- Sums the result");
|
||||
sender.sendMessage(ChatColor.GOLD + "asc, desc -- Changes the order of the displayed log");
|
||||
sender.sendMessage(ChatColor.GOLD + "coords -- Shows coordinates for each block");
|
||||
sender.sendMessage(ChatColor.GOLD + "silent -- Displays lesser messages");
|
||||
} else if (command.equals("permissions")) {
|
||||
final String[] permissions = {"tool", "toolblock", "me", "lookup", "tp", "rollback", "clearlog", "hide", "ignoreRestrictions"};
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "You've got the following permissions:");
|
||||
for (final String permission : permissions)
|
||||
if (logblock.hasPermission(sender, "logblock." + permission))
|
||||
sender.sendMessage(ChatColor.GOLD + "logblock." + permission);
|
||||
} else if (command.equals("logging")) {
|
||||
if (sender instanceof Player) {
|
||||
final String world = ((Player)sender).getWorld().getName();
|
||||
final WorldConfig wcfg = config.worlds.get(world.hashCode());
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "Currently logging in " + world + ":");
|
||||
String msg = "";
|
||||
if (wcfg.logBlockPlacings)
|
||||
msg += ", BlockPlacings";
|
||||
if (wcfg.logBlockBreaks)
|
||||
msg += ", BlockBreaks";
|
||||
if (wcfg.logSignTexts)
|
||||
msg += ", SignTexts";
|
||||
if (wcfg.logExplosions)
|
||||
msg += ", Explosions";
|
||||
if (wcfg.logFire)
|
||||
msg += ", Fire";
|
||||
if (wcfg.logLeavesDecay)
|
||||
msg += ", LeavesDecay";
|
||||
if (wcfg.logLavaFlow)
|
||||
msg += ", LavaFlow";
|
||||
if (wcfg.logWaterFlow)
|
||||
msg += ", WaterFlow";
|
||||
if (wcfg.logChestAccess)
|
||||
msg += ", ChestAccess";
|
||||
if (wcfg.logButtonsAndLevers)
|
||||
msg += ", ButtonsAndLevers";
|
||||
if (wcfg.logKills)
|
||||
msg += ", Kills";
|
||||
if (wcfg.logChat)
|
||||
msg += ", Chat";
|
||||
sender.sendMessage(ChatColor.GOLD + msg.substring(2));
|
||||
}
|
||||
} else if (command.equals("tool") || command.equals("t")) {
|
||||
if (sender instanceof Player) {
|
||||
final Player player = (Player)sender;
|
||||
if (args.length == 1) {
|
||||
if (logblock.hasPermission(player, "logblock.tool"))
|
||||
giveTool(player, config.toolID);
|
||||
try {
|
||||
if (args.length == 0) {
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "LogBlock v" + logblock.getDescription().getVersion() + " by DiddiZ");
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + logblock.getUpdater().checkVersion());
|
||||
sender.sendMessage(ChatColor.LIGHT_PURPLE + "Type /lb help for help");
|
||||
} else {
|
||||
final String command = args[0].toLowerCase();
|
||||
if (command.equals("help")) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "LogBlock Help:");
|
||||
sender.sendMessage(ChatColor.GOLD + "For the commands list type '/lb commands'");
|
||||
sender.sendMessage(ChatColor.GOLD + "For the parameters list type '/lb params'");
|
||||
sender.sendMessage(ChatColor.GOLD + "For the list of permissions you got type '/lb permissions'");
|
||||
} else if (command.equals("commands")) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "LogBlock Commands:");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool -- Gives you the lb tool");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool [on|off] -- Enables/Disables tool");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool [params] -- Sets the tool lookup query");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tool default -- Sets the tool lookup query to default");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb toolblock -- Analog to tool");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb hide -- Hides you from log");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb rollback [params] -- Rollback");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb redo [params] -- Redo");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb tp [params] -- Teleports you to the location of griefing");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb writelogfile [params] -- Writes a log file");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb lookup [params] -- Lookup");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb prev|next -- Browse lookup result pages");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb page -- Shows a specific lookup result page");
|
||||
sender.sendMessage(ChatColor.GOLD + "/lb me -- Displays your stats");
|
||||
sender.sendMessage(ChatColor.GOLD + "Look at github.com/DiddiZ/LogBlock/wiki/Commands for the full commands reference");
|
||||
} else if (command.equals("params")) {
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "LogBlock Query Parameters:");
|
||||
sender.sendMessage(ChatColor.GOLD + "Use doublequotes to escape a keyword: world \"world\"");
|
||||
sender.sendMessage(ChatColor.GOLD + "player [name1] <name2> <name3> -- List of players");
|
||||
sender.sendMessage(ChatColor.GOLD + "block [type1] <type2> <type3> -- List of block types");
|
||||
sender.sendMessage(ChatColor.GOLD + "created, destroyed -- Show only created/destroyed blocks");
|
||||
sender.sendMessage(ChatColor.GOLD + "chestaccess -- Show only chest accesses");
|
||||
sender.sendMessage(ChatColor.GOLD + "area <radius> -- Area around you");
|
||||
sender.sendMessage(ChatColor.GOLD + "selection, sel -- Inside current WorldEdit selection");
|
||||
sender.sendMessage(ChatColor.GOLD + "world [worldname] -- Changes the world");
|
||||
sender.sendMessage(ChatColor.GOLD + "time [number] [minutes|hours|days] -- Limits time");
|
||||
sender.sendMessage(ChatColor.GOLD + "since <dd.MM.yyyy> <HH:mm:ss> -- Limits time to a fixed point");
|
||||
sender.sendMessage(ChatColor.GOLD + "before <dd.MM.yyyy> <HH:mm:ss> -- Affects only blocks before a fixed time");
|
||||
sender.sendMessage(ChatColor.GOLD + "limit <row count> -- Limits the result to count of rows");
|
||||
sender.sendMessage(ChatColor.GOLD + "sum [none|blocks|players] -- Sums the result");
|
||||
sender.sendMessage(ChatColor.GOLD + "asc, desc -- Changes the order of the displayed log");
|
||||
sender.sendMessage(ChatColor.GOLD + "coords -- Shows coordinates for each block");
|
||||
sender.sendMessage(ChatColor.GOLD + "silent -- Displays lesser messages");
|
||||
} else if (command.equals("permissions")) {
|
||||
final String[] permissions = {"tool", "toolblock", "me", "lookup", "tp", "rollback", "clearlog", "hide", "ignoreRestrictions"};
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "You've got the following permissions:");
|
||||
for (final String permission : permissions)
|
||||
if (logblock.hasPermission(sender, "logblock." + permission))
|
||||
sender.sendMessage(ChatColor.GOLD + "logblock." + permission);
|
||||
} else if (command.equals("logging")) {
|
||||
if (sender instanceof Player) {
|
||||
final String world = ((Player)sender).getWorld().getName();
|
||||
final WorldConfig wcfg = config.worlds.get(world.hashCode());
|
||||
sender.sendMessage(ChatColor.DARK_AQUA + "Currently logging in " + world + ":");
|
||||
String msg = "";
|
||||
if (wcfg.logBlockPlacings)
|
||||
msg += ", BlockPlacings";
|
||||
if (wcfg.logBlockBreaks)
|
||||
msg += ", BlockBreaks";
|
||||
if (wcfg.logSignTexts)
|
||||
msg += ", SignTexts";
|
||||
if (wcfg.logExplosions)
|
||||
msg += ", Explosions";
|
||||
if (wcfg.logFire)
|
||||
msg += ", Fire";
|
||||
if (wcfg.logLeavesDecay)
|
||||
msg += ", LeavesDecay";
|
||||
if (wcfg.logLavaFlow)
|
||||
msg += ", LavaFlow";
|
||||
if (wcfg.logWaterFlow)
|
||||
msg += ", WaterFlow";
|
||||
if (wcfg.logChestAccess)
|
||||
msg += ", ChestAccess";
|
||||
if (wcfg.logButtonsAndLevers)
|
||||
msg += ", ButtonsAndLevers";
|
||||
if (wcfg.logKills)
|
||||
msg += ", Kills";
|
||||
if (wcfg.logChat)
|
||||
msg += ", Chat";
|
||||
sender.sendMessage(ChatColor.GOLD + msg.substring(2));
|
||||
}
|
||||
} else if (command.equals("tool") || command.equals("t")) {
|
||||
if (sender instanceof Player) {
|
||||
final Player player = (Player)sender;
|
||||
if (args.length == 1) {
|
||||
if (logblock.hasPermission(player, "logblock.tool"))
|
||||
giveTool(player, config.toolID);
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (args[1].equalsIgnoreCase("enable") || args[1].equalsIgnoreCase("on")) {
|
||||
logblock.getSession(player.getName()).toolEnabled = true;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool enabled.");
|
||||
} else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) {
|
||||
logblock.getSession(player.getName()).toolEnabled = false;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool disabled.");
|
||||
} else if (args[1].equalsIgnoreCase("mode")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
if (args.length == 3) {
|
||||
final ToolMode mode;
|
||||
try {
|
||||
mode = ToolMode.valueOf(args[2].toUpperCase());
|
||||
} catch (final IllegalArgumentException ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't find mode " + args[2]);
|
||||
return true;
|
||||
}
|
||||
if (logblock.hasPermission(player, mode.getPermission())) {
|
||||
session.toolMode = mode;
|
||||
sender.sendMessage(ChatColor.GREEN + "Tool mode set to " + args[2]);
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to use mode " + args[2]);
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "No mode specified");
|
||||
} else if (args[1].equalsIgnoreCase("default")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
session.toolQuery = config.toolQuery.clone();
|
||||
session.toolMode = ToolMode.LOOKUP;
|
||||
sender.sendMessage(ChatColor.GREEN + "Tool set to default.");
|
||||
} else if (logblock.hasPermission(player, "logblock.lookup"))
|
||||
try {
|
||||
final QueryParams params = config.toolQuery.clone();
|
||||
params.parseArgs(sender, argsToList(args, 1));
|
||||
logblock.getSession(player.getName()).toolQuery = params;
|
||||
sender.sendMessage(ChatColor.GREEN + "Set tool query to: " + params.getTitle());
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (args[1].equalsIgnoreCase("enable") || args[1].equalsIgnoreCase("on")) {
|
||||
logblock.getSession(player.getName()).toolEnabled = true;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool enabled.");
|
||||
} else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) {
|
||||
logblock.getSession(player.getName()).toolEnabled = false;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool disabled.");
|
||||
} else if (args[1].equalsIgnoreCase("mode")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
if (args.length == 3) {
|
||||
final ToolMode mode;
|
||||
try {
|
||||
mode = ToolMode.valueOf(args[2].toUpperCase());
|
||||
} catch (final IllegalArgumentException ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't find mode " + args[2]);
|
||||
return true;
|
||||
}
|
||||
if (logblock.hasPermission(player, mode.getPermission())) {
|
||||
session.toolMode = mode;
|
||||
sender.sendMessage(ChatColor.GREEN + "Tool mode set to " + args[2]);
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to use mode " + args[2]);
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "No mode specified");
|
||||
} else if (args[1].equalsIgnoreCase("default")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
session.toolQuery = config.toolQuery.clone();
|
||||
session.toolMode = ToolMode.LOOKUP;
|
||||
sender.sendMessage(ChatColor.GREEN + "Tool set to default.");
|
||||
} else if (logblock.hasPermission(player, "logblock.lookup"))
|
||||
try {
|
||||
final QueryParams params = config.toolQuery.clone();
|
||||
params.parseArgs(sender, argsToList(args, 1));
|
||||
logblock.getSession(player.getName()).toolQuery = params;
|
||||
sender.sendMessage(ChatColor.GREEN + "Set tool query to: " + params.getTitle());
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("toolblock") || command.equals("tb")) {
|
||||
if (sender instanceof Player) {
|
||||
final Player player = (Player)sender;
|
||||
if (args.length == 1) {
|
||||
if (logblock.hasPermission(player, "logblock.toolblock"))
|
||||
giveTool(player, config.toolblockID);
|
||||
else
|
||||
player.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (args[1].equalsIgnoreCase("enable") || args[1].equalsIgnoreCase("on")) {
|
||||
logblock.getSession(player.getName()).toolBlockEnabled = true;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool block enabled.");
|
||||
} else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) {
|
||||
logblock.getSession(player.getName()).toolBlockEnabled = false;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool block disabled.");
|
||||
} else if (args[1].equalsIgnoreCase("mode")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
if (args.length == 3) {
|
||||
final ToolMode mode;
|
||||
try {
|
||||
mode = ToolMode.valueOf(args[2].toUpperCase());
|
||||
} catch (final IllegalArgumentException ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't find mode " + args[2]);
|
||||
return true;
|
||||
}
|
||||
if (logblock.hasPermission(player, mode.getPermission())) {
|
||||
session.toolBlockMode = mode;
|
||||
sender.sendMessage(ChatColor.GREEN + "Toolblock mode set to " + args[2]);
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to use mode " + args[2]);
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "No mode specified");
|
||||
} else if (args[1].equalsIgnoreCase("default")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
session.toolBlockQuery = config.toolBlockQuery.clone();
|
||||
session.toolBlockMode = ToolMode.LOOKUP;
|
||||
sender.sendMessage(ChatColor.GREEN + "Toolblock set to default.");
|
||||
} else if (logblock.hasPermission(player, "logblock.lookup"))
|
||||
try {
|
||||
final QueryParams params = config.toolBlockQuery.clone();
|
||||
params.parseArgs(sender, argsToList(args, 1));
|
||||
logblock.getSession(player.getName()).toolBlockQuery = params;
|
||||
sender.sendMessage(ChatColor.GREEN + "Set tool block query to: " + params.getTitle());
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("hide")) {
|
||||
if (sender instanceof Player) {
|
||||
if (logblock.hasPermission(sender, "logblock.hide")) {
|
||||
if (logblock.getConsumer().hide((Player)sender))
|
||||
sender.sendMessage(ChatColor.GREEN + "You are now hidden and aren't logged. Type '/lb hide' again to unhide");
|
||||
else
|
||||
sender.sendMessage(ChatColor.GREEN + "You aren't hidden anylonger.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("page")) {
|
||||
if (args.length == 2 && isInt(args[1]))
|
||||
showPage(sender, Integer.valueOf(args[1]));
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You have to specify a page");
|
||||
} else if (command.equals("next") || command.equals("+"))
|
||||
showPage(sender, logblock.getSession(senderName(sender)).page + 1);
|
||||
else if (command.equals("prev") || command.equals("-"))
|
||||
showPage(sender, logblock.getSession(senderName(sender)).page - 1);
|
||||
else if (args[0].equalsIgnoreCase("savequeue")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback"))
|
||||
try {
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("toolblock") || command.equals("tb")) {
|
||||
if (sender instanceof Player) {
|
||||
final Player player = (Player)sender;
|
||||
if (args.length == 1) {
|
||||
if (logblock.hasPermission(player, "logblock.toolblock"))
|
||||
giveTool(player, config.toolblockID);
|
||||
else
|
||||
player.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (args[1].equalsIgnoreCase("enable") || args[1].equalsIgnoreCase("on")) {
|
||||
logblock.getSession(player.getName()).toolBlockEnabled = true;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool block enabled.");
|
||||
} else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) {
|
||||
logblock.getSession(player.getName()).toolBlockEnabled = false;
|
||||
player.sendMessage(ChatColor.GREEN + "Tool block disabled.");
|
||||
} else if (args[1].equalsIgnoreCase("mode")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
if (args.length == 3) {
|
||||
final ToolMode mode;
|
||||
try {
|
||||
mode = ToolMode.valueOf(args[2].toUpperCase());
|
||||
} catch (final IllegalArgumentException ex) {
|
||||
sender.sendMessage(ChatColor.RED + "Can't find mode " + args[2]);
|
||||
return true;
|
||||
}
|
||||
if (logblock.hasPermission(player, mode.getPermission())) {
|
||||
session.toolBlockMode = mode;
|
||||
sender.sendMessage(ChatColor.GREEN + "Toolblock mode set to " + args[2]);
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to use mode " + args[2]);
|
||||
} else
|
||||
player.sendMessage(ChatColor.RED + "No mode specified");
|
||||
} else if (args[1].equalsIgnoreCase("default")) {
|
||||
final Session session = logblock.getSession(player.getName());
|
||||
session.toolBlockQuery = config.toolBlockQuery.clone();
|
||||
session.toolBlockMode = ToolMode.LOOKUP;
|
||||
sender.sendMessage(ChatColor.GREEN + "Toolblock set to default.");
|
||||
} else if (logblock.hasPermission(player, "logblock.lookup"))
|
||||
try {
|
||||
final QueryParams params = config.toolBlockQuery.clone();
|
||||
params.parseArgs(sender, argsToList(args, 1));
|
||||
logblock.getSession(player.getName()).toolBlockQuery = params;
|
||||
sender.sendMessage(ChatColor.GREEN + "Set tool block query to: " + params.getTitle());
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("hide")) {
|
||||
if (sender instanceof Player) {
|
||||
if (logblock.hasPermission(sender, "logblock.hide")) {
|
||||
if (logblock.getConsumer().hide((Player)sender))
|
||||
sender.sendMessage(ChatColor.GREEN + "You are now hidden and aren't logged. Type '/lb hide' again to unhide");
|
||||
else
|
||||
sender.sendMessage(ChatColor.GREEN + "You aren't hidden anylonger.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("page")) {
|
||||
if (args.length == 2 && isInt(args[1]))
|
||||
showPage(sender, Integer.valueOf(args[1]));
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You have to specify a page");
|
||||
} else if (command.equals("next") || command.equals("+"))
|
||||
showPage(sender, logblock.getSession(senderName(sender)).page + 1);
|
||||
else if (command.equals("prev") || command.equals("-"))
|
||||
showPage(sender, logblock.getSession(senderName(sender)).page - 1);
|
||||
else if (args[0].equalsIgnoreCase("savequeue")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback"))
|
||||
new CommandSaveQueue(sender, null, true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (command.equals("rollback") || command.equals("undo") || command.equals("rb")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback"))
|
||||
try {
|
||||
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (command.equals("rollback") || command.equals("undo") || command.equals("rb")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback")) {
|
||||
final QueryParams params = new QueryParams(logblock);
|
||||
params.minutes = logblock.getConfig().defaultTime;
|
||||
params.parseArgs(sender, argsToList(args, 1));
|
||||
@@ -271,14 +268,10 @@ public class CommandsHandler implements CommandExecutor
|
||||
params.sum = SummarizationMode.NONE;
|
||||
params.bct = BlockChangeType.ALL;
|
||||
new CommandRollback(sender, params, true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (command.equals("redo")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback"))
|
||||
try {
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (command.equals("redo")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback")) {
|
||||
final QueryParams params = new QueryParams(logblock);
|
||||
params.minutes = logblock.getConfig().defaultTime;
|
||||
params.parseArgs(sender, argsToList(args, 1));
|
||||
@@ -287,79 +280,59 @@ public class CommandsHandler implements CommandExecutor
|
||||
params.sum = SummarizationMode.NONE;
|
||||
params.bct = BlockChangeType.ALL;
|
||||
new CommandRedo(sender, params, true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (command.equals("me")) {
|
||||
if (sender instanceof Player) {
|
||||
if (logblock.hasPermission(sender, "logblock.me"))
|
||||
try {
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else if (command.equals("me")) {
|
||||
if (sender instanceof Player) {
|
||||
if (logblock.hasPermission(sender, "logblock.me")) {
|
||||
final Player player = (Player)sender;
|
||||
final QueryParams params = new QueryParams(logblock);
|
||||
params.setPlayer(player.getName());
|
||||
params.sum = SummarizationMode.TYPES;
|
||||
params.world = player.getWorld();
|
||||
new CommandLookup(sender, params, true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("writelogfile")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback"))
|
||||
try {
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("writelogfile")) {
|
||||
if (logblock.hasPermission(sender, "logblock.rollback")) {
|
||||
final QueryParams params = new QueryParams(logblock, sender, argsToList(args, 1));
|
||||
params.limit = -1;
|
||||
params.bct = BlockChangeType.ALL;
|
||||
params.sum = SummarizationMode.NONE;
|
||||
new CommandWriteLogFile(sender, params, true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else if (command.equals("clearlog")) {
|
||||
if (logblock.hasPermission(sender, "logblock.clearlog"))
|
||||
try {
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else if (command.equals("clearlog")) {
|
||||
if (logblock.hasPermission(sender, "logblock.clearlog")) {
|
||||
final QueryParams params = new QueryParams(logblock, sender, argsToList(args, 1));
|
||||
params.bct = BlockChangeType.ALL;
|
||||
params.limit = -1;
|
||||
new CommandClearLog(sender, params, true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else if (command.equals("tp")) {
|
||||
if (sender instanceof Player) {
|
||||
if (logblock.hasPermission(sender, "logblock.tp"))
|
||||
try {
|
||||
new CommandTeleport(sender, new QueryParams(logblock, sender, argsToList(args, 1)), true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("lookup") || QueryParams.isKeyWord(args[0])) {
|
||||
if (logblock.hasPermission(sender, "logblock.lookup"))
|
||||
try {
|
||||
} else if (command.equals("tp")) {
|
||||
if (sender instanceof Player) {
|
||||
if (logblock.hasPermission(sender, "logblock.tp"))
|
||||
new CommandTeleport(sender, new QueryParams(logblock, sender, argsToList(args, 1)), true);
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
||||
} else if (command.equals("lookup") || QueryParams.isKeyWord(args[0])) {
|
||||
if (logblock.hasPermission(sender, "logblock.lookup")) {
|
||||
final List<String> argsList = new ArrayList<String>(Arrays.asList(args));
|
||||
if (command.equals("lookup"))
|
||||
argsList.remove(0);
|
||||
new CommandLookup(sender, new QueryParams(logblock, sender, argsList), true);
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "Unknown command '" + args[0] + "'");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this");
|
||||
} else
|
||||
sender.sendMessage(ChatColor.RED + "Unknown command '" + args[0] + "'");
|
||||
}
|
||||
} catch (final Exception ex) {
|
||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@@ -284,7 +284,7 @@ public class QueryParams implements Cloneable
|
||||
else
|
||||
minutes = parseTimeSpec(values);
|
||||
if (minutes == -1)
|
||||
throw new IllegalArgumentException("Faile to parse time spec for '" + param + "'");
|
||||
throw new IllegalArgumentException("Failed to parse time spec for '" + param + "'");
|
||||
} else if (param.equals("before")) {
|
||||
if (values == null)
|
||||
minutes = logblock.getConfig().defaultTime * -1;
|
||||
|
Reference in New Issue
Block a user