diff --git a/src/main/java/net/minestom/server/entity/Entity.java b/src/main/java/net/minestom/server/entity/Entity.java index 40d6e4d7e..c38c683c8 100644 --- a/src/main/java/net/minestom/server/entity/Entity.java +++ b/src/main/java/net/minestom/server/entity/Entity.java @@ -1284,21 +1284,21 @@ public class Entity implements Viewable, Tickable, EventHandler, Da } /** - * Updates internal fields and sends updates + * Updates internal fields and sends updates. * * @param position the new position * @see #sendPositionUpdate(boolean) */ @ApiStatus.Internal public void refreshPosition(@NotNull final Pos position, boolean ignoreView) { + if (!position.samePoint(this.position)) { + refreshCoordinate(position); + } if (!ignoreView) { this.position = position; } else { this.position = this.position.withCoord(position); } - if (!position.samePoint(this.position)) { - refreshCoordinate(position); - } sendPositionUpdate(true); } diff --git a/src/main/java/net/minestom/server/utils/coordinate/Pos.java b/src/main/java/net/minestom/server/utils/coordinate/Pos.java index 1a464dbbb..81ba2ccc6 100644 --- a/src/main/java/net/minestom/server/utils/coordinate/Pos.java +++ b/src/main/java/net/minestom/server/utils/coordinate/Pos.java @@ -73,7 +73,6 @@ public final class Pos implements Point { * x = -Opp * z = Adj */ - final double _2PI = 2 * Math.PI; final double x = point.x(); final double z = point.z(); if (x == 0 && z == 0) { @@ -81,6 +80,7 @@ public final class Pos implements Point { } final double theta = Math.atan2(-x, z); final double xz = Math.sqrt(MathUtils.square(x) + MathUtils.square(z)); + final double _2PI = 2 * Math.PI; return withView((float) Math.toDegrees((theta + _2PI) % _2PI), (float) Math.toDegrees(Math.atan(-point.y() / xz))); }