コード例 #1
0
ファイル: TownHandler.java プロジェクト: BoFone/MCTowns
  public void promoteToAssistant(String playerName) {
    if (localSender.isConsole()) {
      localSender.notifyConsoleNotSupported();
      return;
    }

    Town t = localSender.getActiveTown();
    if (t == null) {
      localSender.notifyActiveTownNotSet();
      return;
    }

    if (!(localSender.hasExternalPermissions(Perms.ADMIN.toString())
        || t.playerIsMayor(localSender.getPlayer()))) {
      localSender.notifyInsufPermissions();
      return;
    }

    OfflinePlayer p = server.getOfflinePlayer(playerName);
    if (!p.hasPlayedBefore()) {
      localSender.sendMessage(ERR + playerName + " has never played on this server before.");
      return;
    }

    if (t.playerIsMayor(p)) {
      localSender.sendMessage(ERR + "That player is already the mayor of the town.");
      return;
    }

    if (!t.playerIsResident(p)) {
      localSender.sendMessage(ERR + p.getName() + " is not a resident of " + t.getTownName() + ".");
      return;
    }

    if (t.addAssistant(p)) {
      for (String territName : t.getTerritoriesCollection()) {
        townManager.getTerritory(territName).addPlayer(p);
      }

      localSender.sendMessage(
          playerName + " has been promoted to an assistant of " + t.getTownName() + ".");

      if (p.isOnline())
        p.getPlayer().sendMessage("You are now an Assistant Mayor of " + t.getTownName());
    } else localSender.sendMessage(ERR + playerName + " is already an assistant in this town.");
  }