Exemple #1
0
  @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)));
  }
Exemple #2
0
  @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));
  }