From 520c85fcdbfb9128b188f50f7290aaf9b91bca23 Mon Sep 17 00:00:00 2001 From: TheMode Date: Tue, 13 Jul 2021 18:21:32 +0200 Subject: [PATCH] Fix passenger position refresh --- src/main/java/net/minestom/server/entity/Entity.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java index cf063039b..006dd207b 100644 --- a/src/main/java/net/minestom/server/entity/Entity.java +++ b/src/main/java/net/minestom/server/entity/Entity.java @@ -1287,14 +1287,11 @@ public class Entity implements Viewable, Tickable, EventHandler, Da */ @ApiStatus.Internal public void refreshPosition(@NotNull final Pos position, boolean ignoreView) { - if (!position.samePoint(this.position)) { + final var previousPosition = this.position; + this.position = ignoreView ? previousPosition.withCoord(position) : position; + if (!position.samePoint(previousPosition)) { refreshCoordinate(position); } - if (!ignoreView) { - this.position = position; - } else { - this.position = this.position.withCoord(position); - } sendPositionUpdate(true); } @@ -1316,6 +1313,7 @@ public class Entity implements Viewable, Tickable, EventHandler, Da private void refreshCoordinate(Point newPosition) { if (hasPassenger()) { for (Entity passenger : getPassengers()) { + passenger.position = passenger.position.withCoord(newPosition); passenger.refreshCoordinate(newPosition); } }