Bedrock Edition Far Lands

The Far Lands are a terrain generation bug $$ that happens millions of blocks from the world origin. It essentially forms the "edge" of an "infinite" world.

Location
The Far Lands initiate between X/Z: ±12,550,821 and ±12,550,824 as in the Java Edition, however only on mobile devices and Nintendo Switch; in the Windows 10, Xbox One and PS4 Bedrock ports, the terrain just cuts off to reveal bedrock and ocean.

Structure
The Bedrock Edition Far Lands are different from the Java Edition Far Lands. The content of the Far Lands in the Bedrock Edition is slightly different in biomes and structure in positive coordinates. Sand and gravel do not fall from generating in Bedrock Edition. This results in relatively stable performance.

In the Windows 10 Edition the traditional Far Lands do not generate at all, leaving bedrock, ocean, and in the Nether and End, skygrids.

In the Xbox One Bedrock port, there is nothing but oceans, bedrock and lava, and at extreme X/Z levels, Stripe Lands. Ocean ruin chests seem to spawn at sea level.

In the Bedrock Dedicated Server the Far Lands generate the same as the Xbox One Bedrock port.

The Nintendo Switch port's Far Lands appear in the same way as in the tablet port. However, if players wish to move about this version of the Far Lands, they must use a simple trick with the elytra or use ender pearls.

The Far Lands do not generate on flat worlds, due to the lack of a noise generator.

In Education Edition, what happens at the far lands depends on the world. Sometimes it is a skygrid, and sometimes it is a plain ocean/bedrock with different biomes.

The features of the Far Lands in other Bedrock ports remain unknown.

Edge Far Lands
The Edge Far Lands initiate in an extremely similar fashion to those of the Java Edition.

Despite Y level 255 being the maximum build height, the Far Lands are still cut off at Y=128, although trees still generate normally. (as the terrain generator is limited to Y=128 despite the 255 height limit)

If fossils generate here, they usually generate in mid-air without touching any block.

Warm and lukewarm ocean biomes in the Edge Far Lands appear as a "desert-like" patch, without any water in it, while normal and cold oceans generate grass blocks. Shipwrecks and underwater ruins always generate above ground, sometimes higher than 128 on the Y axis. Buried treasure sometimes generates without touching any block.

There are many distinct terrain types of Edge Far Lands, listed in the table below:

Repetitiveness
Near the Corner skygrid, terrain may start to become extremely repetitive. A great example of this is going to +12,550,745 on the X axis and +4,194,304 on the Z axis. The Far Lands do not look like their traditional selves. They look a bit stretched out and a bit thicker. At +8,388,608 on the Z axis the Far Lands look nothing like the normal ones. The large caves that generate are usually shorter and thicker. At the corner Far Lands, the X and Z axis Far Lands meet, and both Far Lands look extremely repetitive. They look nothing like if you were at Z=0. The same thing happens if you go to +12,550,745 on the Z axis and some high number on the X axis, like 131,072 or 8,388,608. The Z axis Far Lands tend to look more repetitive than the X axis Far Lands for no apparent reason. Going in the negatives, the same repetitiveness can be found even though on some axes the Far Lands don't even generate. For example, if you go to -12,550,745 on the X axis and +12,550,745 on the Z axis, The Z axis Far Lands look extremely repetitive even though there are no Far Lands there. At +12,550,824 X and -12,550,824 Z, the X Far Lands again look repetitive and thicker/longer, while on the Z axis, it's a skygrid. Currently there is no explanation for this, as in Minecraft: Java Edition Beta 1.7.3 The terrain stays the same. On any axes the Far Lands generate (Positive X and Positive Z), going towards a negative/positive direction on the opposing axes results in this deforming terrain. The easiest way to see this is to go to the Corner Far Lands on the positive axes or going to +8,388,608 on on of the opposing axes. This happens on every Bedrock Edition of the game that generates them. (i.e Nintendo Switch, Pocket Edition).

