seat riding gate fix
This commit is contained in:
@@ -1,3 +1,10 @@
|
||||
## 4.0.12 — Minecraft 26.2 riding gate fix
|
||||
- Diagnostic 4.0.11 isolated the failure to `player.startRiding(seat)`: the Seat spawned successfully but mounting returned false.
|
||||
- Verified against Minecraft 26.2 `Entity.startRiding`: server-side riding is rejected when the vehicle entity type reports `canSerialize() == false`.
|
||||
- Handcrafted registered `Seat` with `EntityType.Builder.noSave()`, which makes the Seat non-serializable and therefore impossible to ride on 26.2.
|
||||
- Removed `.noSave()` from the Seat entity registration. The Seat still self-discards when it has no passenger or its furniture block is gone, so it remains ephemeral during normal gameplay.
|
||||
- Kept the 4.0.11 diagnostic logging for this test build so the result can be confirmed from the next log.
|
||||
|
||||
## 4.0.9 — Seat synchronization fix
|
||||
- Compared the Fabric 26.2 port directly against the original 1.21.x seating implementation.
|
||||
- The current debug log proves server-side mounting already succeeds: the client reports `Received passengers for unknown entity`. This means the failure is no longer the chair/bench/couch interaction callback; the invisible `Seat` vehicle is not known client-side when the passenger update arrives.
|
||||
@@ -112,3 +119,10 @@ The remaining major migration area is the 26.2 extract/submit rendering pipeline
|
||||
## 4.0.4 Fabric 26.2 build fix
|
||||
- Removed the legacy `Seat.makeBoundingBox()` override. In Minecraft 26.2, `Entity.makeBoundingBox()` is final and cannot be overridden.
|
||||
- The seat-specific AABB is still retained for seat height/passenger attachment calculations and is refreshed by the wrapped level callback.
|
||||
|
||||
|
||||
## 4.0.11-fabric-26.2
|
||||
- Reworked seat interaction dispatch to mirror Refurbished Furniture: seating is performed from `useWithoutItem`; held-item paths return `TRY_WITH_EMPTY_HAND` after Handcrafted-specific cushion handling.
|
||||
- Removed client-side fake success from `SittableBlock.sitOn`; `Seat.sit` is server-authoritative like the reference implementation.
|
||||
- Seat blocks now return `SUCCESS` after the empty-hand interaction attempt, matching the reference block behavior.
|
||||
- Added concise server-side Seat attempt/result diagnostics so a failed mount is visible in `latest.log`.
|
||||
|
||||
Reference in New Issue
Block a user