Mineuniverse
Dimension definition

Dimension definition

Dimensions are JSON files located in data packs in Java Edition and in behavior packs in Bedrock Edition. They define new dimensions for the game. New…

8 min read Updated
Dimensions Data packs
Advertisement Remove ads with Premium →
Contents (21)
  1. Usage
  2. Java Edition
  3. Bedrock Edition
  4. JSON format
  5. Java Edition
  6. Bedrock Edition
  7. Generator types
  8. void
  9. debug
  10. flat
  11. noise
  12. Biome sources
  13. checkerboard
  14. fixed
  15. multi_noise
  16. the_end
  17. Multi noise parameter list
  18. History
  19. Java Edition
  20. Bedrock Edition
  21. External links
This article is about data pack and behavior pack contents. For other uses, see Dimension.
It has been suggested that this page be split into Dimension definition (Java Edition) and Dimension definition (Bedrock Edition).
[discuss]
If this split affects many pages, or may potentially be controversial, do not split until a consensus has been reached.
Reason: There are few similarities between the versions.
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 in Java Edition and in behavior packs in Bedrock Edition. They define new dimensions for the game. New dimensions added can be accessed by using commands, like /execute in <dimension> run teleport <coordinates>.

Usage

Java Edition

Dimensions are stored as JSON files within a data pack, at the path data/<namespace>/dimension/<name>.json. Alternatively, a world preset can be used to define 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.

The dimension definitions for the three default dimensions are not present in the dimensions file in vanilla data pack, they are present in the world preset.

Bedrock Edition

Dimensions are stored as JSON files within a behavior pack, at the path <root BP>/dimension/<name>.json.

Dimensions can also be created by scripts using the StartupEvent.dimensionRegistry.registerCustomDimension(<identifier>) method, although this is not required. If the same dimension is created using both methods, it will be overridden by the behavior pack JSON definition, and a content warning will be logged.

JSON format

Java Edition

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

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

Bedrock Edition

  • [NBT Compound / JSON Object]: The root object.
    • [NBT Compound / JSON Object] minecraft:dimension: A dimension definition.
      • [NBT Compound / JSON Object] description
        • [String] identifier: A namespaced identifier for the dimension. If this matches the identifier of a dimension registered by script, this definition will take priority.
      • [NBT Compound / JSON Object] components: Components that define the properties of the dimension.
        • [NBT Compound / JSON Object] minecraft:clouds:​[upcoming: 26.60] Defines if and where clouds will be in the dimension. Omitting this component will result in the dimension not having clouds.
          • [Int] height: Determines the height at which clouds will appear in the dimension. Must be a number between -512 and 512.
        • [NBT Compound / JSON Object] minecraft:default_biome: Defines the default biome used in the dimension.
          • [String] biome: The identifier of the biome to make default.
        • [NBT Compound / JSON Object] minecraft:dimension_height: Defines the height range of the dimension.
          • [Int] min_y: The bottom y-value of the dimension. Must be a number between -512 and 512.
          • [Int] height_range: The height range (distance between the bottom and top of the dimension). Must be a number between 16 and 1024. Must be a multiple of 16. The sum of min_y and this value must not be greater than 512.
        • [NBT Compound / JSON Object] minecraft:generation: Required. Defines how the dimension generates.
          • [String] generator_type: The generator type to use for this dimension. Currently only void is supported.

Generator types

void

This feature is exclusive to Bedrock Edition.

Has no terrain generation. This generator has no additional fields.

debug

This feature is exclusive to Java Edition.

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

flat

This feature is exclusive to Java Edition.

The generator type used for superflat worlds.

  • Additional fields:
    • [NBT Compound / JSON Object] settings: Superflat settings.
      • Flat generation settings see Template:Nbt inherit/flat generator settings/template

noise

This feature is exclusive to Java Edition.

The generator used in all the default dimensions.

  • Additional fields:
    • [String][NBT Compound / JSON Object] settings: One noise settings (an [String] ID, or a new [NBT Compound / JSON Object] noise settings definition) — Settings for the noise generator.
    • [NBT Compound / JSON Object] biome_source: Settings determining the biome layout.

Biome sources

This feature is exclusive to Java Edition.

checkerboard

The checkerboard biome source places biomes in a checkerboard pattern.

  • Additional fields:
    • [String][NBT List / JSON Array] biomes: Any number of biome(s) (an [String] ID, or a [String] tag with #, or an [NBT List / JSON Array] array containing [String] IDs). The biomes to be selected. The n-th biome in the list is used for all cells where mod(x+z,size)=n, where size is the list size and x and z are the cell coordinates (chunk pos × 2^[Int] scale).
    • [Int] 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

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

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

multi_noise

A biome source that depends on multiple parameters defined in the noise router. Each biome is defined within a 4×4×4 cube based on the noise values at its edges.

  • Additional fields:
    • [String] preset: A reference to a parameter list. The default parameter lists are overworld and nether.
  • Or:
    • [NBT List / JSON Array] biomes: List of biome parameters points. Needs at least one entry. Biomes can appear in more than one parameter point.​
      • [NBT Compound / JSON Object]: A parameter point.
        • [String] biome: One biome (an [String] ID) — The biome used at this parameter point.
        • [NBT Compound / JSON Object] parameters: The parameters of this entry
          • Noise parameter for biome (See World generation § Biomes for usages of each parameter in vanilla game) see Template:Nbt inherit/parameter point/template

the_end

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

Biomes are calculated based on each chunk for the x and z axes, and every 4 blocks for the y-axis.

  • If the distance from the chunk edges to the origin is 1024 or less, the end biome is assigned.
  • Otherwise, the biome is determined based on the erosion value (defined in noise router) calculated at the center of the chunk and the y-coordinate.
Erosion (e) Biome
N/A The End
e > 1⁄4 End Highlands
1⁄4 ≥ e ≥ −1⁄16 End Midlands
−1⁄16 > e ≥ −7⁄32 End Barrens
e < −7⁄32 Small End Islands

Multi noise parameter list

This feature is exclusive to Java Edition.

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:

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

History

Java Edition

Java Edition
1.16Pre-release 1 Added dimensions to data packs.
1.16.220w29a The noise settings for custom dimensions can now also be stored in separate files.
pre1 Custom dimensions now use the same folder pattern in data packs as other resources: namespace/<type>/resource.json.
1.1922w11a Removed 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.4pre1 Added multi-noise biome source parameter list.
? The Overworld's original fractal based biome source can no longer be picked.

Bedrock Edition

Bedrock Edition
? The Overworld's build limit can now be modified through minecraft:dimension entries in add-ons. Custom dimensions cannot be added through this method.
26.20
Experiment
Beta APIs
Preview 26.20.26 Custom dimensions can now be created through a new scripting registry.
26.30Preview 26.30.29 Custom dimensions through scripting have moved to stable.
26.50Preview 26.50.25 Custom dimensions can now be modified through minecraft:dimension, however vanilla dimensions can no longer be modified.
Added the minecraft:default_biome component to custom dimension JSON, allowing creators to configure the biome a custom dimension generates with, custom dimension heights can now be defined via JSON, with a limit of 384.
Preview 26.50.26 Custom dimension heights defined in a dimension JSON file can once again span the full -512 to 512 block range instead of being capped to the default Overworld heights of -64 to 320.
Upcoming Bedrock Edition
26.60Preview 26.60.21 Added the minecraft:clouds component, letting custom dimensions configure the height at which clouds render. No component means clouds do not render.
Preview 26.60.28 Clouds can now be set between -512 and 512 instead of -64 and 320.
Advertisement Remove ads with Premium →

More in Dimensions

View all 7 →
DimensionDimensionDimensions are parallel worlds within a Minecraft world characterized by a way of generation, biomes and structures, and other things unique to one…OverworldOverworldThe Overworld is the first and primary dimension in which a Minecraft world begins. When a player creates a world, they will initially spawn in this…Sky dimensionSky dimensionThe Sky Dimension, or simply the "Sky", was a planned dimension in Minecraft, intended to be the opposite of the Nether. Using data packs, a player can…The EndThe EndThe End is a dark, void-like, and space-like dimension consisting of separate islands in the void, made out of End stone. It is inhabited by endermen and…The NetherThe NetherThe Nether is a dangerous, volcanic, fungal dimension that resembles a hellish underworld. It contains fire that burns forever; vast oceans of lava…The SiftThe SiftThe Sift is an upcoming dimension first seen in Minecraft Dungeons II that is going to release in 2027. Associated features include a new mob called the…
Explore the Minecraft Wiki
Blocks, items, mobs, biomes and game mechanics — all in one place.
Wiki home