From c920fccd72ed2ac814e430ca0bf2d440c82b3580 Mon Sep 17 00:00:00 2001 From: XiaoMoMi <972454774@qq.com> Date: Sat, 1 Nov 2025 23:17:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=BA=A7=E6=A4=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../momirealms/craftengine/bukkit/entity/seat/BukkitSeat.java | 2 +- .../craftengine/bukkit/entity/seat/BukkitSeatManager.java | 3 +-- .../net/momirealms/craftengine/bukkit/util/LocationUtils.java | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeat.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeat.java index fbe29d1cc..79444db99 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeat.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeat.java @@ -50,7 +50,7 @@ public class BukkitSeat implements Seat { @Override public boolean isOccupied() { Entity seatEntity = getSeatEntity(); - return seatEntity != null && seatEntity.isValid(); + return seatEntity != null && seatEntity.isValid() && !seatEntity.getPassengers().isEmpty(); } @Override diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeatManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeatManager.java index 73f1e5482..22b7b2efc 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeatManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/entity/seat/BukkitSeatManager.java @@ -55,8 +55,7 @@ public class BukkitSeatManager implements SeatManager { private void handleDismount(Player player, @NotNull Entity dismounted) { if (!isSeatEntityType(dismounted)) return; - Location location = dismounted.getLocation(); - this.plugin.scheduler().sync().runDelayed(() -> tryLeavingSeat(player, dismounted), player.getWorld(), location.getBlockX() >> 4, location.getBlockZ() >> 4); + tryLeavingSeat(player, dismounted); } @Override diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/LocationUtils.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/LocationUtils.java index 508daf228..f421ddedd 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/LocationUtils.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/util/LocationUtils.java @@ -18,7 +18,7 @@ public final class LocationUtils { } public static WorldPosition toWorldPosition(Location location) { - return new WorldPosition(new BukkitWorld(location.getWorld()), location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); + return new WorldPosition(new BukkitWorld(location.getWorld()), location.getX(), location.getY(), location.getZ(), location.getPitch(), location.getYaw()); } public static Object toVec(Vec3d vec) {