forked from LogBlock/LogBlock
Fixed everyone with logblock.spawnTools was allowed to spawn tools
without the tool permission
This commit is contained in:
@@ -135,57 +135,60 @@ public class CommandsHandler implements CommandExecutor
|
|||||||
sender.sendMessage(ChatColor.GOLD + msg.substring(2));
|
sender.sendMessage(ChatColor.GOLD + msg.substring(2));
|
||||||
}
|
}
|
||||||
} else if (config.toolsByName.get(command) != null) {
|
} else if (config.toolsByName.get(command) != null) {
|
||||||
if (sender instanceof Player) {
|
final Tool tool = config.toolsByName.get(command);
|
||||||
final Player player = (Player)sender;
|
if (logblock.hasPermission(sender, "logblock.tools." + tool.name)) {
|
||||||
final Session session = Session.getSession(player.getName());
|
if (sender instanceof Player) {
|
||||||
final Tool tool = config.toolsByName.get(command);
|
final Player player = (Player)sender;
|
||||||
final ToolData toolData = session.toolData.get(tool);
|
final Session session = Session.getSession(player.getName());
|
||||||
if (args.length == 1) {
|
final ToolData toolData = session.toolData.get(tool);
|
||||||
if (logblock.hasPermission(player, "logblock.spawnTools")) {
|
if (args.length == 1) {
|
||||||
giveTool(player, tool.item);
|
if (logblock.hasPermission(player, "logblock.spawnTools")) {
|
||||||
session.toolData.get(tool).enabled = true;
|
giveTool(player, tool.item);
|
||||||
} else
|
session.toolData.get(tool).enabled = true;
|
||||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
|
||||||
} else if (args[1].equalsIgnoreCase("enable") || args[1].equalsIgnoreCase("on")) {
|
|
||||||
toolData.enabled = true;
|
|
||||||
player.sendMessage(ChatColor.GREEN + "Tool enabled.");
|
|
||||||
} else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) {
|
|
||||||
toolData.enabled = false;
|
|
||||||
player.getInventory().removeItem(new ItemStack(tool.item, 1));
|
|
||||||
player.sendMessage(ChatColor.GREEN + "Tool disabled.");
|
|
||||||
} else if (args[1].equalsIgnoreCase("mode")) {
|
|
||||||
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())) {
|
|
||||||
toolData.mode = mode;
|
|
||||||
sender.sendMessage(ChatColor.GREEN + "Tool mode set to " + args[2]);
|
|
||||||
} else
|
} else
|
||||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to use mode " + args[2]);
|
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||||
} else
|
} else if (args[1].equalsIgnoreCase("enable") || args[1].equalsIgnoreCase("on")) {
|
||||||
player.sendMessage(ChatColor.RED + "No mode specified");
|
toolData.enabled = true;
|
||||||
} else if (args[1].equalsIgnoreCase("default")) {
|
player.sendMessage(ChatColor.GREEN + "Tool enabled.");
|
||||||
toolData.params = tool.params.clone();
|
} else if (args[1].equalsIgnoreCase("disable") || args[1].equalsIgnoreCase("off")) {
|
||||||
toolData.mode = tool.mode;
|
toolData.enabled = false;
|
||||||
sender.sendMessage(ChatColor.GREEN + "Tool set to default.");
|
player.getInventory().removeItem(new ItemStack(tool.item, 1));
|
||||||
} else if (logblock.hasPermission(player, "logblock.lookup"))
|
player.sendMessage(ChatColor.GREEN + "Tool disabled.");
|
||||||
try {
|
} else if (args[1].equalsIgnoreCase("mode")) {
|
||||||
final QueryParams params = tool.params.clone();
|
if (args.length == 3) {
|
||||||
params.parseArgs(sender, argsToList(args, 1));
|
final ToolMode mode;
|
||||||
toolData.params = params;
|
try {
|
||||||
sender.sendMessage(ChatColor.GREEN + "Set tool query to: " + params.getTitle());
|
mode = ToolMode.valueOf(args[2].toUpperCase());
|
||||||
} catch (final Exception ex) {
|
} catch (final IllegalArgumentException ex) {
|
||||||
sender.sendMessage(ChatColor.RED + ex.getMessage());
|
sender.sendMessage(ChatColor.RED + "Can't find mode " + args[2]);
|
||||||
}
|
return true;
|
||||||
else
|
}
|
||||||
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
if (logblock.hasPermission(player, mode.getPermission())) {
|
||||||
|
toolData.mode = 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")) {
|
||||||
|
toolData.params = tool.params.clone();
|
||||||
|
toolData.mode = tool.mode;
|
||||||
|
sender.sendMessage(ChatColor.GREEN + "Tool set to default.");
|
||||||
|
} else if (logblock.hasPermission(player, "logblock.lookup"))
|
||||||
|
try {
|
||||||
|
final QueryParams params = tool.params.clone();
|
||||||
|
params.parseArgs(sender, argsToList(args, 1));
|
||||||
|
toolData.params = 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
|
} else
|
||||||
sender.sendMessage(ChatColor.RED + "You have to be a player.");
|
sender.sendMessage(ChatColor.RED + "You aren't allowed to do this.");
|
||||||
} else if (command.equals("hide")) {
|
} else if (command.equals("hide")) {
|
||||||
if (sender instanceof Player) {
|
if (sender instanceof Player) {
|
||||||
if (logblock.hasPermission(sender, "logblock.hide")) {
|
if (logblock.hasPermission(sender, "logblock.hide")) {
|
||||||
|
Reference in New Issue
Block a user