From e0487ac8ba5883063bfed38b4f871059b71aadb8 Mon Sep 17 00:00:00 2001 From: 3944Realms Date: Tue, 3 Mar 2026 00:53:59 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=94=99=E8=AF=AF=E7=9A=84stopride?= =?UTF-8?q?=E8=B0=83=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../content/capability/DungeonDataSyncManager.java | 6 ++++-- .../eroticdungeongame/core/service/SeatService.java | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/main/java/top/r3944realms/eroticdungeongame/content/capability/DungeonDataSyncManager.java b/src/main/java/top/r3944realms/eroticdungeongame/content/capability/DungeonDataSyncManager.java index a2cbcc36..49aa4b82 100644 --- a/src/main/java/top/r3944realms/eroticdungeongame/content/capability/DungeonDataSyncManager.java +++ b/src/main/java/top/r3944realms/eroticdungeongame/content/capability/DungeonDataSyncManager.java @@ -26,7 +26,9 @@ import org.jetbrains.annotations.Nullable; import top.r3944realms.eroticdungeongame.api.EroticDungeonGameApi; import top.r3944realms.eroticdungeongame.content.animation.EDGAnimation; import top.r3944realms.eroticdungeongame.content.block.ISeatBlock; +import top.r3944realms.eroticdungeongame.content.block.blockentity.BaseSeatBlockEntity; import top.r3944realms.eroticdungeongame.content.util.FurnitureHelper; +import top.r3944realms.eroticdungeongame.util.IEDGEntity; import top.r3944realms.lib39.core.sync.CachedSyncManager; import java.util.HashMap; @@ -85,8 +87,8 @@ public class DungeonDataSyncManager extends CachedSyncManager { - if (cap.getDeviceMainBlockPos() != null) { - player.stopRiding(); + if (cap.getDeviceMainBlockPos() != null && player.level().getBlockEntity(cap.getDeviceMainBlockPos()) instanceof BaseSeatBlockEntity seat) { + ((IEDGEntity)player).releaseEntityFromEDGDevice(seat.getLockCode()); FurnitureHelper.setSeatOccupied(player.level(), cap.getDeviceMainBlockPos(), false); } } diff --git a/src/main/java/top/r3944realms/eroticdungeongame/core/service/SeatService.java b/src/main/java/top/r3944realms/eroticdungeongame/core/service/SeatService.java index 1b0bebaa..e11f1636 100644 --- a/src/main/java/top/r3944realms/eroticdungeongame/core/service/SeatService.java +++ b/src/main/java/top/r3944realms/eroticdungeongame/core/service/SeatService.java @@ -152,8 +152,8 @@ public class SeatService { return seat; } } - } else if (deviceMainBlockPos != null) { - player.stopRiding(); + } else if (deviceMainBlockPos != null && player.level().getBlockEntity(cap.getDeviceMainBlockPos()) instanceof BaseSeatBlockEntity seat) { + ((IEDGEntity)player).releaseEntityFromEDGDevice(seat.getLockCode()); try { if (bindPlayerToSeat(player, deviceMainBlockPos)) { return player.getVehicle();