Java Edition hard limits

Jump to navigation Jump to search
This article needs cleanup to comply with the style guide.
 [discuss]
Please help improve this page. The talk page may contain suggestions.

This page documents historical hard limits of mainly earlier versions of Java Edition. These are defined as boundaries which exist due to the game's code and data types, as opposed to limits which have been implemented intentionally (see World boundary) or effects due to precision loss (see Java Edition distance effects).

Current limits[edit | edit source]

Horizontal limits[edit | edit source]

Precision loss errors (X/Z: ±2)[edit | edit source]

There have 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 run rampant at excessive distances.

The End generation breakdown (X/Z: ±370,727)[edit | edit source]

The End's generation is completely absent in repeating concentric rings centered on the world.[1] 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 very high values rapidly), multiple overflows happen within a reachable distance, creating rings of void and landscape which get thinner the further away they are from the origin. 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.

Lighting breakdown (X/Z: ±33,554,432)[edit | edit source]

The contents of this section are not supported by Mojang Studios or the Minecraft Wiki.

Due to the lighting being controlled by precision-losing 32-bit floats,[verify] all light ceases beyond 225 blocks. All blocks appear completely black and are unaffected by sky and block light (light-emitting blocks may create a local area of light in its block space, but this cannot extend). As a result, hostile mob spawning is extremely common, cave ambience sounds can play, and mushrooms can spawn naturally. By opening the 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 can be fixed by switching the data type to 64-bit floats in the lighting engine's algorithms.

When teleporting far distances, it is possible to find regions of full light. These will cause dark regions when blocks are updated.

In Java Edition versions 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.[2]

Village generation limit (X/Z: ±1,073,741,824)[edit | edit source]

The contents of this section are not supported by Mojang Studios or the Minecraft Wiki.

Beyond this point (230), villages seem to stop generating correctly at all. The only part which generates is the meeting point, sometimes with accompanying villagers - every other part is missing.

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 jigsaw blocks.

32-bit limit (X/Z: >±2,147,483,647)[edit | edit source]

The contents of this section are not supported by Mojang Studios or the Minecraft Wiki.