Nothingness
In the Far Lands with negative X coordinates, after the positive X coordinates degrade, and all the Far Lands in the Windows 10 Edition, the terrain stops generating entirely, resulting in there being nothing present aside from the ocean and the bedrock layer.

Certain structures are able to generate in this area. Several, such as desert temples, have elongated foundations when generated here. Jungle temples here do not have a foundation; they instead appear to float above the water. Fossils can generate underwater, but do not generate on the bedrock floor. Igloos generate underwater on the bedrock layer, replacing the bottom bedrock layer with stone bricks. Underwater ruins and shipwrecks always generate on the bedrock layer, and lava veins (with magma blocks, obsidian, and stone on top) still generate near the bedrock layer, often creating bubble columns. Buried treasure generates above water. Pillager outposts generate only the watchtower without any peripheral structure around it; however, although the pillagers fall into the void, new pillagers can spawn again and again (infinitely) in and around the watchtower. Village buildings generate on a floating platform of grass below them. Iron golems spawn without falling through the world, although they cannot move.

Desert wells, dungeons, abandoned mineshafts, and woodland mansions cannot generate here.

Mobs such as dolphins, cod, and salmon still spawn normally. Seagrass and kelp still generate on bedrock.

In the frozen ocean biome, the surface of the ocean still freezes, and icebergs can still generate. Polar bears can spawn without falling into the void.

Skygrid
In the Corner Far Lands, Far Lands with negative Z, and past the normal positive Z Far Lands, a 3D grid pattern of grass blocks appears instead of the ordinary stack/loop. Tall grass and trees generate on these blocks. This results in a perfect three-dimensional array of grass blocks levitating high above the ocean. Structures generated here follow similar rules to that of the Nothingness with some differences;
 * Ice spikes can generate very tall from sea level, reaching y-altitude 128
 * Igloos generate on y-layer 64, instead of the bedrock layer underwater.
 * Prior to Village and Pillage, villages generated here at high altitudes between 64 and 128 have very tall foundations extending from the bedrock layer.
 * After Village and Pillage, villages generated in the skygrid generate in sea level, just like in nothingness.
 * Unlike in nothingness, woodland mansions can generate in the skygrid.

Stripe Lands


The Stripe Lands are an artifact of the game's rendering and block hitbox calculation, rather than a quirk relating directly to terrain generation. The Stripe Lands starts at X/Z ±16,777,216, under the same terrain effects as Nothingness and Skygrid. They exist because coordinates are off by up to a full meter, causing the blocks themselves (not just their corners) to appear in the wrong places. In addition, blocks stretch to two times their length, or appear 2-dimensional.

Past X/Z: ±33,554,432 all blocks are rendered as two-dimensional.

Effects
The Bedrock Codebase uses 32-bit floating-point numbers (as opposed to 64-bit on Java Edition). At any given coordinates, even near the world origin, attempting to move is impossible if it is too slow. At every power of 2, the "minimum speed" doubles.

