Minecraft:Java Edition hard limits: Difference between revisions
From SAS Gaming Wiki
More actions
Sync: new page from Minecraft |
Sync: updated from Minecraft |
||
| (One intermediate revision by the same user not shown) | |||
| Line 6: | Line 6: | ||
* This page use second person point of view instead of using 3rd person. | * This page use second person point of view instead of using 3rd person. | ||
* Some examples on this page are clearly distance effects rather than hard limits.}} | * Some examples on this page are clearly distance effects rather than hard limits.}} | ||
{{Misleading}}{{Exclusive|Java}}This page documents current and historical '''hard limits''' of ''Java Edition''. These are defined as effects which arise due to integer limits | {{Misleading}}{{Exclusive|Java}}This page documents current and historical '''hard limits''' of ''Java Edition''. These are defined as effects which arise due to integer limits inside of the game's code and data types, as opposed to limits which have been implemented intentionally (see [[Minecraft:World boundary]]) or effects due to precision loss (see [[Minecraft:Java Edition distance effects]]). | ||
== Current limits == | == Current limits == | ||
| Line 19: | Line 19: | ||
|{{main|Java Edition distance effects}} | |{{main|Java Edition distance effects}} | ||
* There | * There has been a large variety of precision loss errors throughout the game's history. There are generally very few in modern versions, although, more can be found in earlier versions. These can be loosely defined as hard limits due to being limitations of the floating-point data type itself. However, due to their variety, they are not included here. | ||
* Double-precision floating point precision loss issues also | * Double-precision floating point precision loss issues also come at extreme distances due to precision loss. | ||
| | | | ||
|- | |- | ||
| Line 28: | Line 28: | ||
| | | | ||
{{main|The End#Outer islands}} | {{main|The End#Outer islands}} | ||
* [[Minecraft:The End]]'s generation is completely absent in repeating concentric rings centered on the | * [[Minecraft:The End]]'s generation is completely absent in some parts of the repeating concentric rings centered on the main end island.<ref>{{bug|MC-159283}}</ref> This is due to an integer overflow resulting from a square root being taken from a negative number. Since this integer overflow happens based on the ''squared'' distance (creating extremely high values rapidly), multiple overflows happen within a reachable distance, creating rings of void inside a landscape that gets thinner and thinner further away from the original part, the [[Minecraft:End Island|main end island]]. The first ring of void starts at 370,727 blocks away from the center and ends at 524,288 blocks away from the center, where terrain continues generating until the next integer overflow occurs. Interestingly, all the rings (whether they are void or land) approximately cover the same area. | ||
| | | | ||
|- | |- | ||
| Line 34: | Line 34: | ||
====== (X/Z: ±1,073,741,824; Village generation limit) ====== | ====== (X/Z: ±1,073,741,824; Village generation limit) ====== | ||
| | | | ||
* Beyond this point (2<sup>30</sup>), [[Minecraft:village]]s seem to stop generating correctly at all. The only part which generates is the meeting point, sometimes with accompanying villagers | * Beyond this point (2<sup>30</sup>), [[Minecraft:village]]s seem to stop generating correctly at all. The only part which generates is the meeting point, sometimes with accompanying villagers, but every other part is missing. | ||
* It has been sighted in some superflat worlds that strange phantom villages composed solely of block light can generate. | * It has been sighted in some superflat worlds that strange phantom villages composed solely of block light can generate. | ||
* The reasoning for this happening remains unknown and it is not known if this is tied to [[Minecraft:jigsaw block]]s. | * The reasoning for this happening remains unknown and it is not known if this is tied to [[Minecraft:jigsaw block]]s. | ||
| Line 42: | Line 42: | ||
====== (X/Z: >±2,147,483,647; 32-bit limit) ====== | ====== (X/Z: >±2,147,483,647; 32-bit limit) ====== | ||
| | | | ||
* A hard limit exists at X/Z: ±2,147,483,647—the mathematical limit of a signed 32-bit [[Minecraft:NBT format#Data types|integer]] (2<sup>31</sup> | * A hard limit exists at X/Z: ±2,147,483,647—the mathematical limit of a signed 32-bit [[Minecraft:NBT format#Data types|integer]] (2<sup>31</sup> − 1)—and attempting to travel or load chunks beyond here is expected to cause the game to crash. 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, if it is modded. | ||
| | | | ||
|- | |- | ||
| Line 48: | Line 48: | ||
====== (X/Z: >±9,223,372,036,854,775,807; 64-bit limit) ====== | ====== (X/Z: >±9,223,372,036,854,775,807; 64-bit limit) ====== | ||
| | | | ||
* The very last hard limit exists at X/Z: >±9,223,372,036,854,775,807 blocks—the mathematical limit of a signed 64-bit integer value (2<sup>63</sup> | * The very last hard limit exists at X/Z: >±9,223,372,036,854,775,807 blocks—the mathematical limit of a signed 64-bit integer value (2<sup>63</sup> − 1). It is only realistically accessible by directly modifying the game to use 64-bit [[Minecraft:NBT format#Data types|floats]] and/or {{w|Integer (computer science)#Long integer|long integers}}. Attempting to travel or load chunks beyond here is expected to cause the game to crash. | ||
| | | | ||
|} | |} | ||
| Line 66: | Line 66: | ||
|- | |- | ||
| | | | ||
====== (Y: | ====== (Y: ±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; Absolute limit) ====== | ||
| | | | ||
*The maximum possible [[Minecraft:Altitude|height]] is 1.798×10<sup>308</sup> (2<sup>1024</sup>). Attempting to teleport beyond this limit will result in the value being interpreted as infinity, and the teleportation will fail. However, teleporting to a number that will round to 2<sup>1024</sup> will render the game for exactly 1 frame because it crashes. | *The maximum possible [[Minecraft:Altitude|height]] is ~1.798×10<sup>308</sup> (2<sup>1024</sup>). Attempting to teleport beyond this limit will result in the value being interpreted as infinity, and the teleportation will fail. However, teleporting to a number that will round to 2<sup>1024</sup> will render the game for exactly 1 frame because it crashes. | ||
* The reason previous limits do not restrict going this high is because chunks do not load past Y: +320/-64, meaning that there is nothing to render except for snow and rain. | * The reason previous limits do not restrict going this high is because chunks do not load past Y: +320/-64, meaning that there is nothing to render except for snow and rain. | ||
| | | | ||
| Line 170: | Line 170: | ||
|- | |- | ||
| | | | ||
====== 64-bit floating point limit (X/Z: > | ====== 64-bit floating point limit (X/Z: >±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) ====== | ||
| | | | ||
* Because | * Because 2<sup>1024</sup> is the maximum 64-bit floating-point integer, it causes the player's X coordinate to roll over to read "Infinity".<ref>Video reupload https://www.youtube.com/watch?v=OiqM07e7Odw</ref> It is impossible to go further since this is the physical limit at which Java can render, and the game is expected to crash at this distance. The only way to go further is by using BigInt and BigDecimal mods. | ||
| [[File:Infinity Java X Y Z.png|thumb|240px|]] | | [[File:Infinity Java X Y Z.png|thumb|240px|]] | ||
| | | | ||
Latest revision as of 11:08, 8 May 2026
|
For the {{{Description}}} of the same name, see [[{{{Destination}}}]]. |
Template:Merge Template:No navbox Template:Cleanup Template:MisleadingTemplate:ExclusiveThis page documents current and historical hard limits of Java Edition. These are defined as effects which arise due to integer limits inside of the game's code and data types, as opposed to limits which have been implemented intentionally (see Minecraft:World boundary) or effects due to precision loss (see Minecraft:Java Edition distance effects).
Current limits
Horizontal limits
| Coordinates | Hard Limits | Images of limits |
|---|---|---|
(X/Z: ±2; Precision loss errors) |
Template:Main
|
|
(X/Z: ±370,727; The End generation breakdown) |
|
|
(X/Z: ±1,073,741,824; Village generation limit) |
|
|
(X/Z: >±2,147,483,647; 32-bit limit) |
|
|
(X/Z: >±9,223,372,036,854,775,807; 64-bit limit) |
|
Vertical limits
| Coordinates | Hard Limits | Images of limits |
|---|---|---|
(Y: ±257 - ±2,048; Lighting breakdown) |
|
|
(Y: ±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; Absolute limit) |
|
Historical limits
Horizontal limits
| Coordinates | Hard Limits | Images of limits | |
|---|---|---|---|
Spawn chunk glitch (X/Z: ±524,288–X/Z: ±2,146,959,360) |
|
||
Item entity render limit (X/Z: >±67,108,864) |
|
||
Rain and snow fading (X/Z: >±134,217,728) |
|
||
Third person view limit (X/Z: >±268,435,456) |
|
||
Entity shadow limit (X/Z: >±536,870,912) |
|
||
32-bit limit (X/Z: >±2,147,483,647) |
|
||
Cloud render limit (X/Z: ±25,769,803,764) |
|
||
Chunk overflow limit (X/Z: >±34,359,738,368) |
|
||
Region overflow limit (X/Z: >±1,099,511,627,776) |
|
||
Player movement limit (X/Z: >±2,251,799,813,685,248) |
|
||
64-bit integer limit (X/Z: >±9,223,372,036,854,775,807) |
|
||
64-bit chunk overflow limit (X/Z: >±147,573,952,589,676,412,928) |
|
||
64 bit region overflow limit (X/Z: >+4,722,366,482,869,645,213,184) |
|
||
128-bit Indev limit (X/Z: >340,282,366,920,938,463,463,374,607,431,768,211,456) |
|
||
64-bit floating point limit (X/Z: >±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) |
|
Vertical limits
| Coordinates | Hard Limits | Images of limits |
|---|---|---|
(Y: <−2,147,483,647) |
|
|
(Y: >+2,147,483,647) |
|
|
(Y: >+22,502) and (Y: <-30,722) |
|
|
(Y:>+4,503,599,627,370,496) and (Y:<-4,503,599,627,370,496) |
|
|
(Y:>+36,028,797,018,963,968) |
|
History
Gallery
-
Picture of someone going to the 32-bit integer limit in Vanilla 1.8 using external programs
-
The end of Minecraft terrain generation at X: 2,147,483,794, about 146 blocks over the 32-bit limit. World rendering stops working at this point.
-
The end of Minecraft terrain generation in the Nether at X: 2,147,483,644 (2Template:^ - 4).
-
X: 34,359,738,079, where chunks start to become overwritten.
-
Same location as the previous screenshot, but the game is paused (notice an extremely high spike in CPU usage).
-
Y: 2,147,483,647, where rain and snow rendering stops.
-
A player teleporting to "Not a number" on the X/Z axis.
-
Fast clouds disappear exactly at 17,179,869,184 on this limit for 1 frame.
-
The far lands map
-
The hard limit map that was removed in here Note: Misleading map