-
-
Notifications
You must be signed in to change notification settings - Fork 6
Surface Height Calculation
To allow the map to calculate the surface height, a special 2d density function that maps x,z to the desired y value is used. If you use the default noise settings name (minecraft:overworld
) and the terrain is generated in a normal way from the minecraft:overworld/offset
density function (spline), you don't need to do anything. Otherwise you might need to override this special density function. The name of this density function is determined as follows:
Given noise settings [namespace]:[path/to]/[noise_setting1]
and dimension [test]:[dir]/[dimension1]
, the Map will look in the following places for a 2d density function with maps x,z to surface height:
[namespace]:[path/to]/[noise_settings1]/snowcapped_surface
[namespace]:[path/to]/[dimension1]_[noise_settings1]/snowcapped_surface
[namespace]:snowcapped_surface
minecraft:snowcapped_surface
(note the snowcapped_surface name comes from Snowcapped which uses the same files for its map)
There are build in density functions:
-
minecraft:overworld/snowcapped_surface
(=minecraft:overworld/offset
* 128 + 128) -
minecraft:overworld_amplified/snowcapped_surface
(=minecraft:overworld_amplified/offset
* 128 + 128) -
minecraft:overworld_large_biomes/snowcapped_surface
(=minecraft:overworld_large_biomes/offset
* 128 + 128)
You can find those here.
This is done as there is no easy way for the Map to determine the terrain height automatically:
- depth=0 might break if you choose to use depth differently (i.e. only based on y level)
- inital_density_without_jaggedness in vanilla also depends on the factor and requires "magic numbers" to get working correctly for vanilla. Datapacks might also mess with it for other effects.
- final_density is too slow to calculate