Java Edition distance effects

In, certain game mechanics start to break down as the player reaches the edges of the world.

Rendering

 * Rain and snow appear stretched out at large heights.
 * Translucent blocks can sometimes occlude other translucent blocks behind them depending on player position.
 * This is minor within vanilla's bounds, but becomes very pronounced at much higher distances if using mods, notably over icy areas. Can also affect certain blocks by themselves like slime blocks and honey blocks at even more extreme distances.

Sounds

 * Many break down slightly
 * Becomes considerably more pronounced beyond vanilla bounds at 2 (268 million blocks)
 * The vibration feature for sculk sensors is created at the wrong position

World generation

 * Temperature distribution breaks at high distances, which can be easily noticed with the creation of snow and ice in biomes such as Mountains appearing blockier due to both world generation and subsequent regeneration from snowfall or freezing
 * The End's generation is completely absent in several circles centered on the world. Unlike all other effects mentioned on this page, this is due to an integer overflow, rather than float precision loss.

Beyond the world border (X/Z ±29,999,984–2,147,483,647)
Horizontal distances far beyond 30 million blocks cannot be reached without game modification. Mods such as the FarLands mod can be used to move the world border further out to make these regions accessible. This lists effects that are completely exclusive to these distances and cannot be seen in any form in vanilla.

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 2^30 or 1,073,741,824 blocks, the player would only be off by (2^30)/(2^52) = 1/2^22 = 1/4194304 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.

Entities

 * The player can easily get stuck in the sides of blocks after 2 (1.073 billion blocks).

Light

 * Light stops working beyond 2 (or 33.6 million blocks).

Rendering

 * Rain and snow fade at certain horizontal distances.

World generation

 * Villages just break after 2 (1.073 billion blocks).

Game

 * Game crashes when trying to render chunks after 2, which cannot be remedied without intense modifications to the game. Attempts have been made to exceed this limit and allow terrain and the game to work further out, even if doing so would simply not be worthwhile.

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 or even slightly modded bounds will likely break down at very high distances similarly to Bedrock Edition.

Stripe Lands
Most of the time, only 52 bits are dedicated to the fraction; therefore, after 2^53 or 9,007,199,254,740,992 blocks out, precision breaks to consider only every second block, and so on. These are purely conjectural, however, as nobody has managed to get terrain to render out this far. However, the effects of such limits have been recorded on the Y axis.

Explanation
The following paragraphs mainly concern pre-Beta 1.8 distance effects. Many effects are noticeable after traveling millions of blocks away from the center of the map. The first effect that becomes evident from 0624 Infdev to Beta 1.7.3 is the jumpy or stuttering movement of the map. In old versions of Minecraft, when the game renders the map around the player, there are two different versions that are generated, the rendering of the blocks themselves (i.e. entities, how much the block generates) and the visual aspect to the blocks (e.g. the hitbox, block pixels etc.). In Java Edition Beta 1.7 and prior, the visual aspect of world rendering loses precision, resulting in the jumpy movement. The reason the world loses precision in the first place is that the rendering engine uses double-double precision, which determines the position of the world around the player. The rendering engine then uses a floating point integer to determine how far the already rendered blocks move around the player when they move. Unfortunately, this floating point integer cuts the double-double precision number in half, and thus the rendering engine doesn't have enough information to render the terrain correctly, and the information gets cut in half every time the player doubles their distance. Removing the floating text from the rendering engine fixes the stuttering movement.

