{{Cleanup}}
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 ==
=== Horizontal limits ===
==== Precision loss errors (X/Z: ±2) ====
{{main|Java Edition distance effects}}
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) ====
[[The End]]'s generation is completely absent in repeating concentric rings centered on the world.[{{bug|MC-159283}}] 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) ====
{{disclaimer|section=1}}
Due to the lighting being controlled by precision-losing 32-bit floats,{{verify}} all light ceases beyond 2{{^|25}} 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 [[mushroom]]s 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.[{{Bug|MC-218504}}]
==== Village generation limit (X/Z: ±1,073,741,824) ====
{{disclaimer|section=1}}
Beyond this point (230), [[village]]s 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 Block|jigsaw blocks]].
==== 32-bit limit (X/Z: >±2,147,483,647) ====
{{disclaimer|section=1}}
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) ====
{{disclaimer|section=1}}
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 {{w|Integer (computer science)#Long integer|long integers}}. Attempting to travel or load chunks beyond here is expected to cause the game to crash.
=== Vertical limits ===
==== Lighting breakdown (Y: ±257 - ±2,048) ====
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)====
{{Needs testing|this does not seem to be the case in versions more recent than 1.12}}
The maximum possible [[Altitude|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 ==
[[File:Java Edition hard limits map.png|thumb|500px|Edge map.]]
=== Horizontal limits ===
{{info needed section|the fast cloud render limit. They become stripes afterwards}}
==== Fast Cloud Render Limit (X/Z: ±2,147,483,648–X/Z: ±25,769,803,764) ====
The fast cloud render glitch limit has always happened since fast clouds have been added into minecraft.
Fast clouds follow the players position in game after the 32 bit integer limit if the clouds position value is a int value then whenever you get to the 32 bit integer limit clouds position value return null and that might be why whenever you see clouds appear and disappear its because the pos is returned null or not a value this explains overflowing and why it also lags the game it returns almost everything null that uses the position value and is a int.
==== Spawn chunk glitch (X/Z: ±524,288–X/Z: ±2,146,959,360) ====
[[File:ChunkDupeB1.6.6.jpg|thumb|240px|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) ====
{{info needed section|start and end versions.}}
Beyond this point in some versions, [[item (entity)|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) ====
{{info needed section|start and end versions, positions...}}
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) ====
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) ====
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.
==== Chunk overflow limit (X/Z: >±34,359,738,368) ====
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) ====
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) ====
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) ====
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) ====
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) ====
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) ====
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×10{{^|308}}) ====
Because 1.797693134862315907729305190789×10{{^|308}} is the maximum 64-bit floating-point integer, it causes the player's X coordinate to roll over to read "Infinity".[Video reupload https://www.youtube.com/watch?v=OiqM07e7Odw] 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 ===
==== (Y: <−2,147,483,647) ====
{{cleanup|section=1|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
==== (Y: >+2,147,483,647) ====
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.
==== (Y: >+22,502) and (Y: <-30,722) ====
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.
'''(Y:>±9,223,372,036,854,775,807) and (Y:<-9,223,372,036,854,775,807)'''
In some versions of Minecraft going into third person will 100% crash your game if your are at or above the 64 bit integer limit this is the same bug from the 32 bit integer limit Y third person bug it is weird how Minecraft acts at this point this happens more often in modern versions but can happen in vanilla sometimes in beta this can spike the memory at this Y it is weird how stuff acts above this limit in beta it actually does not spike much but it only spikes for 2s when you load the world anything above that in vanilla it does not spike although the memory goes up for 2s this is pretty glitchy while modern does not spike at all vanilla will usually crash above the 32 bit not the 64 bit but sometimes it can crash over the 64 bit depending on the vanilla version. although the version this starts in is unknown yet.
== History ==
{{HistoryTable
|{{HistoryLine|java beta}}
|{{HistoryLine||1.6|dev=Test Build 3|Chunk duplication occurs every 2{{^|19}}{{verify}} blocks and repeats every 524,288 blocks.}}
|{{HistoryLine||1.8|dev=pre1|Chunk duplication has been patched.}}
|{{HistoryLine|java}}
|{{HistoryLine||1.14|dev=18w43a|Lighting breaks completely at X/Z ±33,554,432 or Y ±2048.[{{bug|MC-194878}}]}}
|{{HistoryLine|||dev=?|Villages are glitched at high distances.[{{bug|MC-201113}}]}}
}}
== Gallery ==
File:32BitBorder.png|Picture of someone going to the 32-bit integer limit in Vanilla 1.8 using external programs
File:FarLandsEnd.png|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.
File:FarLandsEndNether.png|The end of Minecraft terrain generation in the Nether at X: 2,147,483,644 (2{{^|31}} - 4).
File:ChunkEndOverwrite.png|X: 34,359,738,079, where chunks start to become overwritten.
File:ChunkEndOverwritePauseScreen.png|Same location as the previous screenshot, but the game is paused (notice the super high CPU usage).
File:RainRenderingStop.png|Y: 2,147,483,647, where rain and snow rendering stops.
File:PlayerTeleportingToNaNInVinnillaMinecraftWithoutMods.png|A player teleporting to "Not a number" on the X/Z axis.
File:A player at 6,442,451,089 reloading the world crash.png|alt=A player at 6,442,451,089 crash|A player at X = 6,442,450,942 + 147
== References ==
{{Reflist}}
[[zh:Java版距离现象/Beta1.8之前版本的现象]]