From d5d4a9769440853d6f36600865b94a5dd215944b Mon Sep 17 00:00:00 2001 From: TheMode Date: Wed, 22 Sep 2021 19:12:48 +0200 Subject: [PATCH] `EntityTeleportPacket` must also be prepared Signed-off-by: TheMode --- src/main/java/net/minestom/server/entity/Entity.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java index ef90b679c..2e58bf8e8 100644 --- a/src/main/java/net/minestom/server/entity/Entity.java +++ b/src/main/java/net/minestom/server/entity/Entity.java @@ -24,6 +24,7 @@ import net.minestom.server.instance.InstanceManager; import net.minestom.server.instance.block.Block; import net.minestom.server.instance.block.BlockGetter; import net.minestom.server.instance.block.BlockHandler; +import net.minestom.server.network.packet.server.ServerPacket; import net.minestom.server.network.packet.server.play.*; import net.minestom.server.network.player.PlayerConnection; import net.minestom.server.permission.Permission; @@ -1386,9 +1387,11 @@ public class Entity implements Viewable, Tickable, TagHandler, PermissionHandler */ @ApiStatus.Internal protected void synchronizePosition(boolean includeSelf) { - sendPacketToViewers(new EntityTeleportPacket(getEntityId(), position, isOnGround())); + final Pos posCache = this.position; + final ServerPacket packet = new EntityTeleportPacket(getEntityId(), posCache, isOnGround()); + PacketUtils.prepareViewablePacket(currentChunk, packet, this instanceof Player ? (Player) this : null); this.lastAbsoluteSynchronizationTime = System.currentTimeMillis(); - this.lastSyncedPosition = position; + this.lastSyncedPosition = posCache; } /**