The player's hitbox corners are stored individually in memory (as opposed to the coordinates of the actual player in storage). If the player is at a power of 2, the hitbox corners may move at different speeds, changing the size of the hitbox. These size changes are usually neglegible, but can pottentially be significant. In extreme cases, the player's hitbox size reaches 0, making it possible to fall through the world.


 * Extremely minor jitteriness can be first experienced at X/Z: ±16,384. However, it is only noticeable if the player is moving slowly.
 * At X/Z: ±131,072, some sunflowers are starting to stand out and jitteriness movement becomes smaller not smooth if the player is seen correctly even though it rarely happens.
 * At X/Z: ±524,288, easily visible jitteriness is experienced and the further the player travels, the world gradually starts to become glitchy and unplayable. It also becomes impossible to move forward or backward while in cobwebs past this point. Some blocks with small 3d models render incorrectly, string may be invisible, painting flickering, tripwire hook (render error), and frame flickers (Only 2 direction may experience glitch).
 * Past X/Z: ±1,048,576, the jitteriness becomes considerably unbearable, making crashes very frequent at this point on low-end devices. Most blocks with 3D models, including cacti, levers, bamboo (medium high), bottom (x2 long) and torches render incorrectly, and become more distorted the farther out the player travels.
 * Past X/Z: ±4,194,304, it is impossible to walk. Ender pearls, an elytra with fireworks, horseback, speed potions, and water are the only acceptable ways to travel from here onward.
 * Beyond X/Z: ±8,388,608, every entity less than 2 blocks high or wide, including the player, falls through blocks. Since blocks still have collision detection from the sides (unless both coordinates exceed this value) Speed 8 allows players to walk past 8388608, but if they teleport past 8388608, they always fall through the world. Flying, elytra and horseback are the only ways to navigate past this point in Survival; thus, it is impossible to reach the Far Lands on foot.
 * Caves generated close to the Far Lands sometimes have an edgy "zipper" consistency, with sometimes only every second block being hollowed out.

The terrain errors initiate at X/Z ±12,550,821, like in Java Edition. At every power of two in the Stripe Lands, gaps between rendered blocks double. At X/Z ±1,073,741,824, blocks are 128 blocks apart and neighboring slices are invisible with a low render distance.
 * Between X: +12,561,029 and X: +12,758,546 the Far Lands begin to take on a thinner "shredded" appearance, before fading out into either a Nothingness or Skygrid state.
 * What generates from there to the beginning of the Stripe Lands (X/Z: ±16,777,216) is just ocean, with a floor of bedrock. The bedrock generates in a pattern identical to how it normally generates underground. Biomes still exist; swamps darken the water and cold biomes generate ice on the top layer of water. Generated structures, such as villages, witch huts, and jungle temples still generate here. The large blocks of land eventually phases out to become long thin strips and eventually dotted arrays of floating blocks resembling a 1-dimensional cross-section of the skygrid. On the Z axis, instead of fading out into nothing, the terrain becomes a skygrid.
 * X/Z: ±16,777,216 The Stripe Lands begin to render. They are caused when the precision loss of the world causes 1 out of every 2 blocks to be considered "invalid".
 * X/Z ±30,000,000 is the maximum teleportation distance; any attempt to teleport farther puts the player back at this coordinate, and using commands above 30,000,000 causes an "Unable to fill, summon, more object" error message because it is an Illegal position in the command.
 * X/Z ±31,999,872 can be reached in the overworld with the nether dimension by entering a nether portal past X/Z ±3,999,984 in the nether.
 * Beyond X/Z ±33,554,432 the "stripes" of the Stripe Lands disappear, leaving only vertical block rendering.
 * X/Z ±67,108,864 It becomes impossible to manually travel in Minecraft using elytra with fireworks. However, it is possible to teleport using chorus fruit, and ender pearls.
 * Generated structures like villages and ice spikes may continue to generate as far up to X/Z: ±134,217,728. However, they appear two-dimensional at this distance. In the Windows 10 edition, there is no limit to how far out structures can generate and they can be seen at distances of over 2 billion blocks.
 * Beyond X/Z: ±268,435,456, teleportation using chorus fruit becomes impossible.
 * MCPEFarLandsEnd.png
 * Near X/Z: ±2,147,483,648, the game freezes and crashes permanently. However, not all devices are able to reach this point.

Dimensions
The Far Lands of the Nether and End share characteristics of the Overworld Far Lands, although with some differences.

The Nether
The Nether Far Lands are similar to the Overworld Far Lands, except generated with Nether terrain features, with a lava ocean at Y=31.

The Far Lands do not generate above the bedrock ceiling, even if the Far Lands are modded into a more recent version.

The Nether can be a great way to reach the Far Lands in the Overworld, as every block in the Nether counts as 8 blocks in the Overworld. The player must travel to 1,568,853 or higher to spawn in the Far Lands. Teleporting just a few blocks less allows the player to see the beginning of the Far Lands.