This jumpy movement is notable even at an X/Z of ±16,384, becoming increasingly noticeable around ±524,288. The intensity of such glitches doubles every time the player passes a coordinate that is a power of two (e.g. 2,097,152 or 4,194,304). After about X/Z 16,777,216, the hitbox is a full block off, which makes placing and destroying blocks almost impossible. The floating point precision errors are no longer noticeable past X/Z 2,147,483,519, as surface textures stop rendering and blocks no longer generate. At the center of the world, the world would be off by only $1/4194304$ (0.000000238...) blocks. Past the 32-bit limit, the world would be off by 256 blocks. For any position between n and 2n, where n is a power of 2, the world is offset by $n/8388608$ blocks, or $n/524288$ block pixels. The precision errors also affect entities like Redstone dust and ladders. If the player performs the "Spawn Chunk Glitch" (see Java Edition distance effects/Before Beta 1.8, then Redstone dust and ladders become noticeably stretched. They double in size for every exponent of 2 that the player travels from here on out. At X/Z: 268,435,456, Redstone dust is larger than one chunk and at X/Z: 1,073,741,824, Redstone dust is 128 blocks wide. If terrain were to theoretically generate out to the 64-bit limit (X/Z: ±9,223,372,036,854,775,807), (Assuming it managed to do that at a single floating point precision.) Then the hitbox would be over 2.2 trillion blocks off and redstone dust would be 2.2 trillion blocks wide as well.

Past 32 million blocks, alongside the fake chunks, structures and terrain population/decoration would not generate, allowing the mineral vein-induced crash between 67,108,864 and 134,217,728 blocks to be completely avoided (assuming it existed then).

At excessive X/Z positions (depends on the operating system and version, but usually occurs between X/Z: ±268,435,456 and ±2,147,483,647, and early versions such as Beta), world render glitches out, resulting in terrain that appears to flicker. This does happen at X/Z: <±268,435,456, but it becomes very noticeable at X/Z: >±268,435,456 and gets worse every power of 2 beyond that. This could most likely be that past X/Z: ±268,435,456 the Minecraft world is 32 blocks off, which is as large as 2 chunks, though it is unconfirmed.

History
This history section is sorted by when each case was fixed.

Other high-distance issues
These are tied to specific powers of two, but do not progressively get worse with increased distance.

High-time precision loss bugs
While not strictly distance effects, these similarly concern precision loss issues with float casting that happen due to excessive time values, regardless of spatial position.

Redstone wire
Between Alpha v1.0.1 and release 1.8 snapshot 14w11b inclusive, redstone wire first begins to distort beyond 1,048,576 blocks. This distortion is rather subtle, and solely affects the dot - other connections are unaffected. In the screenshot, the redstone at the top (which is the smallest) is before 1,048,576 blocks on both axes, and thus appears at its normal size. The bottom redstone, which is beyond this position, appears bigger. The other two dots are beyond this position on only one axis each, and appear slightly rectangular as a result.
 * 1,048,576 - 4,194,303 blocks

Beyond 4,194,304 blocks, redstone starts to distort more significantly and in more ways. Notably, single dots are invisible - since at these coordinates, precision can only be half a block, this splits a block's top surface into a 2x2 grid with 9 possible vertices. As the redstone dot is centered onto the block, the vertices of the model are presumably rounded to the center of the block, producing an invisible 0-dimensional result. Corner turns of redstone dust are now somewhat shrunken as to only cover a corner of the block face, and T-shapes are stretched to cover only half of the block's top face. Crosses and lines are unaffected.
 * 4,194,304 - 8,388,607 blocks


 * 8,388,608 - 16,777,215 blocks

Redstone rendering degrades further upon another subsequent doubling of the distance. Redstone dots' model vertices are now rounded out to the corners of the block rather than the center, producing an again visible result which now covers the full block face. T-shapes and corner turns now also cover the full block top face. Lines and crosses remain unaffected at this point due to them covering the full top face in the first place.

Tripwire
Beyond 262,144 blocks on both axes, tripwire string simply stops rendering. Beyond this point on only one axis, it will only stop rendering in the direction perpendicular to the axis it is exceeded on. Of what remains, some subtle z-fighting can be seen.
 * 262,144 - 8,388,607 blocks

Pistons
Note: this section deals with stationary pistons and does not include pistons in motion. The arm section of pistons begins to distort at this point. If the piston's direction is perpendicular to that of the direction of travel (including vertically facing), the arm will now appear completely flat on that axis. If beyond this point on both axes, this will result in the arm of extended vertical pistons to appear completely 1-dimensional and therefore invisible.
 * 2,097,152 - 4,194,303 blocks

The above details still apply at this point. Pistons now gain an additional distortion at this point. If it is extending parallel to the direction of travel, it will now appear shorter, and detached from the piston body slightly. At 4,194,303 blocks exactly, the texture on the arm will appear slightly squished if facing in the negative direction (as tested on only one positive axis). Beyond this point, the texture mapping will no longer be squished, but part of the arm will be inside of the head, which can be seen by clipping inside of it.
 * 4,194,304 - 8,388,607 blocks

Piston arms now become extremely distorted after this point. Arms parallel to the direction of travel still look the same as their 4,194,304+ counterparts, but those which run perpendicularly are dramatically stretched to cover a full block's width. If on both axes, this can cause the extended piston to appear like two stacked full blocks.
 * 8,388,608 - 16,777,215 blocks

Cauldrons and hoppers
Between these points, cauldrons and hoppers become very slightly distorted, in that the inner face becomes coplanar with the outer face. This causes the inside of the block to appear slightly larger.
 * 2,097,152 - 16,777,215 blocks

Cauldron and hopper inner face behavior becomes very interesting at this point onwards. Assuming one axis, for odd-numbered coordinates, one face will be missing, specifically the face next to a multiple of 2 which is not a multiple of 4. This face is offset to the block which is a multiple of 4. For cauldrons/hoppers which are at an even, non-multiple-of-4 coordinate, both inner faces will be offset outwards to adjacent blocks. For those at multiple of 4 coordinates, the internal faces will be outright invisible.
 * 16,777,216 - 33,554,431 blocks

Flower pots
Beyond this point is where flower pots first become distorted. While not immediately obvious, paying attention to the dirt reveals that more of it is visible than previously. A flower pot at exactly 1,048,576 blocks will only be distorted on the positive half of the pot - the negative half will remain normal. Beyond this point, both the positive and negative halves on the applicable axes will be distorted.
 * 1,048,576 - 2,097,151 blocks

Distortion on flower pots becomes more obvious beyond this point. The internal faces of the pot now are rounded to be closer to the center, rather than slightly farther from it like before. As a result, looking down into the pot allows the sides to be seen out through.
 * 2,097,152 - 4,194,303 blocks

Similar to the previous entry, a pot at exactly 2,097,152 blocks will have the old distortion in the negative half, and the new distortion in the positive half.

It is worth noting for this entry and all subsequent flower pot entries that these internal faces are only rendered from thje intended angle and are invisible from behind due to them never being normally seen from behind. This is intended design and is not a distance effect.

The flower pot's internal planes have now been completely ejected from the pot itself, such that there are now two full block pixels between the intended edge of the pot and the new position of the planes.
 * 4,194,304 - 8,388,607 blocks

Similar to the previous entry, a pot at exactly 4,194,304 blocks will have the old distortion in the negative half, and the new distortion in the positive half.

Interestingly, distortion beyond this point is now positionally dependent, despite the precision loss not being greater than a full block at this point. Assuming only one axis exceeds this coordinate, pots at odd coordinates will have their internal planes outright offset into adjacent blocks. For those with even coordinates, the internal planes simply appear absent. However, some faces now appear at full brightness where they would usually not. This may mean that the internal faces are offset to coincide with the pot's faces in these cases, as the internal faces are always drawn at full brightness in these versions.
 * 8,388,607 - 16,777,215 blocks

For mixing offsets, pots at double even coordinates have no inner faces and are fully bright, pots at an odd-even coordinate will have two fully bright faces and two offset faces, and double-odd pots will have all four faces offset (which can all be seen at once).

Distortion increases again beyond this point. Assuming only one axis, even-numbered pots again have no visible inside faces and some fully bright faces. For those at odd numbers, both of the inside faces will be offset to the nearest block which is a multiple of 4.
 * 16,777,216 - 33,554,431 blocks

Mixing coordinates functions as follows: for pots at double even coordinates, internal faces will be absent and the pot will be completely unaffected by ambient occlusion. At an odd-even coordinate, two outside faces will be fully lit, two inner faces will be absent, and the other two inner faces will be offset to the nearest multiple of 4 block. At a double-odd coordinate, two faces will be offset to one of the two closest multiple of 4 blocks, and the other two will be offset to the other.

Fences, fence gates and walls
At this point, the hitboxes for fences, gates and walls begin to break. Before this point, pushing into a fence in the positive direction would allow the player to go as far as .07500 blocks into the space the fence occupies; beyond this point, the limit becomes .20000 blocks. It is also possible to easily see inside of walls due to this.
 * 2,097,152 - 8,388,607 blocks

In this bracket, fence and wall hitboxes expand to fill out the entire block they occupy, similarly to how fences and gates were prior to Beta 1.8 Pre-release and release 1.1 respectively. This is obviously due to the integers being the only representable numbers with floats beyond this point.
 * 8,388,608 - 16,777,215 blocks

Hitboxes beyond this point become very strange, and virtually non-existent in some cases. Assuming this distance is exceeded on only one axis and in the positive direction, a fence at a multiple of 4 coordinate will have an extremely thin hitbox at the negative side of the fence. A fence at a coordinate one more than a multiple of 4 will have no hitbox at all, one at an even, non-multiple-of-4 coordinate will again have a thin hitbox at the negative side, and one below a multiple of 4 will have its thin hitbox at the positive side.
 * 16,777,216 - 33,554,431 blocks

Trivia

 * Up until 1.1, there existed a major bug with the OptiFine mod  which would cause world rendering to completely break when traveling a far enough distance away, with effects manifesting as soon as 10,000 blocks. The effects would appear to get more intense continuously when moving far away from the center of the world, as opposed to having cutoffs every 2  blocks, due to this rendering bug also taking rotation into account (although if the rotation is kept constant and along one axis discrete jumps become noticeable). The bug existed due to the mod undoing vanilla's fix for said bug.