Minecraft:Java Edition distance effects
More actions
|
For the {{{Description}}} of the same name, see [[{{{Destination}}}]]. |
Template:MisleadingTemplate:Exclusive
Template:IN, certain game mechanics start to break down as the player's distance from the center of the world increases.
Vanilla bounds (X/Y/Z ±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>
- 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 (X/Y/Z ±29,999,984–2,147,483,647)
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:^) |
|
File:Far darkness.png |
| X/Z ±268,435,456 (±2Template:^) |
|
|
| X/Z ±1,073,741,824 (±2Template:^) |
|
File:Broken Village.png File:Mob spawning 2 billion.png |
| X/Z ±2,147,483,647 (±2Template:^ − 1)* |
|
Beyond the 32-bit limit (X/Y/Z ±2,147,483,648–9,223,372,036,854,775,807)
Template:Disclaimer 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 |
|---|---|
| X/Z ±2,147,483,648 (±2Template:^) |
|
| X/Z ±34,359,738,368 (±2Template:^) |
|
| 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 ±144,115,188,075,855,872 (±2Template:^) |
|
| 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 |
|
File:High distance worldborder Y.png |
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 (X/Y/Z ±9,223,372,036,854,775,808–2Template:^)
Template:Disclaimer 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 (1.21.10) and snapshot (Minecraft:1.21.11-rc2)
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 (1.21.10) and snapshot (Minecraft:1.21.11-rc2)
- 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
Template:Navbox environment Minecraft:ja:距離効果/Java Edition Minecraft:lzh:距離之象/爪哇版 Minecraft:zh:距离现象/Java版