ThisTestUser / FarLandsChronicles

A documentation of a journey into the far lands
5 stars 1 forks source link

More information regarding the ridge far lands #17

Open allamassal opened 1 year ago

allamassal commented 1 year ago

In Forge mods re-enabling the Far Lands, a ridge can be observed at the expected Fartherer Lands distance, and again at the expected Farthest Lands distance, as seen in Chapter 5 - The Great Beyond (Fartherer-est Lands no fix). The Fartherer and Farthest Lands only exist in Forge mods (all other mods just generate the Farther Lands up until the Fringe Lands AKA the Bedrock Edition degrading phenomenon).

However, by setting coordinateScale even higher, we can investigate the ridge phenomenon further. On a world with coordinateScale set to 6.84412E17 (making one block on that map equivalent to 1,000,000,000,000,000 blocks on a regular world), the ridge will appear within render distance of 0,0. We can see that the ridge reverts at twice the original position on both axes (the Edges where the other axis is between 12550824 and 53905378859432512 don't fully revert at that point, but the Corners do), and mathematical curves can be found within the edge variations (between 0 and 64 on the other axis).

The Fartherer and Farthest Lands ridges will appear at the first chunk boundary to the east or south of their expected distances, indicating that these are likely a form of modulo far lands, rather than 64-bit noise far lands embedded in the normal Far Lands.

The Edge variations of the Fartherer Lands are all flat because coordinateScale can only be set to a multiple of 256 by the time it is large enough to get them within 32-bit integer range (as it is handled as a float), so we would need to be able to manipulate the noise scale on the X and Z axes separately to properly view the Edge Fartherer Lands.

However, we can view the Edge variations of Farthest Lands by manipulating just one of the mainNoiseScale values. Setting one of those two values lower than 3.9838E-8 (but no lower than 2.3284E-10) and teleporting to the expected distance on that axis and 1004065920 on the other axis will allow to view the Edge Farthest Lands, which are structurally identical to the Edge Farther Lands, except for a mathematical curve where they revert back to the Corner Farther Lands (screenshot below). 2022-12-19_09 59 23

Some more things to try: Setting coordinateScale to 2.9395271E12 and teleporting further on one axis while staying around 12550824 (equivalent to 53,905,378,859,432,512) on the other, as the ridge phenomenon appears to persist infinitely when the other axis is near its initiation.

Are the Fringe Lands affected by the ridge? We could find out by setting coordinateScale to 6.84412E25 both in MCP with the Far Lands re-enabled and no other modifications, and with the Forge mod (preferably using the same seed), and seeing if there are any differences.

allamassal commented 1 year ago

This phenomenon is actually caused by the %16777216L patch being changed to %9223372036854775807L rather than being removed entirely. The modulo causes the first octave's coordinate to revert to 0, which causes the noise values to revert to normal range. However, this is dwarfed by the second octave (which is still overflowing). The first octave gradually builds back up, and by twice the original ridge distance, the second octave is knocked down by the modulo, causing the first octave to once again dwarf all other octaves, which causes the Far Lands to revert to how they generated just before the ridge. This will cause the Edge Fartherer Lands to only look like the Edge Far Lands when the other axis is within 25101648 of 0, and the Edge Farthest Lands to only look like the Edge Farther Lands when the other axis is within 2008131848 of 0.