The End
The End Far Lands are not of much interest, being made of almost exclusively end stone, and appear a bit more squashed and stretched horizontally than the Overworld Far Lands. Micro-end islands still generate inside the Far Lands, even after the latter dissipates. Since there is no signature liquid of the End, they just generate down to a dry void; similarly, there is no bedrock floor.

The End Far Lands are cut off at y=128, although structures still generate on top.

Cause
The terrain is generated based on 16 octaves of Perlin noise. Each noise generator takes floating-point inputs and uses those to interpolate between noise values at whole numbers. It does so by:


 * 1) Casting to a 32-bit integer, where Java rounds toward zero and handles overflow by picking the closest representable value;
 * 2) Subtracting one if the integer is greater than the original input, to always round down;
 * 3) Subtracting that integer from the original input to get a remainder in the interval [0, 1) suitable for interpolation.

It covers an interval of [−231, 231) without causing any problems. The problem is that many of the octaves cover a scale much smaller than a block, with up to 171.103 noise units per block. Indeed, 231 ≈ 171.103×12,550,824.053. Thus, the Far Lands start 12,550,824 blocks away from the center of the Minecraft world. Once this value is exceeded, the integer is always 231−1, thus breaking the generation algorithm.

The Farther Lands are caused by an overflow in "selector noise", as opposed to the low and high noise that cause the initial set of Far Lands to generate; while selector noise does repeat more often than low and high noise, only half as many octaves are used, causing them to overflow much further out.

At the positive end, the remainder starts out relatively small but usually much larger than 1, and grows by 171.103 per block. At the negative end, the remainder starts at −232. This value is then adjusted by ((6x−15)x+10)x3 or in this case, ((6(12,550,824.053)−15)(12,550,824.053)+10)(12,550,824.053)3 ≈ 1.8685826 × 1036 for quintic interpolation. Even one block in at the positive end, this is already around 1011. The negative end starts all the way around −1049. For the Corner Far Lands, multiply the values of both edges. When interpolation (really extrapolation) is attempted with values as large as these, it produces similarly large output. That output completely dwarfs all other terms that would normally give the terrain its shape, instead effectively passing only the sign of this one noise function through.

There are several other factors to the cause of the Far Lands, making things slightly more complicated:


 * Noise is sampled only every four blocks and linearly interpolated in between. This is why when 12,550,824 is affected by the bug, it reaches out three more blocks to 12,550,821.
 * Each noise generator picks a random offset in [0, 256) to add to its input. This usually moves the boundary under 12,550,824, starting the Far Lands at 12,550,821. With a few seeds, it might not, putting the start at 12,550,825. Very rarely, if the boundary is just barely within 12,550,824, the first couple blocks of the Far Lands might look somewhat normal. The southern and eastern Far Lands do this independently of one another. At the negative end, the Far Lands always start at block coordinate −12,550,825, with the positive edge of those blocks at −12,550,824.
 * There are actually two sets of noise generators, which are blended together based on another noise generator. This is responsible for relatively smooth alternation between two sets of tunnels or plains. Occasionally, one of the noise generators starts generating the Far Lands before the other because it uses a different offset, producing an incongruous boundary.

Issues
The world at excessive coordinates is not supported, and as such issues related to the Far Lands may not be fixed. This is because such issues would only affect players who intentionally teleport to high coordinates, and they are difficult to fix because they are a limitation of the game engine itself.

Trivia

 * On seed 0 (obtainable using the seed ) generates a skygrid in the stripe lands, allowing blocks and trees to generate in the nothingness of the stripe lands. However, due to the 2d rendering of every other block, most of the skygrid can not be seen from a certain axis.
 * When raids spawn in the stripelands they usually spawn in the void in between blocks and fall to their death, resulting in raids being defeated in minutes.