diff --git a/ProtocolLib/src/com/comphenix/protocol/injector/EntityUtilities.java b/ProtocolLib/src/com/comphenix/protocol/injector/EntityUtilities.java index c7c4d82d..e3c4a2c9 100644 --- a/ProtocolLib/src/com/comphenix/protocol/injector/EntityUtilities.java +++ b/ProtocolLib/src/com/comphenix/protocol/injector/EntityUtilities.java @@ -35,6 +35,37 @@ class EntityUtilities { private static Method hashGetMethod; private static Method scanPlayersMethod; + /* + * While this function may look pretty bad, it's essentially just a reflection-warped + * version of the following: + * + * @SuppressWarnings("unchecked") + * public static void updateEntity2(Entity entity, List observers) { + * + * World world = entity.getWorld(); + * WorldServer worldServer = ((CraftWorld) world).getHandle(); + * + * EntityTracker tracker = worldServer.tracker; + * EntityTrackerEntry entry = (EntityTrackerEntry) tracker.trackedEntities.get(entity.getEntityId()); + * + * List nmsPlayers = getNmsPlayers(observers); + * + * entry.trackedPlayers.removeAll(nmsPlayers); + * entry.scanPlayers(nmsPlayers); + * } + * + * private static List getNmsPlayers(List players) { + * List nsmPlayers = new ArrayList(); + * + * for (Player bukkitPlayer : players) { + * CraftPlayer craftPlayer = (CraftPlayer) bukkitPlayer; + * nsmPlayers.add(craftPlayer.getHandle()); + * } + * + * return nsmPlayers; + * } + * + */ public static void updateEntity(Entity entity, List observers) throws FieldAccessException { World world = entity.getWorld();