From 22159fa9f40a58b68f977a76f51fbe1a21052987 Mon Sep 17 00:00:00 2001 From: LoJoSho Date: Fri, 27 Jun 2025 10:18:35 -0500 Subject: [PATCH] fix: duplicate entity ids in passengers --- .../packets/CosmeticPacketInterface.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/packets/CosmeticPacketInterface.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/packets/CosmeticPacketInterface.java index 7be48d81..b49dc680 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/packets/CosmeticPacketInterface.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/packets/CosmeticPacketInterface.java @@ -127,18 +127,17 @@ public class CosmeticPacketInterface implements PacketInterface { Optional optionalCosmeticUser = CosmeticUsers.values().stream().filter(user -> user.getPlayer() != null).filter(user -> ownerId == user.getPlayer().getEntityId()).findFirst(); if (optionalCosmeticUser.isEmpty()) return PacketAction.NOTHING; - Player entity = optionalCosmeticUser.get().getPlayer(); - - CosmeticUser user = CosmeticUsers.getUser(entity.getUniqueId()); - if (user == null) return PacketAction.NOTHING; + CosmeticUser user = optionalCosmeticUser.get(); MessagesUtil.sendDebugMessages("Mount Packet Sent - " + user.getUniqueId()); if (!user.hasCosmeticInSlot(CosmeticSlot.BACKPACK)) return PacketAction.NOTHING; if (user.getUserBackpackManager() == null) return PacketAction.NOTHING; - List passengers = new ArrayList<>(user.getUserBackpackManager().getEntityManager().getIds()); - for (int passenger : originalPassengers) passengers.add(passenger); - + ArrayList passengers = new ArrayList<>(user.getUserBackpackManager().getEntityManager().getIds()); + for (int i : originalPassengers) { + if (passengers.contains(i)) continue; // Prevent same id from being used twice in different places + passengers.add(i); + } wrapper.setPassengers(passengers); return PacketAction.CHANGED; }