The bug
You can fall through the world at x:65536 z:65535 by slowly walking against blocks.
How to reproduce
Make a world, and teleport to the provided coordinates.
Seed: 2124988472 Coordinates: /tp 65534.5 68 65535.5 180.6 50
Don't move your mouse, walk forward and you'll go slowly towards x:65536 (to the right).
→ ❌ While moving to x:65536, your screen starts stuttering and you fall through the world
Thanks to xp2_882030kgz010602 for discovering.
Linked issues
is duplicated by 18
Attachments
Comments 31
Identical to MCPE-19828. It could be marked as a duplicate of this, given that this report explains it better and wasn't written by my mentally unstable 15 year old self.
only relates to MCPE-19828
Ant venom Released a video on this bug.
Reply to @unknown & @unknown: Adding a world border to such small distances will be more terrible and actually harder than literally fixing the bug. I barely know something about C++ and how Minecraft Bedrock Edition is coded and this kinda stuff AND I LITERALLY FIXED THE BUG! Don't believe me? Check out my older comment that is the 6th comment before this one.
IMPORTANT EDIT: I attached a tutorial on how to fix the bug by yourself to the bug report. It is probably going to get removed by a moderator or a Mojang employee, but i've done it anyways to raise awareness (that this bug is sooo easy to fix): Working Fix.txt
EDIT 2: Reattached the working fix with some changes to make it more clear
Confirmed in 1.19.83.
Principle:
The positions of the centers of entities are stored in NBT, the positions of the hitbox corners are stored in memory. If the player is crossing a power of 2, these corners may move at different speeds, thus changing the hitbox size. The hitbox size resets to 0.6 in certain situations, such as reloading the world, using the /tp command, and others. However, the player can shrink to size 0, making it possible to fall through the edges of blocks and into the void.
When a player is located at X/Z(2^n-1) and moving towards that axis at a speed of 2^(n-24) blocks per tick (the slowest speed to move between 2^(n-1) and 2^n), two hitbox corners close to 2^n will stop moving at 2^n because that speed couldn't move after 2^n. But another two hitbox corners are located at a coordinate smaller than 2^n, so they could move until they reach 2^n, then the width of player's hitbox will become 0 and fell through the world.
So you could fell through world by moving at 0.25b/t(5m/s) from 4194303 to 4194304, 0.125b/t(2.5m/s) from 2097151 to 2097152, 1.25m/s from 1048575 to 1048576, 0.625m/s from 524287 to 524288, etc. The lowest coordinate for me to reproduce this currently is 8192(Requires ~0.00976m/s speed)
Can't Mojang just calculate the block you are supposed to collide with using Integers rather than floating point? I mean, it's fine by me for them to use Floating point for vertical block collision since at Y=320 floating point precision is still at 0.000030517578125 units per increment. Mojang, if you are reading this, you have just been given a idea as to how you can fix this bug. And I beg of you, please fix it, it objectively impairs playability of the game. I would expect Mojang to put this at high priority.
I think it's because "the math that governs the internal position of blocks actually causes a phenomenon that you can't even see yet, which allows you to fall right through the world all the way into the void.
(by AntVenom)"