Список изменений
Improvements This release hardens placement logic for complex interactive blocks at high speed, especially when using Easy Place on multiplayer servers.
Main changes
-
Reworked the placementStateOverride flow:
-
replaced the previous one-shot global state with a short-lived override queue;
-
overrides are now scoped to block position and block type;
-
improved resilience against multiple internal getPlacementState() calls during one placement;
-
added a fallback path for rare client desync cases. Trapdoors
-
Fixed the direction inversion issue: trapdoors should no longer be placed mirrored relative to the schematic.
-
Improved high-speed placement stability.
-
Hardened follow-up interaction handling for states that require an extra click (OPEN). Stairs
-
Improved enforcement of facing and half.
-
SHAPE is no longer forced, allowing neighbor-dependent shape updates to resolve naturally on the server.
-
This reduces incorrect placements under high-speed conditions. Lecterns
-
Added dedicated support for correct facing placement.
-
Added interactive handling via ICanUse.
-
Shelf blocks
-
Facing is now enforced more safely without forcing dynamic runtime properties.
-
Internal changes
-
Updated the mixin set.
-
Added new mixins for LecternBlock.
-
The project builds successfully after these changes.
Known limitations
- There are still open findings around follow-up interactions for some multi-click blocks.
- Generic multiface placement still needs additional work.
- If you rely heavily on glow lichen / sculk vein style blocks, separate testing is recommended.

