diff --git a/v1_19_R3/src/main/java/net/citizensnpcs/nms/v1_19_R3/util/CitizensEntityTracker.java b/v1_19_R3/src/main/java/net/citizensnpcs/nms/v1_19_R3/util/CitizensEntityTracker.java index 068367fac..b6fa2db36 100644 --- a/v1_19_R3/src/main/java/net/citizensnpcs/nms/v1_19_R3/util/CitizensEntityTracker.java +++ b/v1_19_R3/src/main/java/net/citizensnpcs/nms/v1_19_R3/util/CitizensEntityTracker.java @@ -16,6 +16,7 @@ import net.citizensnpcs.api.npc.NPC; import net.citizensnpcs.nms.v1_19_R3.entity.EntityHumanNPC; import net.citizensnpcs.npc.ai.NPCHolder; import net.citizensnpcs.util.NMS; +import net.minecraft.network.protocol.game.ClientboundMoveEntityPacket; import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ChunkMap.TrackedEntity; import net.minecraft.server.level.ServerEntity; @@ -61,9 +62,18 @@ public class CitizensEntityTracker extends ChunkMap.TrackedEntity { final ServerPlayer entityplayer = lastUpdatedPlayer; boolean sendTabRemove = NMS.sendTabListAdd(entityplayer.getBukkitEntity(), (Player) tracker.getBukkitEntity()); if (!sendTabRemove || !Setting.DISABLE_TABLIST.asBoolean()) { + Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), () -> { + NMSImpl.sendPacket(entityplayer.getBukkitEntity(), + new ClientboundMoveEntityPacket.Rot(tracker.getId(), + (byte) (tracker.getYRot() * 256.0F / 360.0F), + (byte) (tracker.getXRot() * 256.0F / 360.0F), tracker.onGround)); + }, 1); return; } Bukkit.getScheduler().scheduleSyncDelayedTask(CitizensAPI.getPlugin(), () -> { + NMSImpl.sendPacket(entityplayer.getBukkitEntity(), + new ClientboundMoveEntityPacket.Rot(tracker.getId(), (byte) (tracker.getYRot() * 256.0F / 360.0F), + (byte) (tracker.getXRot() * 256.0F / 360.0F), tracker.onGround)); NMS.sendTabListRemove(entityplayer.getBukkitEntity(), (Player) tracker.getBukkitEntity()); }, Setting.TABLIST_REMOVE_PACKET_DELAY.asTicks()); }