@@ -39,7 +39,6 @@ public class PacketListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object onPacketInAsync(Player player, Channel channel, Object packet) {
|
public Object onPacketInAsync(Player player, Channel channel, Object packet) {
|
||||||
|
|
||||||
if (packetPlayInUseEntityClazz.isInstance(packet)) {
|
if (packetPlayInUseEntityClazz.isInstance(packet)) {
|
||||||
NPC npc = NPCManager.getAllNPCs().stream().filter(
|
NPC npc = NPCManager.getAllNPCs().stream().filter(
|
||||||
check -> check.isActuallyShown(player) && check.getEntityId() == (int) entityIdField.get(packet))
|
check -> check.isActuallyShown(player) && check.getEntityId() == (int) entityIdField.get(packet))
|
||||||
|
|||||||
@@ -14,7 +14,6 @@ import org.bukkit.event.EventHandler;
|
|||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||||
import org.bukkit.event.player.PlayerMoveEvent;
|
import org.bukkit.event.player.PlayerMoveEvent;
|
||||||
import org.bukkit.event.player.PlayerQuitEvent;
|
|
||||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -22,21 +21,6 @@ import org.bukkit.event.player.PlayerTeleportEvent;
|
|||||||
*/
|
*/
|
||||||
public class PlayerListener 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());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Don't need to use NPC#hide since the entity is not registered in the NMS server.
|
|
||||||
if (npc.getShown().contains(player.getUniqueId())) {
|
|
||||||
npc.getShown().remove(player.getUniqueId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {
|
public void onPlayerChangedWorld(PlayerChangedWorldEvent event) {
|
||||||
Player player = event.getPlayer();
|
Player player = event.getPlayer();
|
||||||
|
|||||||
@@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018 Jitse Boonstra
|
||||||
|
*/
|
||||||
|
|
||||||
|
package net.jitse.npclib.listeners.player;
|
||||||
|
|
||||||
|
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.PlayerQuitEvent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Jitse Boonstra
|
||||||
|
*/
|
||||||
|
public class PlayerQuitListener 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -82,9 +82,9 @@ public class NPC_V1_12_R1 extends NPC {
|
|||||||
|
|
||||||
hologram.spawn(player);
|
hologram.spawn(player);
|
||||||
|
|
||||||
|
// Todo: Test this new delay speed (custom skin render issue).
|
||||||
Bukkit.getScheduler().runTaskLater(plugin, () ->
|
Bukkit.getScheduler().runTaskLater(plugin, () ->
|
||||||
playerConnection.sendPacket(packetPlayOutPlayerInfoRemove), 5);
|
playerConnection.sendPacket(packetPlayOutPlayerInfoRemove), 10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2018 Jitse Boonstra
|
||||||
|
*/
|
||||||
|
|
||||||
|
package net.jitse.npclib.nms.v1_12_R1.packets;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author Jitse Boonstra
|
||||||
|
*/
|
||||||
|
public class PacketPlayOutEntityTeleportWrapper {
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user