Example #1
0
  public static void initTeam(ArenaTeam team, MatchParams params) {
    team.reset(); // / reset scores, set alive
    team.setCurrentParams(params);
    int index = team.getIndex();
    MatchParams teamParams = null;
    boolean isTeamParam = false;
    if (index != -1) {
      teamParams = params.getTeamParams(index);
    }
    if (teamParams == null) {
      teamParams = params;
    } else {
      isTeamParam = true;
    }

    team.setMinPlayers(teamParams.getMinTeamSize());
    team.setMaxPlayers(teamParams.getMaxTeamSize());

    boolean alwaysTeamNames = false;
    if (index != -1) {
      StateGraph tops = teamParams.getStateGraph();
      team.setTeamChatColor(TeamUtil.getTeamChatColor(index));
      if (tops != null) {
        if (tops.hasAnyOption(TransitionOption.WOOLTEAMS) && teamParams.getMaxTeamSize() > 1
            || tops.hasAnyOption(TransitionOption.ALWAYSWOOLTEAMS)) {
          team.setHeadItem(TeamUtil.getTeamHead(index));
        }
        alwaysTeamNames = tops.hasAnyOption(TransitionOption.ALWAYSTEAMNAMES);
      }

      final String name;
      if (!isTeamParam || teamParams.getThisDisplayName() == null) {
        name = TeamUtil.getTeamName(index);
        if (alwaysTeamNames
            || (!team.hasSetName()
                && team.getDisplayName().length() > Defaults.MAX_TEAM_NAME_APPEND)) {
          team.setDisplayName(name);
        }
      } else {
        name = teamParams.getThisDisplayName();
        team.setDisplayName(name);
      }
      team.setScoreboardDisplayName(
          name.length() > Defaults.MAX_SCOREBOARD_NAME_SIZE
              ? name.substring(0, Defaults.MAX_SCOREBOARD_NAME_SIZE)
              : name);
    }
  }