Optimized create scoreboards.

This commit is contained in:
Jonathan Williams 2014-06-19 00:48:04 -07:00
parent 231ffd7234
commit 6cac04d399
1 changed files with 29 additions and 26 deletions

View File

@ -31,7 +31,6 @@ import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.scoreboard.DisplaySlot;
import org.bukkit.scoreboard.Objective;
import org.bukkit.scoreboard.Scoreboard;
import org.bukkit.scoreboard.Team;
import mineplex.core.account.CoreClient;
import mineplex.core.common.Rank;
@ -64,7 +63,6 @@ import net.minecraft.server.v1_7_R3.DataWatcher;
import net.minecraft.server.v1_7_R3.Packet;
import net.minecraft.server.v1_7_R3.PacketPlayOutSpawnEntityLiving;
import net.minecraft.server.v1_7_R3.PacketPlayOutEntityMetadata;
import net.minecraft.server.v1_7_R3.QueuedPacket;
import net.minecraft.server.v1_7_R3.WatchableObject;
public class GameLobbyManager implements IPacketRunnable, Listener
@ -128,10 +126,17 @@ public class GameLobbyManager implements IPacketRunnable, Listener
public void CreateScoreboards()
{
for (Player player : UtilServer.getPlayers())
CreateScoreboard(player);
{
CreateScoreboard(player, false);
}
private void CreateScoreboard(Player player)
for (Player otherPlayer : UtilServer.getPlayers())
{
AddPlayerToScoreboards(otherPlayer, null);
}
}
private void CreateScoreboard(Player player, boolean resendToAll)
{
_scoreboardMap.put(player, Bukkit.getScoreboardManager().getNewScoreboard());
@ -166,11 +171,14 @@ public class GameLobbyManager implements IPacketRunnable, Listener
}
}
if (resendToAll)
{
for (Player otherPlayer : UtilServer.getPlayers())
{
AddPlayerToScoreboards(otherPlayer, null);
}
}
}
public Collection<Scoreboard> GetScoreboards()
{
@ -837,9 +845,7 @@ public class GameLobbyManager implements IPacketRunnable, Listener
else
WriteGameLine(game.GetMode(), 1, 159, (byte)14);
DisplayWaiting();
CreateKits(game);
CreateTeams(game);
}
@ -869,7 +875,7 @@ public class GameLobbyManager implements IPacketRunnable, Listener
{
if (!HasScoreboard(player))
{
CreateScoreboard(player);
CreateScoreboard(player, true);
}
else
{
@ -1097,27 +1103,24 @@ public class GameLobbyManager implements IPacketRunnable, Listener
public void AddPlayerToScoreboards(Player player, String teamName)
{
for (Scoreboard scoreboard : GetScoreboards())
{
for (Team team : scoreboard.getTeams())
team.removePlayer(player);
}
if (teamName == null)
teamName = "";
for (Scoreboard scoreboard : GetScoreboards())
{
String rankName = Manager.GetClients().Get(player).GetRank().Name;
boolean rankIsUltra = !Manager.GetClients().Get(player).GetRank().Has(Rank.ULTRA) && Manager.GetDonation().Get(player.getName()).OwnsUnknownPackage(Manager.GetServerConfig().ServerType + " ULTRA");
if (!Manager.GetClients().Get(player).GetRank().Has(Rank.ULTRA) && Manager.GetDonation().Get(player.getName()).OwnsUnknownPackage(Manager.GetServerConfig().ServerType + " ULTRA"))
if (rankIsUltra)
{
rankName = Rank.ULTRA.Name;
}
teamName = rankName + teamName;
for (Scoreboard scoreboard : GetScoreboards())
{
try
{
scoreboard.getTeam(rankName + teamName).addPlayer(player);
scoreboard.getTeam(teamName).addPlayer(player);
}
catch (Exception e)
{