Custom world generation

Custom world generation allows data packs to change how the world/biomes generates. This is particularly useful in conjunction with custom worlds/biomes.

Noise settings
Noise settings are for generating the shape of the terrain, stored as JSON files within a data pack in the path, and are used with the generator in the  folder. Default settings include for normal Overworld generation,  for Amplified Overworld generation,  for regular Nether generation,  for Cave (Nether-like generation but with Overworld terrain features) generation,  for regular End generation, and  for Floating Islands (similar to The End outer islands) generation.

Default settings
These are the settings used by the 6 presets available for the  generator.

Structure defaults
These are the default values for all namespaced structures. Every preset uses the same values for all of these structures, with the exception of. *Placeholder values, have no effect

**Salt values aren't used for theses structures; changing them produces no effect

Biome
Biomes stored as JSON files within a data pack in the path.

Carvers
Carvers are used to add carved out regions of biomes, either replaced with air or liquid. They are stored as JSON files within a data pack in the path.

Whether it is possible to configure the "ocean" layer of carvers (for example the lava that appears below y=10 in Overworld caves) is unknown.

Surface builders
Surface builders control how the surface of the terrain is shaped and what blocks it is generated with. They are stored as JSON files within a data pack in the path.

Features
Features are small decorations that can at most write to a 3x3 chunk area centered on the placement chunk. They're locally placed per-chunk and cannot be searched for using commands. Examples are trees, flowers, ore, etc. Configured features are stored as JSON files within a data pack in the path.

Structures
Structures are large decorations that can write to a much larger area than the 3x3 chunks of a feature. They're placed globally and spaced out in a randomized grid (or in concentric rings for strongholds), and can be scanned for and found using. Structures can affect terrain generation. Configured structures are stored as JSON files within a data pack in the path. The logic behind what qualifies as a structure versus a feature is unclear. Dungeons and Desert wells are typically considered structures, but are implemented as features. Also, Fossils are implemented as a feature while Nether Fossils are not even though they consist of essentially the same structure.

Jigsaw pools
Jigsaw pools or template pools are used to generate structures using jigsaw blocks, stored as JSON files within a data pack in the path.

Processor lists
Processor lists are lists of processors used to affect blocks in structures, stored as JSON files within a data pack in the path.