Custom

Custom is a world type that allows users to change the generation of the Overworld, Nether, and End dimensions as well as the ability to create custom dimensions. It is edited using a JSON file that is imported on the world creation screen.

Access
To customize a world by using a JSON file, it needs to be imported before world creation:


 * in the world creation menu, go to "More World Options..." and select the "Import Settings" option. Then, select a world generation JSON file. A warning appears saying that custom worlds are experimental. Click "Yes" to continue.
 * then, in the world creation menu, the "World Type" button becomes gray and displays text: "World Type: Custom", so that the user is not able to change the world type anymore for the world being created.

The only way to access added dimensions is through commands, such as, which teleports the player to the specified dimension (see ).

JSON format
Custom generation files take the following format:


 * The root tag.
 * : Whether the world has a bonus chest or not (equivalent to the "Bonus chest" option).
 * : Whether structures should be generated or not (equivalent to the "Generate structures" option).
 * : The numerical seed of the world.
 * : The custom world preset that was used to generate the world when it was an old customized world. Exists only for old customized worlds.
 * : A list of the dimensions in this world where the key is the namespace ID of the dimension.
 * A dimension. The dimensions minecraft:overworld, minecraft:the_nether and minecraft:the_end are required for a well functioning world. Any other namespaced ID is allowed for custom dimensions.
 * : Generation settings used for that dimension.
 * : The ID of the generator. Can be minecraft:flat for a superflat dimension, minecraft:noise for noise generation, or minecraft:debug for a debug dimension.
 * Other compounds (see below)
 * : This can be a list of options for the dimensions, the namespaced ID of a dimension type file in a data pack, or one of the four default dimension types (minecraft:overworld, minecraft:the_nether, minecraft:the_end, minecraft:overworld_caves).

Defaults
Moved to Custom world generation

Noise generator preset defaults
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 parameter defaults
These are the default values used for each biome in the. Interestingly, although only the values for nether biomes are accessible through a preset, several overworld biomes have default values as well.

Default settings
The following is the settings for an exported default Minecraft world.

Expanded default settings
This file contains the same settings used to produce a default world, but with all of the presets expanded to their default values. Note that there is a bug that makes it impossible to create the ender dragon fight without using the dimension type preset, as the flag that creates the fight is hardcoded and not accessible through JSON. However, it is otherwise identical to the default world.

Custom superflat dimension
This dimension is a Superflat world with a layer of grass on four layers of coarse dirt on top of five layers of basalt. The entire world is full of village houses as is set to 3 (default: 32) and  is set to 1 (default: 8). The world starts by default at time 1000.