@Override public void playerJoinedLate(Player player) { // put this player onto one of the teams with the fewest survivors TeamInfo[] teams = getTeams(); int[] teamCounts = new int[numTeams.getValue()]; for (int i = 0; i < teamCounts.length; i++) teamCounts[i] = getOnlinePlayers(new PlayerFilter().team(teams[i])).size(); TeamInfo team = allocatePlayer(player, teamCounts); broadcastMessage( new PlayerFilter().exclude(player), player.getName() + " has joined the " + team.getChatColor() + team.getName()); }
private TeamInfo allocatePlayer(Player player, int[] teamCounts) { int teamNum = Helper.getLowestValueIndex(teamCounts); TeamInfo team = getTeams()[teamNum]; setTeam(player, team); teamCounts[teamNum]++; player.sendMessage( "You are on the " + team.getChatColor() + team.getName() + "\n" + ChatColor.RESET + "Use the /team command to send messages to your team only"); equipPlayer(player, team); return team; }