From cf34ddc32eec0a4e2f022c2c72bbc635997721c2 Mon Sep 17 00:00:00 2001 From: Pyrbu Date: Mon, 24 Apr 2023 14:18:49 +0100 Subject: [PATCH] filter out null equipment (fixes #25) --- src/main/java/io/github/znetworkw/znpcservers/npc/NPC.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/znetworkw/znpcservers/npc/NPC.java b/src/main/java/io/github/znetworkw/znpcservers/npc/NPC.java index cb4cc41..7faea9d 100644 --- a/src/main/java/io/github/znetworkw/znpcservers/npc/NPC.java +++ b/src/main/java/io/github/znetworkw/znpcservers/npc/NPC.java @@ -244,7 +244,7 @@ public class NPC { PacketEvents.getAPI().getPlayerManager().sendPacket(player, new WrapperPlayServerSpawnPlayer(entityID, this.gameProfile.getId(), SpigotConversionUtil.fromBukkitLocation(location.toBukkitLocation()))); PacketEvents.getAPI().getPlayerManager().sendPacket(player, new WrapperPlayServerEntityMetadata(entityID, - List.of(new EntityData(17, EntityDataTypes.BYTE, Byte.MAX_VALUE)))); + List.of(new EntityData(17, EntityDataTypes.BYTE, Byte.MAX_VALUE)))); // 17 only works on ~1.19, this will need to be fixed in the entity rewrite PacketEvents.getAPI().getPlayerManager().sendPacket(player, new WrapperPlayServerEntityHeadLook(entityID, location.getYaw())); }); } @@ -337,6 +337,8 @@ public class NPC { public void sendEquipPackets(ZUser zUser) { if (this.npcPojo.getNpcEquip().isEmpty()) return; List equipment = npcPojo.getNpcEquip().entrySet().stream() + .filter(entry -> Objects.nonNull(entry.getKey())) + .filter(entry -> Objects.nonNull(entry.getValue())) .map(entry -> new Equipment(entry.getKey(), SpigotConversionUtil.fromBukkitItemStack(entry.getValue()))) .toList();