Commits

Gero Cammans authored and md_5 committed c26a7b54dc3
#1000: Add PlayerHideEntityEvent and PlayerShowEntityEvent
No tags

src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java

Modified
119 119 import org.bukkit.craftbukkit.inventory.CraftItemStack;
120 120 import org.bukkit.craftbukkit.map.CraftMapView;
121 121 import org.bukkit.craftbukkit.map.RenderData;
122 122 import org.bukkit.craftbukkit.scoreboard.CraftScoreboard;
123 123 import org.bukkit.craftbukkit.util.CraftChatMessage;
124 124 import org.bukkit.craftbukkit.util.CraftMagicNumbers;
125 125 import org.bukkit.craftbukkit.util.CraftNamespacedKey;
126 126 import org.bukkit.entity.EntityType;
127 127 import org.bukkit.entity.LivingEntity;
128 128 import org.bukkit.entity.Player;
129 +import org.bukkit.event.player.PlayerHideEntityEvent;
129 130 import org.bukkit.event.player.PlayerRegisterChannelEvent;
131 +import org.bukkit.event.player.PlayerShowEntityEvent;
130 132 import org.bukkit.event.player.PlayerTeleportEvent;
131 133 import org.bukkit.event.player.PlayerUnregisterChannelEvent;
132 134 import org.bukkit.inventory.EquipmentSlot;
133 135 import org.bukkit.inventory.InventoryView.Property;
134 136 import org.bukkit.inventory.ItemStack;
135 137 import org.bukkit.map.MapCursor;
136 138 import org.bukkit.map.MapView;
137 139 import org.bukkit.metadata.MetadataValue;
138 140 import org.bukkit.plugin.Plugin;
139 141 import org.bukkit.plugin.messaging.StandardMessenger;
1119 1121 entry.removePlayer(getHandle());
1120 1122 }
1121 1123
1122 1124 // Remove the hidden entity from this player user list, if they're on it
1123 1125 if (other instanceof EntityPlayer) {
1124 1126 EntityPlayer otherPlayer = (EntityPlayer) other;
1125 1127 if (otherPlayer.sentListPacket) {
1126 1128 getHandle().connection.send(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, otherPlayer));
1127 1129 }
1128 1130 }
1131 +
1132 + server.getPluginManager().callEvent(new PlayerHideEntityEvent(this, entity));
1129 1133 }
1130 1134
1131 1135 @Override
1132 1136 @Deprecated
1133 1137 public void showPlayer(Player player) {
1134 1138 showEntity0(null, player);
1135 1139 }
1136 1140
1137 1141 @Override
1138 1142 public void showPlayer(Plugin plugin, Player player) {
1167 1171
1168 1172 if (other instanceof EntityPlayer) {
1169 1173 EntityPlayer otherPlayer = (EntityPlayer) other;
1170 1174 getHandle().connection.send(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, otherPlayer));
1171 1175 }
1172 1176
1173 1177 PlayerChunkMap.EntityTracker entry = tracker.entityMap.get(other.getId());
1174 1178 if (entry != null && !entry.seenBy.contains(getHandle().connection)) {
1175 1179 entry.updatePlayer(getHandle());
1176 1180 }
1181 +
1182 + server.getPluginManager().callEvent(new PlayerShowEntityEvent(this, entity));
1177 1183 }
1178 1184
1179 1185 public void onEntityRemove(Entity entity) {
1180 1186 hiddenEntities.remove(entity.getUUID());
1181 1187 }
1182 1188
1183 1189 @Override
1184 1190 public boolean canSee(Player player) {
1185 1191 return canSee((org.bukkit.entity.Entity) player);
1186 1192 }

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut