Dimension definition

Minecraft Wiki article. Categories: Needs_updating, Information_needed, Unknown_Bedrock_version_history, Bedrock_Edition_upcoming, Data_packs, Dimensions

📌 Mirrored from Minecraft Wiki

This article is reproduced from Dimension definition on the Minecraft Wiki. Mirrored from revision 3716645. It is licensed CC BY-NC-SA 3.0 by the Minecraft Wiki contributors — not under the Codex’s CC BY-SA 4.0, and it may not be used commercially. Edits belong upstream, not here.

This article needs to be updated.
 
Please update this article to reflect recent updates or newly available information. The talk page may contain suggestions.
Reason: Dimensions in Bedrock can now be configured via JSON; this page needs to contain it as well.
A custom dimension using a custom type, a fixed plains biome, and the minecraft:floating_islands noise settings.
There is a related tutorial page for this topic!
 

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

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

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.

Generator types

debug

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

flat

The generator type used for superflat worlds.

noise

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

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.​[more information needed]

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

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 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.

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.26Custom dimensions can now be created through a new scripting registry.
26.30Preview 26.30.29Custom dimensions through scripting have moved to stable.
Upcoming Bedrock Edition
26.50Preview 26.50.25Custom 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.

Sources