diff --git a/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/LibsPackets.java b/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/LibsPackets.java index 060c4a0d..5ab36b26 100644 --- a/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/LibsPackets.java +++ b/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/LibsPackets.java @@ -30,16 +30,14 @@ import java.util.Map; @RequiredArgsConstructor @Setter public class LibsPackets { + @Getter private final ArrayList packets = new ArrayList<>(); private final HashMap> delayedPacketsMap = new HashMap<>(); + @Getter private final Disguise disguise; private boolean unhandled; private boolean skinHandling; - public Disguise getDisguise() { - return disguise; - } - public void addPacket(PacketContainer packet) { packets.add(packet); } @@ -60,10 +58,6 @@ public class LibsPackets { delayedPacketsMap.get(ticksDelayed).add(packet); } - public ArrayList getPackets() { - return packets; - } - public void sendDelayed(final Player observer) { for (Map.Entry> entry : getDelayedPacketsMap().entrySet()) { Bukkit.getScheduler().scheduleSyncDelayedTask(LibsDisguises.getInstance(), () -> { diff --git a/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/packethandlers/PacketHandlerSpawn.java b/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/packethandlers/PacketHandlerSpawn.java index 3c612cc0..a80bb142 100644 --- a/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/packethandlers/PacketHandlerSpawn.java +++ b/plugin/src/main/java/me/libraryaddict/disguise/utilities/packets/packethandlers/PacketHandlerSpawn.java @@ -445,6 +445,12 @@ public class PacketHandlerSpawn implements IPacketHandler { packets.addDelayedPacket(packet); } } + + if (disguisedEntity != observer && observer.getSpectatorTarget() == disguisedEntity) { + PacketContainer camera = new PacketContainer(PacketType.Play.Server.CAMERA); + camera.getIntegers().write(0, disguisedEntity.getEntityId()); + packets.addPacket(camera); + } } private static PacketContainer constructLivingPacket(Player observer, LibsPackets packets, Entity disguisedEntity, Location loc, byte pitch, byte yaw) {