Minecraft:Dimension definition: Difference between revisions
More actions
imported>ProBot m Bot: Modifying de:Angepasste Dimensionen to de:Dimensionsdefinition |
Sync: updated from Minecraft |
||
| (15 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{about|data pack contents|other uses|Dimension}} | {{about|data pack and behavior pack contents|other uses|Dimension}} | ||
{{ | {{Split|Dimension definition (Java Edition)| Dimension definition (Bedrock Edition)|reason=There are few similarities between the versions.}} | ||
[[File:Floating Islands custom dimension.png|thumb|300px|A custom dimension using a [[dimension type|custom type]], a fixed [[Minecraft:plains]] biome, and the <code>minecraft:floating_islands</code> [[Minecraft:noise settings]] | |||
{{relevant tutorial|Adding a new dimension}} | [[File:Floating Islands custom dimension.png|thumb|300px|A custom dimension using a [[dimension type|custom type]], a fixed [[Minecraft:plains]] biome, and the <code>minecraft:floating_islands</code> [[Minecraft:noise settings]]]] | ||
'''Dimensions''' are [[Minecraft:JSON]] files located in [[Minecraft:data pack]]s | {{relevant tutorial|Adding a new dimension}}'''Dimensions''' are [[Minecraft:JSON]] files located in [[Minecraft:data pack]]s {{in|java}} and in [[Minecraft:behavior pack]]s {{in|bedrock}}. They define new dimensions for the game. New dimensions added can be accessed by using commands, like {{cmd|/execute in <dimension> run teleport <coordinates>}}. | ||
== Usage == | == Usage == | ||
Dimensions are stored as [[Minecraft:JSON]] files within a data pack, at the path <code>data/<namespace>/dimension/<name>.json</code>. Alternatively, a [[Minecraft: | |||
=== ''Java Edition'' === | |||
Dimensions are stored as [[Minecraft:JSON]] files within a data pack, at the path <code>data/<namespace>/dimension/<name>.json</code>. Alternatively, a [[Minecraft:World preset definition|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 [[Minecraft:JSON]] files within a behavior pack, at the path <code><root BP>/dimension/<name>.json</code>. | |||
Dimensions can also be created by [[Minecraft:Script API|scripts]] using the {{Cd|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 == | == JSON format == | ||
=== ''Java Edition'' === | |||
<div class="treeview"> | <div class="treeview"> | ||
When stored as separate dimensions, they follow the following syntax: | When stored as separate dimensions, they follow the following syntax: | ||
| Line 16: | Line 30: | ||
*** {{nbt|string|type}}: The [[#Generator types|generator]] type as [[Minecraft:resource location]]. One of <code>noise</code>, <code>flat</code>, or <code>debug</code>. | *** {{nbt|string|type}}: The [[#Generator types|generator]] type as [[Minecraft:resource location]]. One of <code>noise</code>, <code>flat</code>, or <code>debug</code>. | ||
*** Additional fields of the generator, described below. | *** Additional fields of the generator, described below. | ||
</div> | |||
=== ''Bedrock Edition'' === | |||
<div class="treeview"> | |||
* {{nbt|compound}}: The root object. | |||
<!--** {{nbt|string|format_version}}: The format version of the file, requires <code>"1.26.50"</code> for all current features.--> | |||
** {{nbt|compound|minecraft:dimension}}: A dimension definition. | |||
*** {{nbt|compound|description}} | |||
**** {{nbt|string|identifier}}: A [[Minecraft:namespaced identifier]] for the dimension. If this matches the identifier of a dimension registered by script, this definition will take priority. | |||
*** {{nbt|compound|components}}: Components that define the properties of the dimension. | |||
**** {{nbt|compound|minecraft:clouds}}:{{upcoming|26.60}} Defines if and where [[Minecraft:cloud]]s will be in the dimension. Omitting this component will result in the dimension not having clouds. | |||
***** {{nbt|int|height}}: Determines the height at which clouds will appear in the dimension. Must be a number between -512 and 512. | |||
**** {{nbt|compound|minecraft:default_biome}}: Defines the default biome used in the dimension. | |||
***** {{nbt|string|biome}}: The identifier of the biome to make default. | |||
**** {{nbt|compound|minecraft:dimension_height}}: Defines the height range of the dimension. | |||
***** {{nbt|int|min_y}}: The bottom y-value of the dimension. Must be a number between -512 and 512. | |||
***** {{nbt|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 {{cd|min_y}} and this value must not be greater than 512. | |||
**** {{nbt|compound|minecraft:generation}}: ''Required.'' Defines how the dimension generates. | |||
***** {{nbt|string|generator_type}}: The generator type to use for this dimension. Currently only {{cd|void}} is supported. | |||
</div> | </div> | ||
== Generator types == | == Generator types == | ||
=== void === | |||
{{exclusive|bedrock|section=1}} | |||
Has no terrain generation. This generator has no additional fields. | |||
=== debug === | === debug === | ||
{{exclusive|java|section=1}} | |||
The generator type used when selecting [[Minecraft:debug mode]] in the world creation menu. This generator has no additional fields. | The generator type used when selecting [[Minecraft:debug mode]] in the world creation menu. This generator has no additional fields. | ||
=== flat === | === flat === | ||
{{exclusive|java|section=1}} | |||
The generator type used for [[Minecraft:superflat]] worlds. | The generator type used for [[Minecraft:superflat]] worlds. | ||
<div class="treeview"> | <div class="treeview"> | ||
| Line 32: | Line 72: | ||
=== noise === | === noise === | ||
{{exclusive|java|section=1}} | |||
The generator used in all the default [[Minecraft:dimension]]s. | The generator used in all the default [[Minecraft:dimension]]s. | ||
<div class="treeview"> | <div class="treeview"> | ||
| Line 42: | Line 83: | ||
== Biome sources == | == Biome sources == | ||
{{exclusive|java|section=1}} | |||
=== checkerboard === | === checkerboard === | ||
| Line 47: | Line 89: | ||
<div class="treeview"> | <div class="treeview"> | ||
* Additional fields: | * Additional fields: | ||
** {{nbt|string}}{{nbt|list|biomes}}: {{json ref/biome|tag=1}} | ** {{nbt|string}}{{nbt|list|biomes}}: {{json ref/biome|tag=1}}. The biomes to be selected. The n-th biome in the list is used for all cells where {{cd|[[Minecraft:w:modulo|mod]](x+z,size){{=}}n}}, where {{cd|size}} is the list size and {{cd|x}} and {{cd|z}} are the cell coordinates (chunk pos × 2^{{nbt|int|scale}}). | ||
** {{nbt|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. | ** {{nbt|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 [[Minecraft:chunk]] wide. Doubles each time the scale increases. | ||
</div> | </div> | ||
| Line 59: | Line 101: | ||
=== multi_noise === | === multi_noise === | ||
A biome source that depends on multiple parameters defined in the [[Minecraft:noise router]]. Each biome is defined within a 4×4×4 cube based on the noise values at its edges. | |||
<div class="treeview"> | <div class="treeview"> | ||
* Additional fields: | * Additional fields: | ||
** {{nbt|string|preset}}: A reference to a [[#Multi noise parameter list|parameter list]]. The default parameter lists are <code>overworld</code> and <code>nether</code>. | ** {{nbt|string|preset}}: A reference to a [[#Multi noise parameter list|parameter list]]. The default parameter lists are <code>overworld</code> and <code>nether</code>. | ||
* Or: | * Or: | ||
** {{nbt|list|biomes}}: List of biome parameters points. Needs at least one entry. Biomes can appear in more than one parameter point. | ** {{nbt|list|biomes}}: List of biome parameters points. Needs at least one entry. Biomes can appear in more than one parameter point.{{More info|How does this list define the biomes?}} | ||
*** {{nbt|compound}}: A parameter point. | *** {{nbt|compound}}: A parameter point. | ||
**** {{nbt|string|biome}}: {{json ref/biome}} — The biome used at this parameter point. | **** {{nbt|string|biome}}: {{json ref/biome}} — The biome used at this parameter point. | ||
| Line 71: | Line 116: | ||
=== the_end === | === the_end === | ||
The biome source used for [[Minecraft:the End]] dimension. This biome source has no additional fields. | The biome source used for [[Minecraft:the End]] dimension. This biome source has no additional fields. | ||
Biomes are calculated based on each [[Minecraft: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 [[Minecraft:noise router]]) calculated at the center of the chunk and the y-coordinate. | |||
{| class="wikitable" | |||
! Erosion (e) | |||
! Biome | |||
|- | |||
| N/A | |||
| {{BiomeLink|The End|link=The End (biome)}} | |||
|- | |||
| e > {{frac|1|4}} | |||
| {{BiomeLink| End Highlands }} | |||
|- | |||
| {{frac|1|4}} ≥ e ≥ −{{frac|1|16}} | |||
| {{BiomeLink| End Midlands}} | |||
|- | |||
| −{{frac|1|16}} > e ≥ −{{frac|7|32}} | |||
| {{BiomeLink| End Barrens }} | |||
|- | |||
| e < −{{frac|7|32}} | |||
| {{BiomeLink| Small End Islands}} | |||
|} | |||
== Multi noise parameter list == | == Multi noise parameter list == | ||
{{exclusive|java|section=1}} | |||
A multi-noise biome source parameter list is stored as [[Minecraft:JSON]] files within a data pack, at the path <code>data/<namespace>/worldgen/multi_noise_biome_source_parameter_list/<name>.json</code>. It is used to avoid changing world preset files when adding new biomes to experimental data packs. | A multi-noise biome source parameter list is stored as [[Minecraft:JSON]] files within a data pack, at the path <code>data/<namespace>/worldgen/multi_noise_biome_source_parameter_list/<name>.json</code>. It is used to avoid changing world preset files when adding new biomes to experimental data packs. | ||
| Line 82: | Line 151: | ||
== History == | == History == | ||
=== ''Java Edition'' === | |||
{{HistoryTable | {{HistoryTable | ||
|{{HistoryLine|java}} | |{{HistoryLine|java}} | ||
| Line 89: | Line 159: | ||
|{{HistoryLine||1.19|dev=22w11a|Removed the <code>seed</code> field in <code>noise</code> generator and <code>the_end</code> biome source, and the world seed is now always used for all dimensions. | |{{HistoryLine||1.19|dev=22w11a|Removed the <code>seed</code> field in <code>noise</code> generator and <code>the_end</code> biome source, and the world seed is now always used for all dimensions. | ||
|[[Minecraft:Dimension type]]s can no longer be inlined in the dimension, they have to be a reference to a separate dimension_type file.}} | |[[Minecraft:Dimension type]]s can no longer be inlined in the dimension, they have to be a reference to a separate dimension_type file.}} | ||
|{{HistoryLine||1.19.4|dev= | |{{HistoryLine||1.19.4|dev=pre1|Added multi-noise biome source parameter list.}} | ||
|{{HistoryLine||?|The Overworld's original fractal based biome source can no longer be picked.}} | |||
}} | |||
=== ''Bedrock Edition'' === | |||
{{HistoryTable | |||
|{{HistoryLine|Bedrock}} | |||
|{{HistoryLine||?|The Overworld's build limit can now be modified through {{cd|minecraft:dimension}} entries in [[Minecraft:add-on]]s. Custom dimensions cannot be added through this method.}} | |||
|{{HistoryLine||26.20|dev=Preview 26.20.26|exp=Beta APIs|Custom dimensions can now be created through a new scripting registry.}} | |||
|{{HistoryLine||26.30|dev=Preview 26.30.29|Custom dimensions through scripting have moved to stable.}} | |||
|{{HistoryLine||26.50|dev=Preview 26.50.25|Custom dimensions can now be modified through {{cd|minecraft:dimension}}, however vanilla dimensions can no longer be modified.|Added the {{cd|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.}} | |||
|{{HistoryLine|||dev=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.}} | |||
|{{HistoryLine|upcoming Bedrock}} | |||
|{{HistoryLine||26.60|dev=Preview 26.60.21|Added the {{cd|minecraft:clouds}} component, letting custom dimensions configure the height at which clouds render. No component means clouds do not render.}} | |||
|{{HistoryLine|||dev=Preview 26.60.28|Clouds can now be set between -512 and 512 instead of -64 and 320.}} | |||
}} | }} | ||
Latest revision as of 11:10, 18 October 2026
|
For the {{{Description}}} of the same name, see [[{{{Destination}}}]]. |
minecraft:floating_islands Minecraft:noise settingsTemplate:Relevant tutorialDimensions are Minecraft:JSON files located in Minecraft:data packs Template:In and in Minecraft:behavior packs Template:In. They define new dimensions for the game. New dimensions added can be accessed by using commands, like Template:Cmd.
Usage
Java Edition
Dimensions are stored as Minecraft: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 Minecraft:JSON files within a behavior pack, at the path <root BP>/dimension/<name>.json.
Dimensions can also be created by scripts using the Template:Cd 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:
- Template:Nbt The root tag.
- Template:Nbt: Template:Json ref. Can be preset
overworld,the_nether,the_end,overworld_caves, or a custom dimension type - Template:Nbt: Generation settings used for that dimension.
- Template:Nbt: The generator type as Minecraft:resource location. One of
noise,flat, ordebug. - Additional fields of the generator, described below.
- Template:Nbt: The generator type as Minecraft:resource location. One of
- Template:Nbt: Template:Json ref. Can be preset
Bedrock Edition
- Template:Nbt: The root object.
- Template:Nbt: A dimension definition.
- Template:Nbt
- Template:Nbt: A Minecraft:namespaced identifier for the dimension. If this matches the identifier of a dimension registered by script, this definition will take priority.
- Template:Nbt: Components that define the properties of the dimension.
- Template:Nbt:Template:Upcoming Defines if and where Minecraft:clouds will be in the dimension. Omitting this component will result in the dimension not having clouds.
- Template:Nbt: Determines the height at which clouds will appear in the dimension. Must be a number between -512 and 512.
- Template:Nbt: Defines the default biome used in the dimension.
- Template:Nbt: The identifier of the biome to make default.
- Template:Nbt: Defines the height range of the dimension.
- Template:Nbt: The bottom y-value of the dimension. Must be a number between -512 and 512.
- Template:Nbt: 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 Template:Cd and this value must not be greater than 512.
- Template:Nbt: Required. Defines how the dimension generates.
- Template:Nbt: The generator type to use for this dimension. Currently only Template:Cd is supported.
- Template:Nbt:Template:Upcoming Defines if and where Minecraft:clouds will be in the dimension. Omitting this component will result in the dimension not having clouds.
- Template:Nbt
- Template:Nbt: A dimension definition.
Generator types
void
Template:Exclusive Has no terrain generation. This generator has no additional fields.
debug
Template:Exclusive The generator type used when selecting Minecraft:debug mode in the world creation menu. This generator has no additional fields.
flat
Template:Exclusive The generator type used for Minecraft:superflat worlds.
- Additional fields:
- Template:Nbt: Superflat settings.
noise
Template:Exclusive The generator used in all the default Minecraft:dimensions.
- Additional fields:
- Template:NbtTemplate:Nbt: Template:Json ref — Settings for the noise generator.
- Template:Nbt: Settings determining the biome layout.
- Template:Nbt: The biome source type as a Minecraft:resource location.
- Additional fields of the biome source, described below.
Biome sources
checkerboard
The checkerboard biome source places biomes in a checkerboard pattern.
- Additional fields:
- Template:NbtTemplate:Nbt: Template:Json ref/biome. The biomes to be selected. The n-th biome in the list is used for all cells where Template:Cd, where Template:Cd is the list size and Template:Cd and Template:Cd are the cell coordinates (chunk pos × 2^Template:Nbt).
- Template:Nbt: 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 Minecraft:chunk wide. Doubles each time the scale increases.
fixed
The fixed biome source, also called Minecraft:single biome, uses one specified biome everywhere.
- Additional fields:
- Template:Nbt: Template:Json ref/biome — The single biome to use.
multi_noise
A biome source that depends on multiple parameters defined in the Minecraft:noise router. Each biome is defined within a 4×4×4 cube based on the noise values at its edges.
- Additional fields:
- Template:Nbt: A reference to a parameter list. The default parameter lists are
overworldandnether.
- Template:Nbt: A reference to a parameter list. The default parameter lists are
- Or:
- Template:Nbt: List of biome parameters points. Needs at least one entry. Biomes can appear in more than one parameter point.Template:More info
- Template:Nbt: A parameter point.
- Template:Nbt: Template:Json ref/biome — The biome used at this parameter point.
- Template:Nbt: The parameters of this entry
- Template:Nbt: A parameter point.
- Template:Nbt: List of biome parameters points. Needs at least one entry. Biomes can appear in more than one parameter point.Template:More info
the_end
The biome source used for Minecraft:the End dimension. This biome source has no additional fields.
Biomes are calculated based on each Minecraft: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 Minecraft:noise router) calculated at the center of the chunk and the y-coordinate.
| Erosion (e) | Biome |
|---|---|
| N/A | Template:BiomeLink |
| e > Template:Frac | Template:BiomeLink |
| Template:Frac ≥ e ≥ −Template:Frac | Template:BiomeLink |
| −Template:Frac > e ≥ −Template:Frac | Template:BiomeLink |
| e < −Template:Frac | Template:BiomeLink |
Multi noise parameter list
Template:Exclusive
A multi-noise biome source parameter list is stored as Minecraft: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:
- Template:Nbt: A reference to a hardcoded parameter list preset. The available presets are
overworldandnether.
- Template:Nbt: A reference to a hardcoded parameter list preset. The available presets are
History
Java Edition
Bedrock Edition
External links
Template:Navbox Java Edition technical
Minecraft:de:Dimensionsdefinition Minecraft:fr:Définition de dimension Minecraft:ja:カスタムディメンション Minecraft:pt:Definição de dimensão Minecraft:zh:维度定义格式