From 37c88685324165dad8692dae03014cbfeb119936 Mon Sep 17 00:00:00 2001 From: Travis Watkins Date: Tue, 31 Jan 2012 13:54:15 -0600 Subject: [Bleeding] Implemented Vanish API. Remove players that cannot see a player from their EntityTrackerEntry and only send user list updates to players who can see the player they reference. --- src/main/java/net/minecraft/server/EntityTrackerEntry.java | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/main/java/net/minecraft/server/EntityTrackerEntry.java') diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java index caef4df7..6ccf0189 100644 --- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java +++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java @@ -187,6 +187,14 @@ public class EntityTrackerEntry { if (d0 >= (double) (-this.b) && d0 <= (double) this.b && d1 >= (double) (-this.b) && d1 <= (double) this.b) { if (!this.trackedPlayers.contains(entityplayer)) { + // CraftBukkit start + if (tracker instanceof EntityPlayer) { + org.bukkit.entity.Player player = ((EntityPlayer) tracker).getBukkitEntity(); + if (!entityplayer.getBukkitEntity().canSee(player)) { + return; + } + } + // CraftBukkit end this.trackedPlayers.add(entityplayer); entityplayer.netServerHandler.sendPacket(this.b()); if (this.isMoving) { -- cgit v1.2.3