如何从选项卡列表中删除 NPC。
到目前为止我有这个:
public static void addNPCPacket(EntityPlayer npc) {
for(Player player : Bukkit.getOnlinePlayers()) {
PlayerConnection connection = ((CraftPlayer)player).getHandle().playerConnection;
connection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, npc));
connection.sendPacket(new PacketPlayOutNamedEntitySpawn(npc));
connection.sendPacket(new PacketPlayOutEntityHeadRotation(npc, (byte) (npc.yaw * 256 / 360)));
Bukkit.getScheduler().runTaskLater(Main.getPlugin(), new Runnable() {
@Override
public void run() {
connection.sendPacket(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, npc));
}
}, 10);
}
}
在这种情况下,NPC不在选项卡中,但也没有皮肤。 但如果我删除 REMOVE_PLAYER 事件,NPC 有皮肤,但在选项卡列表中。
您可以通过以下代码来完成:
npc.setPlayerListName(""); // hide npc name in tab