Minecraft Wiki
This article is about the modern custom world type. For the world type before Java Edition 1.13, see Old Customized. For the Easter egg dimensions in Java Edition 20w14∞, see Java Edition 20w14∞ § World generation.
"Custom world" redirects here. For creating custom dimensions, see Custom dimension. For controlling world generation using data packs, see Custom world generation.
Information icon
This feature is exclusive to Java Edition. 

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.


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 /execute in <dimension name> run tp @s ~ ~ ~, which teleports the player to the specified dimension (see § JSON format).

JSON format[]

Jigsaw Block (top texture) JE2 BE2
This section needs expansion. 
You can help by expanding it.
Instructions: explanations on each component of the JSON file. Useful sources: [1], [2]

Custom generation files take the following format:

  • The root tag.
    •  bonus_chest: Whether the world has a bonus chest or not (equivalent to the "Bonus chest" option).
    •  generate_features: Whether structures should be generated or not (equivalent to the "Generate structures" option).
    •  seed: The numerical seed of the world.
    •  legacy_custom_options: The custom world preset that was used to generate the world when it was an old customized world. Exists only for old customized worlds.
    •  dimensions: A list of the dimensions in this world where the key is the resource location 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 resource location is allowed for custom dimensions.
        •  generator: Generation settings used for that dimension.
          •  type: 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)
        •  type: This can be a list of options for the dimensions, the resource location 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).
    •  ultrawarm: Whether the dimensions behaves like the nether (water evaporates and sponges dry) or not. Also lets stalactites drip lava and causes lava to spread faster and thinner.
    •  natural: When false, compasses spin randomly, and using a bed to set the respawn point or sleep, is disabled. When true, nether portals can spawn zombified piglins.
    •  coordinate_scale: The multiplier applied to coordinates when leaving the dimension. Value between 0.00001 and 30000000.0 (both inclusive)。
    •  has_skylight: Whether the dimension has skylight or not.
    •  has_ceiling: Whether the dimension has a bedrock ceiling. Note that this is only a logical ceiling. It is unrelated with whether the dimension really has a block ceiling.
    •  ambient_light: How much light the dimension has. When set to 0, it completely follows the light level; when set to 1, there is no ambient lighting. Precise effects need testing [needs testing].
    •  fixed_time: (optional) If this is set to an int, the time of the day is the specified value. To ensure a normal time cycle, leave the attribute undefined (i.e, do not include it).
    •  monster_spawn_light_level: Value between 0 and 15 (both inclusive). Maximum light required when the monster spawns. The formula of this light is: max( skyLight - 10, blockLight ) during thunderstorms, and max( internalSkyLight, blockLight ) during other weather.
      • Int provider
    •  monster_spawn_block_light_limit: Value between 0 and 15 (both inclusive). Maximum block light required when the monster spawns.
    •  piglin_safe: Whether Piglin and hoglin shake and transform to zombified entities.
    •  bed_works: When false, the bed blows up when trying to sleep.
    •  respawn_anchor_works: When false, the respawn anchor blows up when trying to set spawn point.
    •  has_raids: Whether players with the Bad Omen effect can cause a raid.
    •  logical_height: The maximum height to which chorus fruits and nether portals can bring players within this dimension. This excludes portals that were already built above the limit as they still connect normally. Cannot be greater than  height.
    •  min_y: The minimum height in which blocks can exist within this dimension. Must be between -2032 and 2031 and be a multiple of 16 (effectively making 2016 the maximum).
    •  height: The total height in which blocks can exist within this dimension. Must be between 16 and 4064 and be a multiple of 16. The maximum building height = min_y + height - 1, which cannot be greater than 2031.
    •  infiniburn: A block tag with #. Fires on these blocks burns infinitely.
    •  effects: (optional, defaults to minecraft:overworld) Can be "minecraft:overworld", "minecraft:the_nether" and "minecraft:the_end". Determines the dimension effect used for this dimension. Setting to overworld makes the dimension have clouds, sun, stars and moon. Setting to the nether makes the dimension have thick fog blocking that sight, similar to the nether. Setting to the end makes the dimension have dark spotted sky similar to the end, ignoring the sky and fog color.

