Files
CatServer/patches/net/minecraft/scoreboard/ServerScoreboard.java.patch
2018-09-01 13:48:12 +08:00

130 lines
5.4 KiB
Diff

--- ../src-base/minecraft/net/minecraft/scoreboard/ServerScoreboard.java
+++ ../src-work/minecraft/net/minecraft/scoreboard/ServerScoreboard.java
@@ -30,7 +30,7 @@
if (this.addedObjectives.contains(scoreIn.getObjective()))
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketUpdateScore(scoreIn));
+ this.sendAll(new SPacketUpdateScore(scoreIn));
}
this.markSaveDataDirty();
@@ -39,14 +39,14 @@
public void broadcastScoreUpdate(String scoreName)
{
super.broadcastScoreUpdate(scoreName);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketUpdateScore(scoreName));
+ this.sendAll(new SPacketUpdateScore(scoreName));
this.markSaveDataDirty();
}
public void broadcastScoreUpdate(String scoreName, ScoreObjective objective)
{
super.broadcastScoreUpdate(scoreName, objective);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketUpdateScore(scoreName, objective));
+ this.sendAll(new SPacketUpdateScore(scoreName, objective));
this.markSaveDataDirty();
}
@@ -59,7 +59,7 @@
{
if (this.getObjectiveDisplaySlotCount(scoreobjective) > 0)
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketDisplayObjective(objectiveSlot, objective));
+ this.sendAll(new SPacketDisplayObjective(objectiveSlot, objective));
}
else
{
@@ -71,7 +71,7 @@
{
if (this.addedObjectives.contains(objective))
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketDisplayObjective(objectiveSlot, objective));
+ this.sendAll(new SPacketDisplayObjective(objectiveSlot, objective));
}
else
{
@@ -87,7 +87,7 @@
if (super.addPlayerToTeam(player, newTeam))
{
ScorePlayerTeam scoreplayerteam = this.getTeam(newTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(scoreplayerteam, Arrays.asList(new String[] {player}), 3));
+ this.sendAll(new SPacketTeams(scoreplayerteam, Arrays.asList(new String[] {player}), 3));
this.markSaveDataDirty();
return true;
}
@@ -100,7 +100,7 @@
public void removePlayerFromTeam(String username, ScorePlayerTeam playerTeam)
{
super.removePlayerFromTeam(username, playerTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(playerTeam, Arrays.asList(new String[] {username}), 4));
+ this.sendAll(new SPacketTeams(playerTeam, Arrays.asList(new String[] {username}), 4));
this.markSaveDataDirty();
}
@@ -116,7 +116,7 @@
if (this.addedObjectives.contains(objective))
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketScoreboardObjective(objective, 2));
+ this.sendAll(new SPacketScoreboardObjective(objective, 2));
}
this.markSaveDataDirty();
@@ -137,21 +137,21 @@
public void broadcastTeamCreated(ScorePlayerTeam playerTeam)
{
super.broadcastTeamCreated(playerTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(playerTeam, 0));
+ this.sendAll(new SPacketTeams(playerTeam, 0));
this.markSaveDataDirty();
}
public void broadcastTeamInfoUpdate(ScorePlayerTeam playerTeam)
{
super.broadcastTeamInfoUpdate(playerTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(playerTeam, 2));
+ this.sendAll(new SPacketTeams(playerTeam, 2));
this.markSaveDataDirty();
}
public void broadcastTeamRemove(ScorePlayerTeam playerTeam)
{
super.broadcastTeamRemove(playerTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(playerTeam, 1));
+ this.sendAll(new SPacketTeams(playerTeam, 1));
this.markSaveDataDirty();
}
@@ -196,6 +196,7 @@
for (EntityPlayerMP entityplayermp : this.scoreboardMCServer.getPlayerList().getPlayerList())
{
+ if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() != this) continue; // CraftBukkit - Only players on this board
for (Packet<?> packet : list)
{
entityplayermp.connection.sendPacket(packet);
@@ -227,6 +228,7 @@
for (EntityPlayerMP entityplayermp : this.scoreboardMCServer.getPlayerList().getPlayerList())
{
+ if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() != this) continue; // CraftBukkit - Only players on this board
for (Packet<?> packet : list)
{
entityplayermp.connection.sendPacket(packet);
@@ -250,4 +252,14 @@
return i;
}
+
+ // CraftBukkit start - Send to players
+ private void sendAll(Packet packet) {
+ for (EntityPlayerMP entityplayer : (List<EntityPlayerMP>) this.scoreboardMCServer.getPlayerList().playerEntityList) {
+ if (entityplayer.getBukkitEntity().getScoreboard().getHandle() == this) {
+ entityplayer.connection.sendPacket(packet);
+ }
+ }
+ }
+ // CraftBukkit end
}