Datapack Codex

Far Lands (Java Edition)/Further distances by modding (Pre-Beta 1.8)

Minecraft Wiki article. Categories: Terrain_features, Far_Lands

📌 Mirrored from Minecraft Wiki

This article is reproduced from Far Lands (Java Edition)/Further distances by modding (Pre-Beta 1.8) on the Minecraft Wiki. Mirrored from revision 3715642. It is licensed CC BY-NC-SA 3.0 by the Minecraft Wiki contributors — not under the Codex’s CC BY-SA 4.0, and it may not be used commercially. Edits belong upstream, not here.

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

The Far Lands were the point within Minecraft where the terrain generation effectively broke down due to overflow in 32-bit terrain generation. The Far Lands end in vanilla gameplay at the 32-bit integer limit, at approximately X/Z: ±2,147,483,647, with nothing else generating afterwards. By modifying the game, though, it is possible to remove the limits that normally crash the game. Whether or not this can be considered vanilla (since distance effects also end up patched) is up for debate.

Explanation

Because terrain generation in Beta 1.7.3 relied on 32-bit integers, certain aspects broke down at extreme coordinates. At X/Z: ±2,147,483,647, the 32-bit integer limit, blockpos within chunk formatting breaks completely, attempting to load a chunk from the opposite end of the map relative to the player's axis, -2,147,483,648, causing the game to instantly crash when approaching this point. This also means the game is no longer able to render any terrain at this point, because it is attempting to pull from the opposite end when trying to generate the next chunk after 231. Thus, an endless void is what remains past the point, and if viewed from the other side, the exact point of it failing can be seen, although the game instantly crashes as soon as its rendered. If this array is fixed from rolling into a negative, what results is a invisible gap within chunks along X/Z: 231, likely due to Frustum culling breaking down even further at the 32-bit integer limit (in the corners, it results in a giant X-like formation).[1]

A BigInteger mod fixes this by storing most data, including chunk formatting, in Java's BigInteger class, which has an extremely large overflow point, up to 2231 − 1. As a result, this patches most effects of the Far Lands seen in vanilla Minecraft, including the world boundary at 32 million blocks and making blocks solid. To see the effects of how the vanilla Far Lands continue without these game-breaking effects, the Perlin noise and how terrain generation itself is not altered. Due to the previous changes, this may not be considered vanilla as it technically goes beyond what vanilla Minecraft was designed to handle, just altered using a different storage to prevent crashes and certain artifacts.

What is interesting is that due to this, new distance effects akin to those from Bedrock Edition begin manifesting themselves at extremely large distances. The difference is because Java Edition was coded using Java rather then Bedrock's C++, meaning that in the former, the same effects visible in vanilla Bedrock gameplay (and its Far Lands up until their removal in Bedrock Edition 1.17.30) end up happening much further out, and thus do not occur within the maximum range attainable in vanilla Java Edition.

Effects

Coordinates Effects Image (if available)
X/Z: ±34,359,738,368 (±235)
  • Soil noise overflows, causing repeating stone layers to be exposed within the Far Lands.
    • The start of this is seed-dependent, so the start of the overflow may be off by about 1,000 blocks.
X/Z: ±9,007,199,254,740,992 (±253)
  • At this point, the Far Lands and the game begin breaking down in similar manners to Bedrock Edition:
    • The JavaScript property known as MAX_SAFE_INTEGER overflows at this value in CoordScale, with the floating point precision errors causing only every other block to render as a result. Thus, the Stripe Lands occur beyond this point, and player movement becomes increasingly difficult.[a]
X/Z: ±18,014,398,509,481,984 (±254)
  • The Far Lands become essentially flat and nearly invisible as precision loss increases to 4 blocks and horizontal rendering on blocks breaks entirely. This gets worse every power of two and causes less and less to appear.
  • A Stripe Lands fix is required to see any further terrain breakdown.
X: ±8.1751×1048
X: ±8.5766×1048
X/Z: ±9.1762×1048
X: ±1.0299×1049
  • The Far Lands progressively begin to break down as a result of a combination of Lerp failure within terrain generation and a process known as decay. The exact point is different on both axes, but what follows is below:
    • The first stage begins at ±8.1751×1048 on the X axis, with a noticeable thinning and comb-like artifacts appearing every other block in some of the terrain (a result of lerp failure).
    • The second stage of the degradation starts at X: ±8.5766×1048, with even more portions dissipearing and the comb-like artifacts becoming more frequent and distinct.
    • At X/Z: ±9.1762×1048, two things happen depending on what axis the player is on. On the X axis, the third stage of the degradation begins, with a majority of the long walls and tunnels that compose the structure of the Far Lands disappearing, leaving frequent long lines and dotted blocks along with comb artifacts in their place, as well as the bedrock ocean becoming exposed at surface level. On the Z-axis, the degradation is much slower, with the first stage only beginning at this point.
    • The fourth and final stage of degradation begins at ±1.0299×1049 on the X axis. Here, the last long walls that remained of the Far Lands end entirely, leaving only single blocks spaced out every other block (a dotted line) and occasional long one-block lines of terrain. The latter also stops sometimes afterward.
X/Z: ±4.119992×1049
  • The Far Lands end completely at this point. The only thing that generates after this point is an endless bedrock ocean. This marks the end of Minecraft terrain generation.

Beyond this point, it remains the same, even up to X/Z ±~1.7977×10308 (±21024). Further distances are possible as Java’s own BigInteger class maxes out at X/Z ±~8.8081×10646456992 (2231 − 1). This is theoretically the absolute farthest one could possibly even reach as both BigInt and the coordinates would overflow, the latter rolling over to "Infinity" and crashing the game, making this the absolute maximum Minecraft can generate, even with extensive modding. However, this is an exceptionally gigantic number that any attempts using this method would almost certainly crash the game long before then. The highest distance reached using this method so far is X: ~2.5963×10157826 (2524288) by the YouTuber hypernebule, on June 8, 2026.[2]

Decay progress (without fix)

Notes

  1. ↑ In the MCBig Legacy mod, this can be verified by not checking the "Big Decimal Movement" option upon launch, which would fix the player position and precision loss at this distance. Verified also in 64-bit mods despite terrain itself being converted to Longs, as player movement itself is not changed.

References

Sources