diff --git a/src/net/jitse/npclib/NPCLib.java b/src/net/jitse/npclib/NPCLib.java index d97a1dd..6a2f721 100644 --- a/src/net/jitse/npclib/NPCLib.java +++ b/src/net/jitse/npclib/NPCLib.java @@ -7,8 +7,7 @@ package net.jitse.npclib; import net.jitse.npclib.api.NPC; import net.jitse.npclib.listeners.ChunkListener; import net.jitse.npclib.listeners.PacketListener; -import net.jitse.npclib.listeners.PlayerLeaveListener; -import net.jitse.npclib.listeners.PlayerMoveListener; +import net.jitse.npclib.listeners.PlayerListener; import net.jitse.npclib.skin.Skin; import net.jitse.npclib.version.Version; import org.bukkit.ChatColor; @@ -48,8 +47,7 @@ public class NPCLib { private void registerInternal() { PluginManager pluginManager = server.getPluginManager(); - pluginManager.registerEvents(new PlayerMoveListener(), plugin); - pluginManager.registerEvents(new PlayerLeaveListener(), plugin); + pluginManager.registerEvents(new PlayerListener(), plugin); pluginManager.registerEvents(new ChunkListener(), plugin); new PacketListener().start(plugin); diff --git a/src/net/jitse/npclib/listeners/PlayerLeaveListener.java b/src/net/jitse/npclib/listeners/PlayerLeaveListener.java deleted file mode 100644 index ea4accb..0000000 --- a/src/net/jitse/npclib/listeners/PlayerLeaveListener.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Copyright (c) 2018 Jitse Boonstra - */ - -package net.jitse.npclib.listeners; - -import net.jitse.npclib.NPCManager; -import net.jitse.npclib.api.NPC; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.PlayerKickEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -/** - * @author Jitse Boonstra - */ -public class PlayerLeaveListener implements Listener { - - @EventHandler - public void onPlayerQuit(PlayerQuitEvent event) { - handleEvent(event.getPlayer()); - } - - @EventHandler - public void onPlayerKick(PlayerKickEvent event) { - handleEvent(event.getPlayer()); - } - - private void handleEvent(Player player) { - for (NPC npc : NPCManager.getAllNPCs()) { - if (npc.getAutoHidden().contains(player.getUniqueId())) { - npc.getAutoHidden().remove(player.getUniqueId()); - } - - if (npc.isActuallyShown(player)) { - npc.hide(player); - } - } - } -} diff --git a/src/net/jitse/npclib/listeners/PlayerMoveListener.java b/src/net/jitse/npclib/listeners/PlayerListener.java similarity index 81% rename from src/net/jitse/npclib/listeners/PlayerMoveListener.java rename to src/net/jitse/npclib/listeners/PlayerListener.java index fa73851..29e9f15 100644 --- a/src/net/jitse/npclib/listeners/PlayerMoveListener.java +++ b/src/net/jitse/npclib/listeners/PlayerListener.java @@ -12,12 +12,27 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerMoveEvent; +import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerTeleportEvent; /** * @author Jitse Boonstra */ -public class PlayerMoveListener implements Listener { +public class PlayerListener implements Listener { + + @EventHandler + public void onPlayerQuit(PlayerQuitEvent event) { + Player player = event.getPlayer(); + for (NPC npc : NPCManager.getAllNPCs()) { + if (npc.getAutoHidden().contains(player.getUniqueId())) { + npc.getAutoHidden().remove(player.getUniqueId()); + } + + if (npc.isActuallyShown(player)) { + npc.hide(player); + } + } + } @EventHandler public void onPlayerMove(PlayerMoveEvent event) { diff --git a/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index 1bc7b21..9d66c1f 100644 --- a/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_10_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -25,6 +25,8 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class) .set(packetPlayOutScoreboardTeam, "never"); + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "f", String.class) + .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( diff --git a/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index 0b88683..72f6f3b 100644 --- a/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_11_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -25,6 +25,8 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class) .set(packetPlayOutScoreboardTeam, "never"); + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "f", String.class) + .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( diff --git a/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index d6e3a98..6a1d4a5 100644 --- a/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_12_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -25,6 +25,8 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class) .set(packetPlayOutScoreboardTeam, "never"); + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "f", String.class) + .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( diff --git a/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java index 5691d41..ea81eee 100644 --- a/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R1/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -25,6 +25,8 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class) .set(packetPlayOutScoreboardTeam, "never"); + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "f", String.class) + .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField( diff --git a/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java index 1131d1e..38e4b3e 100644 --- a/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java +++ b/src/net/jitse/npclib/nms/v1_9_R2/packets/PacketPlayOutScoreboardTeamWrapper.java @@ -25,6 +25,8 @@ public class PacketPlayOutScoreboardTeamWrapper { .set(packetPlayOutScoreboardTeam, name); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "e", String.class) .set(packetPlayOutScoreboardTeam, "never"); + Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "f", String.class) + .set(packetPlayOutScoreboardTeam, "never"); Reflection.getField(packetPlayOutScoreboardTeam.getClass(), "i", int.class) .set(packetPlayOutScoreboardTeam, 0); Reflection.FieldAccessor collectionFieldAccessor = Reflection.getField(