Java Edition distance effects

In, certain game mechanics start to break down as the player reaches the edges of the world. These effects are nowhere near as severe as what happens in Bedrock Edition at high distances, even if accounting for historical Java Edition distance effects.

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

World generation

 * The generation of mineral veins becomes slightly more blocky
 * This breaks down even further at high distances, which causes crashes between 2 and 2 ; ore veins are placed in adjacent chunks, causing them to be loaded, which in turn causes them to generate veins which are in turn placed in adjacent chunks, resulting in runaway loading of chunks.
 * Snow generation loses precision, becoming blockier

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.

Light

 * Light stops working beyond 2.

Rendering

 * Rain and snow fade at certain horizontal distances.
 * Entities lose their shadows after 2.

World generation

 * Villages just break after 2.

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 Distance effects in Java Edition/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).

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

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.

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.