@CommandNode( name = "remove", permission = "mytown.cmd.assistant.ranks.perm.remove", parentName = "mytown.cmd.assistant.ranks.perm") public static void ranksPermRemoveCommand(ICommandSender sender, List<String> args) { if (args.size() < 2) throw new WrongUsageException(getLocal().getLocalization("mytown.cmd.usage.ranks.perm")); Resident res = getDatasource().getOrMakeResident(sender); Town town = getTownFromResident(res); Rank rank = getRankFromTown(town, args.get(0)); if (!CommandManager.commandList.keySet().contains(args.get(1))) throw new CommandException( getLocal().getLocalization("mytown.cmd.err.ranks.perm.notexist", args.get(1))); // Removing permission if everything is alright if (rank.removePermission(args.get(1))) { getDatasource().saveRank(rank, rank.getTown().getDefaultRank().equals(rank)); res.sendMessage( getLocal() .getLocalization( "mytown.notification.town.ranks.perm.remove", args.get(1), args.get(0))); } else throw new CommandException( getLocal().getLocalization("mytown.cmd.err.ranks.perm.remove.failed", args.get(1))); }
@CommandNode( name = "list", permission = "mytown.cmd.assistant.ranks.perm.list", parentName = "mytown.cmd.assistant.ranks.perm") public static void ranksPermListCommand(ICommandSender sender, List<String> args) { Rank rank; Resident res = getDatasource().getOrMakeResident(sender); Town town = getTownFromResident(res); if (args.size() == 0) { rank = getRankFromResident(res); } else { rank = getRankFromTown(town, args.get(0)); } String msg = ""; for (String s : rank.getPermissions()) { msg += '\n' + s; } res.sendMessage( getLocal() .getLocalization( "mytown.notification.town.ranks.perm.list", rank.getName(), rank.getTown().getName(), msg)); }