Files
2019-02-24 22:29:41 +08:00

136 lines
5.4 KiB
Diff

--- ../src-base/minecraft/net/minecraft/scoreboard/ServerScoreboard.java
+++ ../src-work/minecraft/net/minecraft/scoreboard/ServerScoreboard.java
@@ -5,6 +5,7 @@
import java.util.Arrays;
import java.util.List;
import java.util.Set;
+
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.network.Packet;
import net.minecraft.network.play.server.SPacketDisplayObjective;
@@ -30,7 +31,7 @@
if (this.addedObjectives.contains(scoreIn.getObjective()))
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketUpdateScore(scoreIn));
+ this.sendAll(new SPacketUpdateScore(scoreIn));
}
this.markSaveDataDirty();
@@ -39,14 +40,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 +60,7 @@
{
if (this.getObjectiveDisplaySlotCount(scoreobjective) > 0)
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketDisplayObjective(objectiveSlot, objective));
+ this.sendAll(new SPacketDisplayObjective(objectiveSlot, objective));
}
else
{
@@ -71,7 +72,7 @@
{
if (this.addedObjectives.contains(objective))
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketDisplayObjective(objectiveSlot, objective));
+ this.sendAll(new SPacketDisplayObjective(objectiveSlot, objective));
}
else
{
@@ -87,7 +88,7 @@
if (super.addPlayerToTeam(player, newTeam))
{
ScorePlayerTeam scoreplayerteam = this.getTeam(newTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(scoreplayerteam, Arrays.asList(player), 3));
+ this.sendAll(new SPacketTeams(scoreplayerteam, Arrays.asList(player), 3));
this.markSaveDataDirty();
return true;
}
@@ -100,7 +101,7 @@
public void removePlayerFromTeam(String username, ScorePlayerTeam playerTeam)
{
super.removePlayerFromTeam(username, playerTeam);
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketTeams(playerTeam, Arrays.asList(username), 4));
+ this.sendAll(new SPacketTeams(playerTeam, Arrays.asList(username), 4));
this.markSaveDataDirty();
}
@@ -116,7 +117,7 @@
if (this.addedObjectives.contains(objective))
{
- this.scoreboardMCServer.getPlayerList().sendPacketToAllPlayers(new SPacketScoreboardObjective(objective, 2));
+ this.sendAll(new SPacketScoreboardObjective(objective, 2));
}
this.markSaveDataDirty();
@@ -137,21 +138,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 +197,7 @@
for (EntityPlayerMP entityplayermp : this.scoreboardMCServer.getPlayerList().getPlayers())
{
+ if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() != this) continue; // CraftBukkit - Only players on this board
for (Packet<?> packet : list)
{
entityplayermp.connection.sendPacket(packet);
@@ -227,6 +229,7 @@
for (EntityPlayerMP entityplayermp : this.scoreboardMCServer.getPlayerList().getPlayers())
{
+ if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() != this) continue; // CraftBukkit - Only players on this board
for (Packet<?> packet : list)
{
entityplayermp.connection.sendPacket(packet);
@@ -250,4 +253,12 @@
return i;
}
+
+ private void sendAll(Packet packet) {
+ for (EntityPlayerMP entityplayer : this.scoreboardMCServer.getPlayerList().getPlayers()) {
+ if (entityplayer.getBukkitEntity().getScoreboard().getHandle() == this) {
+ entityplayer.connection.sendPacket(packet);
+ }
+ }
+ }
}