如何从选项卡列表中删除 NPC(Minecraft 实体玩家)?

问题描述 投票:0回答:1

如何从选项卡列表中删除 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 有皮肤,但在选项卡列表中。

java minecraft bukkit
1个回答
0
投票

您可以通过以下代码来完成:

npc.setPlayerListName(""); // hide npc name in tab
© www.soinside.com 2019 - 2024. All rights reserved.