--- ../src-base/minecraft/net/minecraft/scoreboard/ServerScoreboard.java +++ ../src-work/minecraft/net/minecraft/scoreboard/ServerScoreboard.java @@ -32,7 +32,7 @@ if (this.field_96553_b.contains(p_96536_1_.func_96645_d())) { - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3CPacketUpdateScore(p_96536_1_, 0)); + this.sendAll(new S3CPacketUpdateScore(p_96536_1_, 0)); // CraftBukkit - Internal packet method } this.func_96551_b(); @@ -41,7 +41,7 @@ public void func_96516_a(String p_96516_1_) { super.func_96516_a(p_96516_1_); - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3CPacketUpdateScore(p_96516_1_)); + this.sendAll(new S3CPacketUpdateScore(p_96516_1_)); // CraftBukkit - Internal packet method this.func_96551_b(); } @@ -54,7 +54,7 @@ { if (this.func_96552_h(scoreobjective1) > 0) { - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3DPacketDisplayScoreboard(p_96530_1_, p_96530_2_)); + this.sendAll(new S3DPacketDisplayScoreboard(p_96530_1_, p_96530_2_)); // CraftBukkit - Internal packet method } else { @@ -66,7 +66,7 @@ { if (this.field_96553_b.contains(p_96530_2_)) { - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3DPacketDisplayScoreboard(p_96530_1_, p_96530_2_)); + this.sendAll(new S3DPacketDisplayScoreboard(p_96530_1_, p_96530_2_)); // CraftBukkit - Internal packet method } else { @@ -82,7 +82,7 @@ if (super.func_151392_a(p_151392_1_, p_151392_2_)) { ScorePlayerTeam scoreplayerteam = this.getTeam(p_151392_2_); - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3EPacketTeams(scoreplayerteam, Arrays.asList(new String[] {p_151392_1_}), 3)); + this.sendAll(new S3EPacketTeams(scoreplayerteam, Arrays.asList(new String[] { p_151392_1_}), 3)); // CraftBukkit - Internal packet method this.func_96551_b(); return true; } @@ -95,7 +95,7 @@ public void removePlayerFromTeam(String p_96512_1_, ScorePlayerTeam p_96512_2_) { super.removePlayerFromTeam(p_96512_1_, p_96512_2_); - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3EPacketTeams(p_96512_2_, Arrays.asList(new String[] {p_96512_1_}), 4)); + this.sendAll(new S3EPacketTeams(p_96512_2_, Arrays.asList(new String[] { p_96512_1_}), 4)); // CraftBukkit - Internal packet method this.func_96551_b(); } @@ -111,7 +111,7 @@ if (this.field_96553_b.contains(p_96532_1_)) { - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3BPacketScoreboardObjective(p_96532_1_, 2)); + this.sendAll(new S3BPacketScoreboardObjective(p_96532_1_, 2)); // CraftBukkit - Internal packet method } this.func_96551_b(); @@ -132,21 +132,21 @@ public void broadcastTeamCreated(ScorePlayerTeam p_96523_1_) { super.broadcastTeamCreated(p_96523_1_); - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3EPacketTeams(p_96523_1_, 0)); + this.sendAll(new S3EPacketTeams(p_96523_1_, 0)); // CraftBukkit - Internal packet method this.func_96551_b(); } public void broadcastTeamRemoved(ScorePlayerTeam p_96538_1_) { super.broadcastTeamRemoved(p_96538_1_); - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3EPacketTeams(p_96538_1_, 2)); + this.sendAll(new S3EPacketTeams(p_96538_1_, 2)); // CraftBukkit - Internal packet method this.func_96551_b(); } public void func_96513_c(ScorePlayerTeam p_96513_1_) { super.func_96513_c(p_96513_1_); - this.scoreboardMCServer.getConfigurationManager().sendPacketToAllPlayers(new S3EPacketTeams(p_96513_1_, 1)); + this.sendAll(new S3EPacketTeams(p_96513_1_, 1)); // CraftBukkit - Internal packet method this.func_96551_b(); } @@ -194,7 +194,13 @@ while (iterator.hasNext()) { - EntityPlayerMP entityplayermp = (EntityPlayerMP)iterator.next(); + EntityPlayerMP entityplayermp = (EntityPlayerMP) iterator.next(); + + if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() != this) + { + continue; // CraftBukkit - Only players on this board + } + Iterator iterator1 = list.iterator(); while (iterator1.hasNext()) @@ -230,7 +236,13 @@ while (iterator.hasNext()) { - EntityPlayerMP entityplayermp = (EntityPlayerMP)iterator.next(); + EntityPlayerMP entityplayermp = (EntityPlayerMP) iterator.next(); + + if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() != this) + { + continue; // CraftBukkit - Only players on this board + } + Iterator iterator1 = list.iterator(); while (iterator1.hasNext()) @@ -257,4 +269,17 @@ return i; } + + // CraftBukkit start - Send to players + private void sendAll(Packet packet) + { + for (EntityPlayerMP entityplayermp : (List) this.scoreboardMCServer.getConfigurationManager().playerEntityList) + { + if (entityplayermp.getBukkitEntity().getScoreboard().getHandle() == this) + { + entityplayermp.playerNetServerHandler.sendPacket(packet); + } + } + } + // CraftBukkit end }