Skip to content

Fix Bedrock block placement rollback when quick place and scaffolding-style bridging#6310

Open
MikuSnow wants to merge 3 commits intoGeyserMC:masterfrom
mc-dreamland:FIX_BLOCK_PLACE
Open

Fix Bedrock block placement rollback when quick place and scaffolding-style bridging#6310
MikuSnow wants to merge 3 commits intoGeyserMC:masterfrom
mc-dreamland:FIX_BLOCK_PLACE

Conversation

@MikuSnow
Copy link
Copy Markdown
Contributor

First Bug:
Bug video:
https://youtu.be/Dgb3HQrYqLg

Because in Bedrock Edition, right-click will sends a lot of packets to the server short time, and Geyser limits the rate, this can sometimes cause block placement to fail, as shown in the video.

The reason this happens is: when the player is moving while placing blocks, the packets they send include block faces like UP... UP... SIDE....
At that moment, if Geyser processes the last UP interaction, the following SIDE interaction may get canceled by Geyser. When that happens, the block placement fails.

Second Bug:
Bug video:
https://youtu.be/kqK-TYmIJbA

In Bedrock Edition behavior(scaffolding-style bridging), the cursor position (packet.getClickPosition())
is based on the player's foot position.

When performing speed bridging (running/jumping while placing blocks), if there is a wall ahead,
and the last 1–3 blocks are about to touch or are already touching the wall, the click position
in that direction may become values like -1, -1.5, -2, 2, or 3.

However, the normal max range should be between -0.5 and 1.5 (in java server that will not cancel place), so a temporary restriction is applied.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant