Dimension definition

From Minecraft Wiki
(Redirected from Custom dimension)
Jump to navigation Jump to search
This article is about data pack contents. For the April Fools Easter egg dimensions, see Java Edition 20w14∞. For other uses, see Dimension.
There is a related tutorial page for this topic! 
There is a related tutorial page for this topic! See Tutorials/Adding a new dimension.
This feature is exclusive to Java Edition. 
There is a related tutorial page for this topic! 
There is a related tutorial page for this topic! See Tutorials/Adding a new dimension.
A custom dimension using a custom type, a fixed plains biome, and the minecraft:floating_islands noise settings.

Dimensions are JSON files located in data packs that define dimensions for the game. New dimensions added can be accessed by using commands, like /execute in <dimension> run teleport <coordinates>.

Usage[edit | edit source]

Dimensions are stored as JSON files within a data pack, at the path data/<namespace>/dimension/<name>.json. Alternatively, a Custom world preset can be used to customize all dimensions in a world. Dimensions stored separately override the dimension set in the selected world preset. This allows datapacks to only override a single dimension while keeping the other dimensions untouched. However, the user-selected world preset then doesn't have an impact on the given dimension.

JSON format[edit | edit source]

When stored as separate dimensions, they follow the following syntax:

  • The root tag.
    •  type: One dimension type (an ID). Can be preset overworld, the_nether, the_end, overworld_caves, or a custom dimension type
    •  generator: Generation settings used for that dimension.
      •  type: The generator type as resource location. One of noise, flat, or debug.
      • Additional fields of the generator, described below.

Generator types[edit | edit source]

debug[edit | edit source]

The generator type used when selecting debug mode in the world creation menu. This generator has no additional fields.

flat[edit | edit source]

The generator type used for superflat worlds.

  • Additional fields:
    •  settings: Superflat settings.
      • Flat generation settings

noise[edit | edit source]

The generator used in all the default dimensions.

  • Additional fields:
    •  settings: One noise settings (an ID, or a new noise settings definition) — Settings for the noise generator.
    •  biome_source: Settings determining the biome layout.

Biome sources[edit | edit source]

checkerboard[edit | edit source]

The checkerboard biome source places biomes in a checkerboard pattern.

  • Additional fields:
    •  biomes: One or more biome(s) (an ID, or a tag with #, or an array containing IDs)
    •  scale: Optional. Value between 0 and 62 that defaults to 2. Determines the size of the checkerboard grid. A scale of 0 means each cell of the grid is one chunk wide. Doubles each time the scale increases.

fixed[edit | edit source]

The fixed biome source, also called single biome, uses one specified biome everywhere.

  • Additional fields:
    •  biome: One biome (an ID) — The single biome to use.

multi_noise[edit | edit source]

  • Additional fields:
    •  preset: A reference to a parameter list. The default parameter lists are overworld and nether.
  • Or:
    •  biomes: List of biome parameters points. Needs at least one entry. Biomes can appear in more than one parameter point.
      • : A parameter point.
        •  biome: One biome (an ID) — The biome used at this parameter point.
        •  parameters: Each parameter has values between -2 and 2. Examples: 0.2, [0.2, 0.4], {"min": 0.2, "max": 0.4}
          •  temperature
          •  humidity
          •  continentalness
          •  erosion
          •  weirdness
          •  depth
          •  offset

the_end[edit | edit source]

The biome source used for the end dimension. This biome source has no additional fields.

Multi noise parameter list[edit | edit source]

A multi-noise biome source parameter list is stored as JSON files within a data pack, at the path data/<namespace>/worldgen/multi_noise_biome_source_parameter_list/<name>.json. It is used to avoid changing world preset files when adding new biomes to experimental data packs.

The syntax is as follows:

    •  preset: A reference to a hardcoded parameter list preset. The available presets are overworld and nether.

History[edit | edit source]

Java Edition
1.16Pre-release 1Added dimensions to data packs.
1.16.220w29aThe noise settings for custom dimensions can now also be stored in separate files.
pre1Custom dimensions now use the same folder pattern in data packs as other resources: namespace/<type>/resource.json.
1.1922w11aRemoved the seed field in noise generator and the_end biome source, and the world seed is now always used for all dimensions.
Dimension types can no longer be inlined in the dimension, they have to be a reference to a separate dimension_type file.
1.19.41.19.4-pre1Added multi-noise biome source parameter list.

External links[edit | edit source]

Navigation[edit | edit source]