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) {