diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java index 12ea3ea1..047d099c 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/manager/UserWardrobeManager.java @@ -103,6 +103,7 @@ public class UserWardrobeManager { // NPC 2 Bukkit.getScheduler().runTaskLater(HMCCosmeticsPlugin.getInstance(), () -> { PacketManager.sendFakePlayerSpawnPacket(npcLocation, WARDROBE_UUID, NPC_ID, viewer); + PacketManager.sendPlayerOverlayPacket(NPC_ID, viewer); MessagesUtil.sendDebugMessages("Spawned Fake Player on " + npcLocation); NMSHandlers.getHandler().hideNPCName(player, npcName); }, 4); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/util/packets/PacketManager.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/util/packets/PacketManager.java index 9638cc15..04101dbe 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/util/packets/PacketManager.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/util/packets/PacketManager.java @@ -393,10 +393,19 @@ public class PacketManager extends BasePacket { PacketContainer packet = new PacketContainer(PacketType.Play.Server.ENTITY_METADATA); packet.getModifier().writeDefaults(); packet.getIntegers().write(0, playerId); - WrappedDataWatcher wrapper = new WrappedDataWatcher(); - wrapper.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(17, WrappedDataWatcher.Registry.get(Byte.class)), mask); - wrapper.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, WrappedDataWatcher.Registry.get(Byte.class)), (byte) 0x10); - packet.getWatchableCollectionModifier().write(0, wrapper.getWatchableObjects()); + + if (NMSHandlers.getVersion().contains("v1_18_R2") || NMSHandlers.getVersion().contains("v1_19_R1")) { + WrappedDataWatcher wrapper = new WrappedDataWatcher(); + wrapper.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(17, WrappedDataWatcher.Registry.get(Byte.class)), mask); + wrapper.setObject(new WrappedDataWatcher.WrappedDataWatcherObject(15, WrappedDataWatcher.Registry.get(Byte.class)), (byte) 0x10); + packet.getWatchableCollectionModifier().write(0, wrapper.getWatchableObjects()); + } else { + final List wrappedDataValueList = Lists.newArrayList(); + wrappedDataValueList.add(new WrappedDataValue(17, WrappedDataWatcher.Registry.get(Byte.class), mask)); + wrappedDataValueList.add(new WrappedDataValue(15, WrappedDataWatcher.Registry.get(Byte.class), (byte) 0x10)); + packet.getDataValueCollectionModifier().write(0, wrappedDataValueList); + } + for (final Player p : sendTo) { sendPacket(p, packet); }