A hard limit exists at X/Z: ±2,147,483,647—the mathematical limit of a signed 32-bit integer (231 - 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.

64-bit limit (X/Z: >±9,223,372,036,854,775,807)[edit | edit source]

The contents of this section are not supported by Mojang Studios or the Minecraft Wiki.

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 (263 - 1). It is only realistically accessible by directly modifying the game to use 64-bit floats and/or long integers. Attempting to travel or load chunks beyond here is expected to cause the game to crash.

Vertical limits[edit | edit source]

Lighting breakdown (Y: ±257 - ±2,048)[edit | edit source]

The player's skin, and an item in a player's arm starts rendering incorrectly, resulting in no lighting at all. All lighting will stop working at 2,048 blocks. The effects may be slightly different in this case however, as full light has been noticed at negative coordinates.

Absolute limit (Y: ±2^1024)[edit | edit source]

[needs testing] The maximum possible height is 1.798×10308 (21024). Attempting to teleport beyond this limit will result in the value being interpreted as infinity and the teleportation failing.

The reason why going this high is not restricted by previous limits is because chunks do not load past Y: +320/-64, meaning that there is nothing to render except for snow and rain.

Historical limits[edit | edit source]

Edge map.

Horizontal limits[edit | edit source]

This section is missing information about: the fast cloud render limit. They become stripes afterwards.
 
Please expand the section to include this information. Further details may exist on the talk page.

Spawn chunk glitch (X/Z: ±524,288–X/Z: ±2,146,959,360)[edit | edit source]

Trees generating beyond X/Z: 32,000,000 at X/Z: 33,554,432

From Beta 1.6 Test Build 3 to Beta 1.7.3 inclusive, when the player approaches a coordinate that is a multiple of 524,288 on the X/Z axes (including by teleporting), the game loads the spawn chunk at that position, overwriting the contents of the terrain with the spawn chunk's contents. Due to the terrain rendering limit at X/Z 2,147,483,519 blocks, the maximum distance that this glitch can be noticed is X/Z 2,146,959,360. If the player manages to perform this glitch beyond X/Z 32,000,000 any generated trees, flowers etc begin to decay, but the block remains frozen in place.

Item entity render limit (X/Z: >±67,108,864)[edit | edit source]

This section is missing information about: start and end versions..
 
Please expand the section to include this information. Further details may exist on the talk page.

Beyond this point in some versions, items stop rendering entirely and dropping an item will make it stop rendering beyond this point.

Third person view limit (X/Z: >±268,435,456)[edit | edit source]

This section is missing information about: start and end versions, positions....
 
Please expand the section to include this information. Further details may exist on the talk page.

Beyond this point in some versions, third person view will always place the camera directly inside the player's head regardless of the presence of any potentially obstructing blocks.

32-bit limit (X/Z: >±2,147,483,647)[edit | edit source]

At X/Z: ±2,147,483,519,[verify] blocks are no longer rendered, giving way to an empty sky. At X/Z: ±2,147,483,647 (maximum 32-bit integer), the game is likely to crash, or the player gets stuck. However, chunks still generate along with clouds. Fast graphics clouds are heavily stretched. It is very dangerous to reach X/Z ±4,294,967,296, X/Z +6,442,450,942 or higher, as the chances of crashing (assuming the player has 64-bit Java) are extremely high and get higher the further the player goes.

Cloud render limit (X/Z: ±25,769,803,764)[edit | edit source]

At X/Z: ±25,769,803,764, 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.

Fancy clouds are 12x12 and hit the 32-bit integer limit at 25,769,803,776 (or 2,147,483,647 * 12), so in cause of that they overflow after this point disappearing.

Chunk overflow limit (X/Z: >±34,359,738,368)[edit | edit source]

If one makes it to X/Z: ±34,359,738,368 (235), away from spawn, chunks will start "looping". While made completely unobservable due to blocks also being 32-bit integers, exceeding this limit should cause chunks from the exact opposite overflow point to begin loading. Doubling distance again will put the player in the equivalent position to (0,0), and once more will appear at the overflow point once more. As a result, this is the end of Minecraft.

As soon as this limit is approached, the game freezes and crashes presumably due to the 32-bit block coordinate limit, resulting in an Out of memory screen. However, in some cases, the player may be able to move past this limit for a few seconds before Minecraft crashes. A chunk is 16×16 blocks, and 34,359,738,368 = 2,147,483,648×16, so the chunk coordinates are 32-bit integers as well. If you were 160ish blocks away, that would crash and the game will remain unresponsive until the player force quits.

Region overflow limit (X/Z: >±1,099,511,627,776)[edit | edit source]

Regions are 512×512 sections of a Minecraft world save file, which at the time of Beta 1.2 all the way to Java Edition 1.2.1, when it was superseded by the Anvil file format. These regions basically tell where specific chunks are located in the world save file, and these are stored in the file, saved so that they can be read by the game later. Like blocks and chunks, these regions also have a limit, since these regions are also 32-bit integers. At the distance of X/Z: ±1,099,511,627,776 (240) from the center of the world, these regions will begin to "loop" as well. Like chunks, this effect is completely unobservable due to chunks and blocks being 32-bit integers. Unlike the chunk overflow limit, nothing happens at this distance, since the regions themselves are related to the save file, not the game itself.

Player movement limit (X/Z: >±2,251,799,813,685,248)[edit | edit source]

If the player manages to surpass the chunk overflow limit, then as they travel outwards, their movement will begin to lose precision in a similar way to Minecraft Bedrock Edition beyond 2^22. Beyond blocks 251 away, it is no longer possible for the player to move along the axis they are traveling using normal walking speed. In some ways, this could be considered as the "invisible Stripe Lands"[unofficial name].

64-bit integer limit (X/Z: >±9,223,372,036,854,775,807)[edit | edit source]

The highest signed value for 64-bit machines is X/Z ±9,223,372,036,854,775,807. However, despite this being the limit any machine can go, it may not be possible (through in-game methods) to go near this point, since the vast majority of people experience instant client freeze, followed by the client crashing. Furthermore, the player's position precision loss is also at play here, so the actual limit would be much closer.

64-bit chunk overflow limit (X/Z: >±147,573,952,589,676,412,928)[edit | edit source]

If chunks are patched to use 64-bit integers, then the farthest that you would be able to travel without crashing is roughly 147.573 quintillion blocks, or 267 blocks out. However, due to the player position itself losing precision at this point, the actual limit is likely closer.

64 bit region overflow limit (X/Z: >+4,722,366,482,869,645,213,184)[edit | edit source]

If regions are patched to use 64 bit integers, then the farthest you would be able to travel if the chunk overflow limit for 64 bit was patched would be about 4.722 sextillion blocks, or 272 .

128-bit Indev limit (X/Z: >340,282,366,920,938,463,463,374,607,431,768,211,456)[edit | edit source]

The position of the player can be modified with an NBT editor in Indev, and the maximum distance that can be achieved using this method is X/Z: 2128, or roughly 340 undecillion. If the player teleports to said coordinates in the version of Indev that pushes the player back into the map, the player is pushed from X/Z: 2128 to X/Z: 2,147,483,648 in about 5 minutes.

64-bit floating point limit (X/Z: >±1.797693134862315907729305190789×10308)[edit | edit source]

Because 1.797693134862315907729305190789×10308 is the maximum 64-bit floating-point integer, it causes the player's X coordinate to roll over to read "Infinity".[3] 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.

Vertical limits[edit | edit source]

(Y: <−2,147,483,647)[edit | edit source]

This section needs cleanup to comply with the style guide.
 [discuss]
Please help improve this page. The talk page may contain suggestions.
Reason: organize

In Beta 1.7.3, as the player falls below Y=−2,147,483,647, the darkness of being in the void disappears. Instead of darkness, the void now looks like an empty world. It has a sky, a sun, and a moon, and they are all visible depending on the time of day. Despite this, the player still receives damage from the void. going into third person will crash the game.

  • In Release 1.6.2 for 64-bit machines, the limit of how high up the player can teleport is +4,999,999,999,999,999 blocks high. Prior to Beta 1.8, the player could teleport up to the limit for 64-bit machines
  • In Snapshot 20w10a you could teleport to 64-bit floating point limit on both positive and negative only using external programs as when teleporting that high the sky would flash after 2 ^ 52 and not flash after in range about 2 ^ 1015

(Y: >+2,147,483,647)[edit | edit source]

In Beta 1.7.3, as it rains when the player flies up to the coordinates Y=+2,147,483,647, the rain disappears. Instead of rain being there, the sky now looks like an empty world. It has the sun, moon, and they are all visible depending on the time of day. going into third person will crash the game.

  • In some versions of Minecraft going into third person after 2,147,483,648 blocks on the Y axis will crash your game this happens more often in modern versions but can happen in vanilla sometimes in beta this can crash the game more newer versions have less likely to crash though.

(Y: >+22,502) and (Y: <-30,722)[edit | edit source]

When snow was added, coordinates Y=22,502+ had a lighting bug in chunks that had this snow. This is because the lighting system is based on a combination of block light and sky light; block light is emitted by certain light sources or generated by other blocks, while sky light is determined by the time of day and the presence of sky visibility. This is also shown, even without the presence of snow, in the avatar being rendered incorrectly.

At extreme coordinate values or distances far from the world spawn point, the rendering engine may encounter limitations in its ability to calculate and propagate lighting correctly. It's possible that the lighting calculations become way less accurate or consistent, leading to graphical glitches or anomalies like the axis Y=22,502 with snow rendering, and this inaccuracy stops at the coordinates, Y=24,618. This cycle weirdly uses is +4,096 blocks out on the y and sometime +2,114 blocks out on the y when lighting appears weirdly.

This continues on until the 32 bit integer limit, where snow stops rendering. The avatar, however, is still rendered incorrectly, even over the 32 bit integer limit. This glitch goes on forever, further exaggerated if the time is set to midnight; the yellow tint observed at night at this distance is a rendering artifact, rather than a deliberate design choice. It occurs due to how the game’s shaders and color processing handle low-light environments. At midnight, the darkness is more pitch black than it should be, though light areas are unaffected. Snow in light does not have a effect of turning yellow, however. At midnight, snow is rendered poorly with Y-axis shifts; this does not apply with light areas, due to the aforementioned lack of effect.


(Y:>+4,503,599,627,370,496) and (Y:<-4,503,599,627,370,496)

There are two critical thresholds set at positive and negative 4,503,599,627,370,496, denoted as (Y: >+4,503,599,627,370,496) and (Y: <-4,503,599,627,370,496) respectively. These numerical limits serve as the primary barriers, beyond which the player's manual movement is disabled.

Another changes occurs when the player reaches the limit of positive 2^52 or negative 2^52. Here, while manual movement becomes impossible, the player can still fall. also whenever going above this or directly to 2 ^ 52 the sky starts flashing colors of the rainbow this is due to hex codes breaking beyond this point it gets worse each 2 to the power you travel out this will usually happen in modern versions like 1.12.2.

(Y:>+36,028,797,018,963,968)

Another threshold is established at positive 36,028,797,018,963,968, marked as (Y: >+36,028,797,018,963,968). Beyond this point, the player is rendered completely stationary; conventional movement is entirely stalled.

History[edit | edit source]

[hide]Java Edition Beta
1.6Test Build 3Chunk duplication occurs every 219[verify] blocks and repeats every 524,288 blocks.
1.8pre1Chunk duplication has been patched.
[hide]Java Edition
1.1418w43aLighting breaks completely at X/Z ±33,554,432 or Y ±2048.[4]
?Villages are glitched at high distances.[5]

Gallery[edit | edit source]

References[edit | edit source]