Minecraft:Java Edition distance effects: Difference between revisions
More actions
Sync: updated from Minecraft |
Sync: updated from Minecraft |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Italic title|Java Edition}} | |||
{{about|effects which arise due to floating-point precision loss|effects which arise due to integer limits|Java Edition hard limits|other uses|Distance effects}} | {{about|effects which arise due to floating-point precision loss|effects which arise due to integer limits|Java Edition hard limits|other uses|Distance effects}} | ||
{{Misleading}}{{Exclusive|Java}} | {{Misleading}}{{Missing information| | ||
*Effects similar to [[Minecraft:Bedrock Edition]]. | |||
}}{{Exclusive|Java}} | |||
{{IN|je}}, certain game mechanics start to break down as the player's distance from the center of the world increases. | {{IN|je}}, certain game mechanics start to break down as the player's distance from the center of the world increases. | ||
| Line 7: | Line 10: | ||
{{info needed section|{{bug|MC-308844}}}} | {{info needed section|{{bug|MC-308844}}}} | ||
<!-- This is correct, the world border is one chunk away from 30 million blocks. --> | <!-- This is correct, the world border is one chunk away from 30 million blocks. --> | ||
''This section describes distance effects that occur at X/Y/Z coordinates between ±(0 | ''This section describes distance effects that occur at X/Y/Z coordinates between ±(0 - 29,999,984).'' | ||
=== Horizontal effects === | === Horizontal effects === | ||
| Line 39: | Line 42: | ||
{{disclaimer|section=1}} | {{disclaimer|section=1}} | ||
''This section describes distance effects that occur at X/Y/Z coordinates between ±(29,999,984 | ''This section describes distance effects that occur at X/Y/Z coordinates between ±(29,999,984 - {{tooltip|{{^|2|31}} − 1|2,147,483,647}}).'' | ||
Horizontal distances beyond 30 million blocks cannot be reached without modifications to the game's code. | Horizontal distances beyond 30 million blocks cannot be reached without modifications to the game's code. | ||
| Line 50: | Line 53: | ||
!Effects | !Effects | ||
!Example | !Example | ||
|- | |||
|X/Z ±33,554,432 (±2{{^|25}}) | |||
| | |||
* Lighting breaks down.{{verify|26.1-snap1 significantly reworked lighting; is this still accurate?}} All blocks appear completely black and are unaffected by sky and block light (light-emitting blocks may create a local area of light in their block space, but this cannot extend). As a result, hostile mob spawning is extremely common, [[Minecraft:cave ambience]] sounds can play, and [[Minecraft:mushroom]]s can spawn naturally. By opening the [[Minecraft:debug screen]] on these areas, the light level reported is always 0. It is effectively mandatory to use the night vision effect to facilitate any reasonable exploration beyond this point. This issue can be resolved by updating the data type to 64-bit floats in the lighting engine's algorithms. | |||
* When teleporting over long distances, it is possible to find regions of full light. These will cause dark regions when blocks are updated. | |||
* In Java Edition versions [[Minecraft:Java Edition 1.17|1.17]] and later, the game crashes when teleporting to a few blocks before the breakdown, but the game still works when teleporting anywhere after that.<ref>{{Bug|MC-218504}}</ref> | |||
|[[File:Far darkness.png|thumb|right|240px]] | |||
|- | |- | ||
|X/Z ±268,435,456 (±2{{^|28}}) | |X/Z ±268,435,456 (±2{{^|28}}) | ||
| | | | ||
* Many sounds stop working 16 blocks beyond this point. | * Many sounds stop working 16 blocks beyond this point. | ||
| | |||
|- | |||
|X/Z ±536,870,912 (±2<sup>29</sup>) | |||
| | |||
* It becomes impossible to walk into an object at a 0.02-degree angle through [[Minecraft:cobweb]] over [[Minecraft:blue ice]] with [[Minecraft:Slowness]] VI (achievable in [[Minecraft:Survival]] mode by using a [[Minecraft:potion of the Turtle Master]] II) while touching [[Minecraft:powder snow]]. | |||
** Using the above method, it is theoretically possible to fall through the world by crossing the X/Z ±536,870,912 limit. However, it is almost impossible to do at these coordinates, as it takes nearly 6 real-life days of nonstop gameplay (where one must start over if they exit the game). | |||
| | | | ||
|- | |- | ||
|X/Z ±1,073,741,824 (±2{{^|30}}) | |X/Z ±1,073,741,824 (±2{{^|30}}) | ||
| | | | ||
* [[Minecraft:Village]]s stop generating correctly. The only part which generates is the meeting point, sometimes with accompanying [[Minecraft:villager]]s; every other part is missing. Some villages can generate several blocks in the air or underground. Villages can also generate in the wrong biomes. | * [[Minecraft:Village]]s stop generating correctly. The only part which generates is the meeting point, sometimes with accompanying [[Minecraft:villager]]s; every other part is missing. Some villages can generate several blocks in the air or underground. Villages can also generate in the wrong biomes. | ||
* [[Minecraft:Ancient cities]] stop generating correctly. The only part which generates is the center point; every other part is missing. | * [[Minecraft:Ancient cities]] stop generating correctly. The only part which generates is the center point; every other part is missing. | ||
| Line 67: | Line 81: | ||
* All entities, including the player, can easily go through the [[Minecraft:world border]] on the positive coordinates. | * All entities, including the player, can easily go through the [[Minecraft:world border]] on the positive coordinates. | ||
* Loading a world saved at this distance may result in a very large amount of mobs spawning, which can cause the game to freeze or crash. | * Loading a world saved at this distance may result in a very large amount of mobs spawning, which can cause the game to freeze or crash. | ||
| [[File:Broken Village.png| | | [[File:Broken Village.png|thumb|right|240px]] [[File:Mob spawning 2 billion.png|thumb|right|240px]] | ||
|- | |- | ||
|X/Z ±2,147,483,647 (±2{{^|31}} − 1) | |X/Z ±2,147,483,647 (±2{{^|31}} − 1) | ||
| | | | ||
* The game crashes if a chunk is loaded beyond this point without directly modifying the game to use 64-bit floats and/or long integers. The world renderer stops working 147 blocks beyond this point, allowing the player to get stuck, lightning stops working entirely, and clouds in fast graphics are stretched, while fancy cloud rendering still works normally. It is advisable to set the world border to at least several hundred blocks before this limit and make sure not to teleport past this. | * The game crashes if a chunk is loaded beyond this point without directly modifying the game to use 64-bit floats and/or long integers. The world renderer stops working 147 blocks beyond this point, allowing the player to get stuck, lightning stops working entirely, and clouds in fast graphics are stretched, while fancy cloud rendering still works normally. It is advisable to set the world border to at least several hundred blocks before this limit and make sure not to teleport past this. | ||
| Line 78: | Line 92: | ||
{{disclaimer|section=1}} | {{disclaimer|section=1}} | ||
''This section describes distance effects that occur at X/Y/Z coordinates between ±({{tooltip|{{^|2|31}}|2,147,483,648}} | ''This section describes distance effects that occur at X/Y/Z coordinates between ±({{tooltip|{{^|2|31}}|2,147,483,648}} - {{tooltip|{{^|2|63}} − 1|9,223,372,036,854,775,807}}).'' | ||
The [[Minecraft:wikipedia:Double-precision floating-point format|standard format for doubles]] dedicates 52 bits to the fraction, as opposed to the 23 bits used by the [[Minecraft:wikipedia:Single-precision floating-point format|32-bit float]]. As a result, beyond 2{{^|30}} (1,073,741,824) blocks, the player would only be off by (2{{^|30}}) / (2{{^|52}}) = 1/2{{^|22}} = {{frac|1|4194304}} blocks, which is absolutely indistinguishable from the distance back at spawn. This is around equivalent to the precision of 2 to 4 blocks out on ''Bedrock Edition''. | The [[Minecraft:wikipedia:Double-precision floating-point format|standard format for doubles]] dedicates 52 bits to the fraction, as opposed to the 23 bits used by the [[Minecraft:wikipedia:Single-precision floating-point format|32-bit float]]. As a result, beyond 2{{^|30}} (1,073,741,824) blocks, the player would only be off by (2{{^|30}}) / (2{{^|52}}) = 1/2{{^|22}} = {{frac|1|4194304}} blocks, which is absolutely indistinguishable from the distance back at spawn. This is around equivalent to the precision of 2 to 4 blocks out on ''Bedrock Edition''. | ||
| Line 93: | Line 107: | ||
!Coordinates | !Coordinates | ||
!Effects | !Effects | ||
!Examples | |||
|- | |- | ||
|X/Z ±2,147,483,648 (±2{{^|31}}) | |X/Z ±2,147,483,648 (±2{{^|31}}) | ||
| | | | ||
* It becomes impossible to [[Minecraft:swimming|swim]] or float in water. | * It becomes impossible to [[Minecraft:swimming|swim]] or float in water. | ||
|- | |- | ||
|X/Z | | X/Z: ±25,769,803,764 (±(2<sup>31</sup> − 1)×12) | ||
| | | | ||
* | * Fancy clouds stop rendering (Varies between maps). Fast graphic clouds, however, can stop rendering or either become glitched stripe lines which also can disappear afterwards. Beyond this point, only the sky, sun, moon and void remain. | ||
* [[Minecraft:Cloud#Appearance|Fancy clouds]] are 12x12 and hit the 32-bit integer limit at 25,769,803,776 (or 2,147,483,648×12), so in cause of that they overflow after this point disappearing. | |||
|- | |- | ||
|X/Z ±68,719,476,736 (±2{{^|36}}) | |X/Z ±68,719,476,736 (±2{{^|36}}) | ||
| | | | ||
* The game loads the [[Minecraft:spawn chunk]]s at this position, overwriting the terrain with the content of the spawn chunks. This will happen again at any power of two beyond this point. | * The game loads the [[Minecraft:spawn chunk]]s at this position, overwriting the terrain with the content of the spawn chunks. This will happen again at any power of two beyond this point. | ||
|- | |- | ||
|X/Z ±281,474,970,710,656 (±2{{^|48}}) | |X/Z ±281,474,970,710,656 (±2{{^|48}}) | ||
| | | | ||
* All entities are on the edges of block pixels. | * All entities are on the edges of block pixels. | ||
* Jitter is easily noticeable at this point, which is the equivalent of 524,288 blocks in ''Bedrock Edition''.<ref name=":0">{{YouTube link|F8cMZA8J2Hk|breaking Minecraft's FINAL Distance Limit...|AntVenom|2021-04-01|t=327}}</ref>. | * Jitter is easily noticeable at this point, which is the equivalent of 524,288 blocks in ''Bedrock Edition''.<ref name=":0">{{YouTube link|F8cMZA8J2Hk|breaking Minecraft's FINAL Distance Limit...|AntVenom|2021-04-01|t=327}}</ref>. | ||
| Line 117: | Line 130: | ||
|X/Z ±2,251,799,813,685,248 (±2{{^|51}}) | |X/Z ±2,251,799,813,685,248 (±2{{^|51}}) | ||
| | | | ||
* | * The minimum movement speed is increased to 5 blocks per second, meaning that moving at normal walking speed is impossible. | ||
|- | |- | ||
|X/Z ±4,503,599,627,370,496 (±2{{^|52}}) | |X/Z ±4,503,599,627,370,496 (±2{{^|52}}) | ||
| | | | ||
* | * All entities are on the edges of blocks. As a result, all entities less than 1 block wide (including [[Minecraft:Player|players]]) always fall through blocks. | ||
* | ** If only 1 coordinate exceeds this value, blocks still have collision detection from the side. | ||
* The minimum movement speed is increased to 10 blocks per second. | |||
|- | |- | ||
|X/Z ±9,007,199,254,740,992 (±2{{^|53}}) | |X/Z ±9,007,199,254,740,992 (±2{{^|53}}) | ||
| | | | ||
* | * The floating point precision errors cause only blocks with even coordinates not divisible by 4 to render, and are stretched to 2 blocks wide. Blocks at other coordinates are rounded to the nearest multiple of 4 and render 2 dimensional. Blocks render only if they are "exposed" to air or another see-through block. This phenomenon is known as the "Stripe Lands". In the "Corner Stripe Lands" where both coordinates exceed this value, blocks with both coordinates 2 mod 4 render double length and double width, blocks with 1 such coordinate render 2D and double length, and blocks with no such coordinate render 1D (thus, the block is completely invisible unless the player is inside it). | ||
* The minimum movement speed is increased to 20 blocks per second. | |||
* A Stripe Lands rendering fix is required to traverse beyond this point, as the game freezes when the Stripe Lands are rendered. | * A Stripe Lands rendering fix is required to traverse beyond this point, as the game freezes when the Stripe Lands are rendered. | ||
* After this point, at every power of two, water, vines and lava double in size. | * After this point, at every power of two, water, vines and lava double in size. | ||
|[[File:Screenshot 2022-07-10 9.08.47 AM.png|thumb|250px]] | |||
|- | |- | ||
|X/Z ±18,014,398,509,481,984 (±2{{^|54}}) | |X/Z ±18,014,398,509,481,984 (±2{{^|54}}) | ||
| | | | ||
* In older versions of ''Java Edition'', horizontal block rendering stops completely, leaving only vertical block rendering in it's place, marking the start of the "Slice Lands". Blocks whose sides are "concealed" are completely invisible without a Stripe Lands rendering fix. | |||
* In older versions of ''Java Edition'', the world | ** At this point, the slices are 4 blocks apart, but the gaps widths double for every power of 2. | ||
** It has become difficult to place blocks from this point onward. The player must look at an existing block and extend it along an axis. | |||
** Past this point, blocks are now completely invisible on a [[Minecraft:superflat world]]. | |||
* Block rendering essentially stops completely, causing the map to be blank from their outward in the Corner Slice Lands without a Stripe Lands rendering fix; almost all blocks are rendered as one-dimensional, and are therefore impossible to see, although some particles emitted from specific blocks, like torches, could still indicate their presence. Only certain [[Minecraft:block entities]] and any stretched [[Minecraft:water]] or [[Minecraft:lava]] render in this area, which means that, due to the End having no water nor lava, it is almost completely invisible. | |||
* The minimum movement speed is increased to 40 blocks per second, meaning that thrown [[Minecraft:ender pearl]]s no longer work. Teleportation is now only possible by chorus fruit or by commands. | |||
* In newer versions (starting from around [[Minecraft:Java Edition 1.12|1.12]], or even earlier), the world renders stripes with a larger distance between them instead. | |||
|- | |||
|X/Z ±36,028,797,018,963,968 (±2<sup>55</sup>) | |||
| | |||
* The visual gaps are 8 blocks wide. | |||
* The minimum movement speed is increased to 80 blocks per second. | |||
|- | |||
|X/Z ±72,057,594,037,927,936 (±2<sup>56</sup>) | |||
| | |||
* The visual gaps are 16 blocks wide. | |||
* All entities are on the edges of chunks. | |||
* The minimum movement speed is increased to 160 blocks per second. | |||
|- | |- | ||
|X/Z ±144,115,188,075,855,872 (±2{{^|57}}) | |X/Z ±144,115,188,075,855,872 (±2{{^|57}}) | ||
| | | | ||
* | * The visual gaps are 32 blocks wide. | ||
* The minimum movement speed is increased to 320 blocks per second. | |||
* Terrain flickering occurs in modern versions, similar to 2{{^|28}} blocks in versions before Beta 1.8.<ref name=":0" /> | * Terrain flickering occurs in modern versions, similar to 2{{^|28}} blocks in versions before Beta 1.8.<ref name=":0" /> | ||
|- | |- | ||
|X/Z ±9,223,372,036,854,775,807 (±2{{^|63}} − 1) | |X/Z ±288,230,376,151,711,744 (±2<sup>58</sup>) | ||
| | |||
* The visual gaps are 64 blocks wide. | |||
* The minimum movement speed is increased to 640 blocks per second. | |||
** At this point, it would require achieving speeds greater than the speed of sound to move, which is approximately 343 blocks per second. | |||
|- | |||
|X/Z ±576,460,752,303,423,488 (±2<sup>59</sup>) | |||
| | |||
* The visual gaps are 128 blocks wide. | |||
* The minimum movement speed is increased to 1,280 blocks per second. | |||
* The world is completely invisible with a render distance of 7 chunks or less. | |||
|- | |||
|X/Z ±1,152,921,504,606,846,976 (±2<sup>60</sup>) | |||
| | |||
* The visual gaps are 256 blocks wide. | |||
* The minimum movement speed is increased to 2,560 blocks per second. | |||
* The world is completely invisible with a render distance of 15 chunks or less. | |||
|- | |||
|X/Z ±2,305,843,009,213,693,952 (±2<sup>61</sup>) | |||
| | |||
* The visual gaps are 512 blocks wide. | |||
* The minimum movement speed is increased to 5,120 blocks per second. | |||
* The world is completely invisible with a render distance of 31 chunks or less. | |||
|- | |||
|X/Z ±4,611,686,018,427,387,904 (±2<sup>62</sup>) | |||
| | |||
* The visual gaps are 1,024 blocks wide. | |||
* The minimum movement speed is increased to 10,240 blocks per second. | |||
* The world is completely invisible with a render distance of 63 chunks or less. | |||
|- | |||
|X/Z ±9,223,372,036,854,775,807 (±2{{^|63}} − 1) | |||
| | | | ||
* The game crashes if chunks are loaded beyond this point.<ref name=":0" /> | * The game crashes if chunks are loaded beyond this point.<ref name=":0" /> | ||
| Line 166: | Line 229: | ||
|Y ±4,503,599,627,370,496 (±2{{^|52}}) | |Y ±4,503,599,627,370,496 (±2{{^|52}}) | ||
| | | | ||
* | * The minimum movement speed is increased to 10 blocks per second, meaning that flying upwards or downwards in [[Minecraft:Creative]] becomes impossible.<ref name="heightvideo">{{YouTube link|SYuocMFOD6w|HOW HIGH / LOW CAN YOU GO in MINECRAFT?!|AntVenom|2017-04-23}}</ref> | ||
| | | | ||
|- | |- | ||
|Y ±36,028,797,018,963,968 (±2{{^|55}}) | |Y ±36,028,797,018,963,968 (±2{{^|55}}) | ||
| | | | ||
* | * The minimum movement speed is increased to 80 blocks per second, meaning that falling becomes impossible.<ref name="heightvideo" /> | ||
* Beyond this point, the game crashes if the player points their camera at a vertical 40-degree angle. | * Beyond this point, the game crashes if the player points their camera at a vertical 40-degree angle. | ||
| | | | ||
| Line 178: | Line 241: | ||
| | | | ||
* The stripes in the [[Minecraft:world border]]'s texture become completely vertical, instead of diagonal. | * The stripes in the [[Minecraft:world border]]'s texture become completely vertical, instead of diagonal. | ||
| [[File:High distance worldborder Y.png| | | [[File:High distance worldborder Y.png|thumb|right|240px]] | ||
|} | |} | ||
==== Stripe Lands ==== | ==== Stripe Lands ==== | ||
As 52 bits are dedicated to the fraction in the double format rather than 23 in the single format, after 2{{^|53}} or 9,007,199,254,740,992 blocks out, precision breaks to consider only every second block, and so on. The rendering breaks down in an effectively identical manner to ''Bedrock Edition'' and yields the famous Stripe Lands as a result. | As 52 bits are dedicated to the fraction in the double format rather than 23 in the single format, after 2{{^|53}} or 9,007,199,254,740,992 blocks out, precision breaks to consider only every second block, and so on. The rendering breaks down in an effectively identical manner to ''Bedrock Edition'' and yields the famous Stripe Lands as a result. | ||
| Line 194: | Line 256: | ||
{{disclaimer|section=1}} | {{disclaimer|section=1}} | ||
''This section describes distance effects that occur at X/Y/Z coordinates between ±({{tooltip|{{^|2|63}}|9,223,372,036,854,775,808}} | ''This section describes distance effects that occur at X/Y/Z coordinates between ±({{tooltip|{{^|2|63}}|9,223,372,036,854,775,808}} - {{tooltip|{{^|2|1024}}|179,769,313,486,231,590,772,930,519,078,902,473,361,797,697,894,230,657,273,430,081,157,732,675,805,500,963,132,708,477,322,407,536,021,120,113,879,871,393,357,658,789,768,814,416,622,492,847,430,639,474,124,377,767,893,424,865,485,276,302,219,601,246,094,119,453,082,952,085,005,768,838,150,682,342,462,881,473,913,110,540,827,237,163,350,510,684,586,298,239,947,245,938,479,716,304,835,356,329,624,224,137,216}}).'' | ||
Beyond the 64-bit integer limit, the precision loss becomes greater by every passing exponent of two that is passed. | Beyond the 64-bit integer limit, the precision loss becomes greater by every passing exponent of two that is passed. | ||
Latest revision as of 11:19, 13 September 2026
|
For the {{{Description}}} of the same name, see [[{{{Destination}}}]]. |
Template:MisleadingTemplate:Missing informationTemplate:Exclusive
Template:IN, certain game mechanics start to break down as the player's distance from the center of the world increases.
Vanilla bounds
Template:Info needed section This section describes distance effects that occur at X/Y/Z coordinates between ±(0 - 29,999,984).
Horizontal effects
- World
- Minecraft:The End's generation is completely absent in repeating concentric rings centered on the world.<ref name=":3">Template:Bug</ref>Template:Until
- Temperature distribution breaks at high distances,<ref name="snow">Template:Bug</ref> which can be easily noticed with the creation of Minecraft:snow and Minecraft:ice in Minecraft:mountains appearing blockier due to both world generation and subsequent regeneration from snowfall or freezing.
- Sounds
- Many break down slightly.<ref name="audio">Template:Bug</ref>
- Becomes considerably more pronounced beyond vanilla bounds at 2Template:^ (268,435,456) blocks.
Vertical effects
| Coordinates | Effects | Example |
|---|---|---|
| Y ±2,048 (±2Template:^) |
|
|
| Y ±8,388,608 (±2Template:^) |
|
- Rain and snow jitter and appear distorted at large heights.<ref name="rain">Template:Bug</ref>
Beyond the vanilla world boundary
This section describes distance effects that occur at X/Y/Z coordinates between ±(29,999,984 - Template:Tooltip).
Horizontal distances beyond 30 million blocks cannot be reached without modifications to the game's code.
Vertical distances beyond 20 million blocks cannot be reached with the Template:Cmd command; they can only be reached by using external programs (e.g. Minecraft:NBT editors), or by modifying the game's code to remove this limitation.
Horizontal effects
| Coordinates | Effects | Example |
|---|---|---|
| X/Z ±33,554,432 (±2Template:^) |
|
|
| X/Z ±268,435,456 (±2Template:^) |
|
|
| X/Z ±536,870,912 (±229) |
|
|
| X/Z ±1,073,741,824 (±2Template:^) |
|
|
| X/Z ±2,147,483,647 (±2Template:^ − 1) |
|
Beyond the 32-bit limit
This section describes distance effects that occur at X/Y/Z coordinates between ±(Template:Tooltip - Template:Tooltip).
The standard format for doubles dedicates 52 bits to the fraction, as opposed to the 23 bits used by the 32-bit float. As a result, beyond 2Template:^ (1,073,741,824) blocks, the player would only be off by (2Template:^) / (2Template:^) = 1/2Template:^ = Template:Frac blocks, which is absolutely indistinguishable from the distance back at spawn. This is around equivalent to the precision of 2 to 4 blocks out on Bedrock Edition.
Each doubling, however, indeed halves the precision used, up to a point where every single element of the game ends up breaking down.
Horizontal distances beyond the 32-bit integer limit (X/Z ±2,147,483,647) cannot be reached without substantial modifications to the game's code.
64-bit precision loss
Minecraft: Java Edition uses 64-bit floating point precision for entity positions and other calculations. Several mechanics which do not break down within vanilla bounds break down at very high distances similarly to Bedrock Edition.
Horizontal effects
| Coordinates | Effects | Examples |
|---|---|---|
| X/Z ±2,147,483,648 (±2Template:^) |
| |
| X/Z: ±25,769,803,764 (±(231 − 1)×12) |
| |
| X/Z ±68,719,476,736 (±2Template:^) |
| |
| X/Z ±281,474,970,710,656 (±2Template:^) |
| |
| X/Z ±2,251,799,813,685,248 (±2Template:^) |
| |
| X/Z ±4,503,599,627,370,496 (±2Template:^) |
| |
| X/Z ±9,007,199,254,740,992 (±2Template:^) |
|
|
| X/Z ±18,014,398,509,481,984 (±2Template:^) |
| |
| X/Z ±36,028,797,018,963,968 (±255) |
| |
| X/Z ±72,057,594,037,927,936 (±256) |
| |
| X/Z ±144,115,188,075,855,872 (±2Template:^) |
| |
| X/Z ±288,230,376,151,711,744 (±258) |
| |
| X/Z ±576,460,752,303,423,488 (±259) |
| |
| X/Z ±1,152,921,504,606,846,976 (±260) |
| |
| X/Z ±2,305,843,009,213,693,952 (±261) |
| |
| X/Z ±4,611,686,018,427,387,904 (±262) |
| |
| X/Z ±9,223,372,036,854,775,807 (±2Template:^ − 1) |
|
Vertical effects
| Coordinates | Effects | Example |
|---|---|---|
| Y ±2,147,483,648 (±2Template:^) |
|
|
| Y ±281,474,970,710,656 (±2Template:^) |
|
|
| Y ±4,503,599,627,370,496 (±2Template:^) |
|
|
| Y ±36,028,797,018,963,968 (±2Template:^) |
|
|
| Y ±36,893,488,147,419,103,232 (±265) |
|
Stripe Lands
As 52 bits are dedicated to the fraction in the double format rather than 23 in the single format, after 2Template:^ or 9,007,199,254,740,992 blocks out, precision breaks to consider only every second block, and so on. The rendering breaks down in an effectively identical manner to Bedrock Edition and yields the famous Stripe Lands as a result.
Fluids break down differently from blocks; while block rendering breaks down to form the usual stripes, fluids instead stretch to the size of the precision loss, with the initiation of the Stripe Lands causing each liquid to become two blocks long, then four at the next doubling, and so on.
In older versions, beyond 2Template:^ blocks, the world would render similarly to the Slice Lands of Bedrock Edition, in newer versions (starting from around 1.12, or even earlier), the world renders stripes with a larger distance between them instead.
In modern versions of Java Edition (1.14 and later) the game freezes when the Stripe Lands are rendered, so a Stripe Lands rendering fix is required to traverse further.
Beyond the 64-bit limit
This section describes distance effects that occur at X/Y/Z coordinates between ±(Template:Tooltip - Template:Tooltip).
Beyond the 64-bit integer limit, the precision loss becomes greater by every passing exponent of two that is passed.
Vertical effects
- Entity positions lose precision when the player passes every exponent of two.
- The skybox flashing continues until 2Template:^.
- The player cannot surpass 2Template:^ on the Y axis as that is the position limit for 64-bit floats. This cannot be surpassed without a rework of the game's coordinate system.<ref name="heightvideo" />
Analysis
Due to precision loss becoming more extreme at greater distances, features affected at it behave different depending on how far out they are.
Rain/snow rendering
First affected bracket:
First affected version: Unspecified Classic
Last affected version: Indev 2010-02-14
Second affected bracket:
First affected version: Alpha v1.0.4
Last affected version: Alpha v1.1.2_01
Third affected bracket:
First affected version: Beta 1.6.5
Still affects the current release (26.2) and snapshot (Minecraft:26.3-snap1)
Suspected to affect as far back as Beta 1.5, but cannot be reasonably tested due to crashes
Note: This affects both rain and snow, but this can only be seen with rain in versions prior to 1.7.2 because temperature did not change with height in these versions.
- 16,384 - 262,143 blocks
Beyond this point on the Y axis one can start to see the first signs of snow/rain jittering. Up to 65,535 blocks. this can only be reasonably seen with snowflakes with a mainly horizontal trajectory, as vertical traveling snowflakes are moving at a speed where travel still appears mostly smooth. Beyond 65,536 and especially 131,072 blocks, the effect becomes very obvious for almost all snow.
- 262,144 - 2,147,483,647 blocks
The first signs of geometrical distortion in the snow itself can be seen. Very little non-misshapen snow is present beyond here, and most of it has transformed into either lone rectangles, or the odd paired rectangles similar in shape to a pause button.
Deformity progresses after every power of two surpassed from this point. Past 16,777,216 blocks, snow becomes a near unrecognizable pattern of suspended vertical lines.
- 2,147,483,648+ blocks
Beyond this point, snow stops rendering. The sky itself still renders correctly. When the player goes below the 32-bit integer limit, rain appears for an unknown reason.
Sound positioning errors
Become very severe beyond 2Template:^ (268,435,456) blocks, where many sounds are simply no longer audible at all.
Temperature distribution breakdown
First affected version: Minecraft:16w02a
Still affects the current release (26.2) and snapshot (Minecraft:26.3-snap1)
- 16,777,216 - 33,554,431 blocks
As snowfall/rainfall is handled on a per-block basis, the effects of precision loss here can only be seen once precision itself can no longer represent blocks (integers) individually.
Beyond this point, while perhaps not immediately obvious (especially due to the vertical variation in almost all biomes where this effect can be seen), the patterns resulting from snow landing on surfaces become much more angular than before, being commonly composed of large rectangles, thin lines and lone dots which are either filled with snow or have it completely absent. This is similarly true of water, with ice corresponding to cold blocks and water to warmer blocks.
As temperature varies with height, in order to properly see the effects of this, it is strongly recommended to build a flat plane for snow to accumulate on instead, or to generate a Minecraft:Superflat world with snow/ice set to generate with it as it would naturally. A modified Tunneler's Dream preset set to generate 94 layers of black concrete (Looking At Block should say 93 for the top concrete layer) is ideal for this case, providing a roughly 50/50 density of snowy and clear blocks, with black providing maximum contrast.
Teleporting to 16,777,216 on both axes should show four quadrants - one with normal looking snow/ice generation, and three with far more angular features due to the precision loss exceeding a full block. During times of precipitation, it can be seen that the blocky patterns of snow/ice match up with the weather directly above - snowy areas have snowfall where areas with no snow cover have rain. This is obviously true anywhere and is unrelated to precision loss, but (especially in the case of already-generated worlds) this can be used to prove that the precision loss lies with temperature calculation and is not merely a world generation issue disjoint from it.
-
An example of snow generated correctly near the spawn point.
-
An example of snow generated at high distances. Notice the differing consistency composed of squares and lines.
-
Snow generated in an extreme hills biome in 1.8, showing intended behavior.
-
The exact same area as generated in 1.9, showing the newly broken generation.
- 33,554,432+ blocks
Beyond this point, temperature calculation becomes very broken depending of the axes where this position has been exceeded. If beyond this point on one axis, the terrain has clearly visible "stripes" of snow in mountain biomes. If beyond this point on both axes, snowy areas have square shapes covering several blocks (especially beyond 67,108,864 blocks). These effects can only be seen on modded versions, since terrain does not generate beyond 30,000,000 blocks in vanilla.
Historical effects
Due to the incredibly large amount of documentation on effects in older versions of the game, all such content has been relocated to Minecraft:/Historical effects.
Gallery
Stripe Lands
References
Minecraft:ja:距離効果/Java Edition Minecraft:lzh:距離之象/爪哇版 Minecraft:pt:Efeitos de distância da Edição Java Minecraft:zh:距离现象/Java版