Generator types[]

    •  type: The ID of the genarator. One of noise, flat, or debug.
      If  type is minecraft:noise, additional fields are as follows:
    •  settings: The noise settings used in this generator. Can be set to an ID of noise settings, or a object of noise_settings.
    •  biome_source: Settings dictating which biomes and biome shapes.
      •  type: The type of biome generation. One of multi_noise, fixed, checkerboard, or the_end.
        If type is multi_noise(3D biome generation used in the nether, and in the overworld in snapshot 21w37a and after.) , additional fields are as follows:
      •  preset: (mutually exclusive with  biomes) An ID or an object of a multi-noise biome source parameter list.
      •  biomes: (mutually exclusive with  preset) (Cannot be empty) A parameter list of biomes, including their IDs and target noise parameters.
        • : A biome and its properties.
          •  biome: The biome ID. A single biome ID may be repeated several times with different parameters.
          •  parameters: Represent optimal intervals for where the biome should be placed. These values do not affect the generation of terrain within biomes, instead, they only affect where the game chooses to place biomes. Thinking of a six-dimensional space, in the space these intervals are defined for biomes. If the six parameters at a location based on the noise router in noise settings fall into an interval, the corresponding biome is generated here. If the six parameters at a location do not fall into a defined biome interval in this list, it uses the closest biome interval to the 6D parameter point, in order to form a transition between biomes. Parameter combinations should be unique in the biomes list.
            • Noise parameter for biome (See Biome for usages of each parameter in vanilla game)
        If type is the_end(Biome generation used in the end with biome minecraft:the_end in the center and other end biomes around) , no additional field.
        If type is fixed(single biome) , additional fields are as follows:
      •  biome: The ID of the single biome to generate.
        If type is checkerboard(A biome generation in which biomes are square (or close to square) and repeat along the diagonals) , additional fields are as follows:
      •  biomes: A list of biomes that repeat along the diagonals. Can be a ID of biome or a tag of biome, or a list of biome IDs.
      •  scale: (optional, defaults to 2) Value between 0 and 62 (both inclusive). Determines the size of the squares on an exponential scale.
      If  type is minecraft:debug(used for Debug world generation) , no additional fields.
      If  type is minecraft:flat(used for Superflat world generation) , additional fields are as follows:
    •  settings: Superflat settings.
      • Flat generation settings


Moved to Custom world generation#Noise settings

Noise generator preset defaults[]

These are the settings used by the 6 presets available for the minecraft:noise 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 minecraft:ruined_portal.

*Placeholder values, have no effect

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

Biome parameter defaults[]

Clock JE3
This section needs to be updated. 
Please update this section to reflect recent updates or newly available information.
Reason: Altitude was removed since and Continentalness, Erosion and Depth were added. Values might also not be up to date.

These are the default values used for each biome in the multi_noise biome_source. Interestingly, although only the values for nether biomes are accessible through a preset, several overworld biomes have default values as well.

Type defaults[]

These are the settings used by the 3 dimensions present in Vanilla and the additional Overworld Caves settings provided by Minecraft.


Jigsaw Block (top texture) JE2 BE2
This section needs expansion. 
You can help by expanding it.
Instructions: more examples and the actual info for what the default generator uses. Check that the Expanded default settings listed below still works in 1.19.3.

Default settings[]

This one will change to 1.19.3-typed later

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 minecraft:the_end, 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[]

Custom superflat dimension

An overview of a world made with the adjacent settings.

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 spacing is set to 3 (default: 32) and separation is set to 1 (default: 8). The world starts by default at time 1000.


Java Edition
May 15, 2018The return of customized worlds was mentioned.[1][2][3]
1.1620w21aAdded custom worlds.
Custom worlds are JSON-driven.
Custom dimensions can be added and vanilla dimensions can be modified.
There is currently no in-game menu to modify worlds; custom worlds can be generated only by importing a JSON file.
pre1The "temparature" biome parameter is now spelled "temperature".
Dimensions and dimension settings can be created through data packs.
1.16.220w28aExperimental custom biome support is now included in custom worlds.
1.1720w49aMax build heights and bedrock ceiling heights are now customizable over 256 blocks via custom json files.
21w05aMinimum and maximum y values changed from -2047 and 2047 to -2032 and 2032.
1.19.423w05aRemoved the "Import Settings" and "Export Settings" buttons in the "Edit World" screen, making it impossible to access custom worlds through JSON files.


Issues relating to "Custom" are maintained on the bug tracker. Report issues there.


External links[]

See also[]



  1. "Customized worlds will be returning. I can't speak for the extra options you mentioned though." – u/AlmightyZing
    "But after 1.13"u/_Grum on Reddit, May 15, 2018
  2. "Would you really not consider holding off 1.13 until customised worlds are finished? Seems pretty crazy to set a precedent for the chance of losing features for several updates.
    We came so close to having access to customising structures in world gen this update too, a shame that hasn't made the cut" – u/DaUltraMarine
    "No, they will come back but completely different from before."u/_Grum on Reddit, May 15, 2018
  3. "No customization until after 1.13, or the other things?" – u/Kobbett
    "No more screens with 50 vague sliders indeed."u/_Grum on Reddit, May 15, 2018