diff --git a/src/main/java/net/citizensnpcs/util/NMS.java b/src/main/java/net/citizensnpcs/util/NMS.java index 90c22aa2b..891fd4b2d 100644 --- a/src/main/java/net/citizensnpcs/util/NMS.java +++ b/src/main/java/net/citizensnpcs/util/NMS.java @@ -553,6 +553,19 @@ public class NMS { ((CraftServer) Bukkit.getServer()).getHandle().players.remove(handle); } + public static void addOrRemoveFromPlayerList(org.bukkit.entity.Entity entity, boolean remove) { + if (entity == null) + return; + EntityHuman handle = (EntityHuman) getHandle(entity); + if (handle.world == null) + return; + if (remove) { + handle.world.players.remove(handle); + } else if (!handle.world.players.contains(handle)) { + handle.world.players.add(handle); + } + } + @SuppressWarnings("rawtypes") public static void replaceTrackerEntry(Player player) { WorldServer server = (WorldServer) NMS.getHandle(player).getWorld();