Optimized create scoreboards.
This commit is contained in:
parent
231ffd7234
commit
6cac04d399
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue