Minecraft Wiki

The Minecraft Wiki is no longer considered as official by Microsoft and therefore several changes are required to be made, including to the wiki's logo. Please read this announcement for more information.

READ MORE

Minecraft Wiki
Advertisement
Minecraft Wiki
This article is about data pack contents. For other uses, see Dimension.
Information icon.svg
This feature is exclusive to Java Edition. 

Dimensions are JSON files located in data packs that define new dimensions for the game. These dimensions can be accessed with /execute in <dimension> run teleport <coordinates>. Any dimensions are loaded once the world is opened, not on reload; so any change or addition to the file require the world to be restarted to apply, and not just running /reload.

Usage[]

New dimensions are stored as JSON files within a data pack, at the path data/<namespace>/dimension/<name>.json.

Dimension syntax[]

  • The root tag.
    •  type: The namespaced ID of the dimension type. Can be preset minecraft:overworld, minecraft:overworld_caves, minecraft:the_nether, minecraft:the_end, or a custom dimension type (configure via JSON files, see dimension type section) .
    •  generator: Generation settings used for that dimension.
      •  type (string): The ID of the generator. minecraft: followed by flat, noise or debug.
      • Other compounds (see below)

Generator types[]

The format of the  generator compound is dependent on the value of its generator ID, or  type.

When the generator ID type is minecraft:noise:

  •  generator: Generation settings used for the dimension.
    •  type (string): The ID of the generator (in this case, minecraft:noise).
    •  seed: The seed used to generate the dimension. In most cases, this is exactly the same as the world seed, but can be different and the dimension generated is based upon this seed and not the world seed.[needs testing]
    •  settings: The noise settings used in the terrain generator. Can be set to a string to use a preset defined in the worldgen/noise_settings folder with a list of customized options. See Custom world generation#Noise settings for more information.
    •  biome_source: Settings dictating which biomes and biome shapes.
      •  seed (integer): The seed used for biome generation. In most cases, this is exactly the same as the dimension seed (and by extension the world seed), but can be different and the biome generation for this dimension is based upon this seed and not the dimension seed.[needs testing]
      •  biomes (List): A list of biome IDs to generate.
      •  type (string): The type of biome generation. Arguments lie in the biome_source compound. Some possible values for type include minecraft:vanilla_layered, minecraft:fixed, minecraft:checkerboard, minecraft:multi_noise, and minecraft:the_end.
        • vanilla_layered: Default and large biome generation used in the overworld.
          •  large_biomes (Boolean): Whether the biomes are large. True for biomes generation in the "Large Biomes" world type.
          •  legacy_biome_init_layer (Boolean): Whether the world was default_1_1.[needs testing]
        • multi_noise: 3D biome generation used in the nether.[needs testing]
          •  preset: A preset of the set of biomes to be used, mutually exclusive with  biomes[needs testing]. The only value that's currently supported is minecraft:nether.
          •  biomes: A list of biomes, including their likelihood.
            • : A biome and its properties
              •  biome: The biome. May be repeated several times.
              •  parameters: Represent optimal conditions for where the biome should be placed. These values do not affect the generation of terrain within biomes; they affect where the game chooses to place biomes. altitude‌[until JE 1.17][verify], erosion‌[upcoming: JE 1.18], depth‌[upcoming: JE 1.18], weirdness, temperature, humidity and continentalness‌[upcoming: JE 1.18] are each represented in a distinct contoured map generated by the seed. At any specific point, the biome having parameters most closely resembling the respective parameter on each noise map at that point is chosen. For example, if the point were to have values of -1 temperature, 0.2 humidity, 0.5 altitude and 0 weirdness then birch_forest_hills (-0.1t,0.2h,0.25a,0w) would be chosen over desert (0.5t,-0.5h,0a,0w).
                •  altitude:‌[until JE 1.17][verify] Used to place similar biomes near each other. Range: (-2.0 to 2.0). [needs testing]
                •  erosion:‌[upcoming: JE 1.18] Used to place similar biomes near each other. [needs testing]
                •  depth:‌[upcoming: JE 1.18] Used to place similar biomes near each other. [needs testing]
                •  weirdness: Defines how weird the biome is going to appear next to other biomes. Range: (-2.0 to 2.0).
                •  offset: Range: (0.0 to 1.0). Similar to the other parameters but offset is 0 everywhere, thus setting this parameter nearer to 0 gives the biome a greater edge over others, all else being equal.
                •  temperature: Used to place similar biomes near each other. This is NOT the same as the temperature value listed on Biome, it does NOT affect rain/snow or the color of leaves and grass. Range: (-2.0 to 2.0).
                •  humidity: Used to place similar biomes near each other. Range: (-2.0 to 2.0). [needs testing]
                •  continentalness:‌[upcoming: JE 1.18] Used to place similar biomes near each other. [needs testing]
          •  min_quart_y:‌[upcoming: JE 1.18] [needs testing]
          •  max_quart_y:‌[upcoming: JE 1.18] [needs testing]
          •  altitude_noise:‌[until JE 1.17] Similar to continentalness_noise, but for the altitude parameter. [verify]
            •  firstOctave
            •  amplitudes
              • An amplitude.
          •  weirdness_noise: Same as continentalness_noise, but for the weirdness parameter.
            •  firstOctave
            •  amplitudes
              • An amplitude.
          •  continentalness_noise:‌[upcoming: JE 1.18] How the Perlin noise for the contineltalness parameter is generated in the world.
            •  firstOctave: The octave the first amplitude in the list is associated with. Lower values make the whole amplitudes sequence affect lower frequencies (smoother). Incrementing it by 1 doubles the frequency of the base octave.[needs testing]
            •  amplitudes: The amplitudes of consecutive octaves. Octaves further down the list have higher frequencies (double at each step). Higher octaves have intrisically lower amplitudes in Perlin noise. This list further modifies the amplitudes by making low/high frequency features more or less pronounced. The resultant Perlin noise value at a certain coordinate is not just a simple sum of the independent components.[verify]
              • An amplitude. Setting one to 0 effectively disables that frequency component.[verify]
          •  erosion_noise:‌[upcoming: JE 1.18] Same as continentalness_noise, but for the erosion parameter.
            •  firstOctave
            •  amplitudes
              • An amplitude.
          •  temperature_noise: Same as continentalness_noise, but for the temperature parameter.
            •  firstOctave
            •  amplitudes
              • An amplitude.
          •  humidity_noise: Same as continentalness_noise, but for the humidity parameter.
            •  firstOctave
            •  amplitudes
              • An amplitude.
        • the_end: Biome generation used in the end with biome minecraft:the_end in the center and other end biomes around.[needs testing]
        • fixed: a single biome.
          •  biome: The single biome to generate.
        • checkerboard: A biome generation in which biomes are square (or close to square) and repeat along the diagonals.
          •  biomes: A list of biomes that repeat along the diagonals (can be more than 3).
          •  scale: Determines the size of the squares on an exponential scale. Range: (0 to 62).


When the generator ID type is minecraft:flat (used for Superflat world generation):

  •  generator: Generation settings used for the dimension.
    •  type (string): The ID of the generator (in this case, minecraft:flat).
    •  settings: Superflat settings.
      •  layers: Layer settings.
        • : A superflat layer. The first entry is the bottom layer, the last entry is the top layer..
          •  height: The number of blocks in the layer.
          •  block: The block the layer is made of.
      •  biome: the single biome of the world
      •  lakes (optional): Whether or not to generate lakes. If set to true, then water and lava lakes generate often even in biomes where lakes don't normally generate. Lava lakes generate surrounded by different types of stone and ores from the overworld.
      •  features (optional): Whether or not to generate biome-specific decorations like trees, grass, flowers, cacti, etc.
      •  structures: Structure settings
        •  stronghold: Settings for how strongholds should be spawned. The stronghold values under the structures tag appear to be placeholders so that every namespaced structure has a value; these values are the ones that actually control stronghold spawning.
        •  structures: List of structures to use in this dimension
          •  <namespaced id>: The key for this field should be the namespaced ID of a structure, a list is available at Java Edition data value § Structures. If structures are not listed, it does not generate.
            •  spacing (number): Average distance between two structure placement attempts of this type in chunks[note 1].
            •  separation (number): Minimum distance between two structures of this type in chunks; must be less than spacing.
            •  salt (integer):[needs testing] A number that assists in randomization; see salt (cryptography).

When the generator ID type is minecraft:debug (used for Debug world generation):

  •  generator: Generation settings used for the dimension.
    •  type (string): The ID of the generator (in this case, minecraft:debug).

Dimension type[]

Dimension types are stored as JSON files within a data pack, at the path data/<namespace>/dimension_type/<name>.json.

Syntax[]

  • The root
    •  name: The resource location used for the dimension type. Required only when importing world settings.
    •  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 traveling to the dimension.
    •  has_skylight: Whether the dimension has skylight access or not.
    •  has_ceiling: Whether the dimension has a bedrock ceiling or not.
    •  ambient_light: How much light the dimension has, default is 0.5 in the demo file (for upper and lower bounds as well as precise effect[needs testing]).
    •  fixed_time (optional): Can be false or any integer from 0 to 24000. If this is set to a number, the time of the day is the specified value. However, in at least some worlds,[needs testing] false is interpreted as 0, giving constant sunrise. To ensure a normal time cycle, leave the attribute undefined (i.e, do not include it).
    •  piglin_safe: Whether piglins shake and transform to zombified piglins.
    •  bed_works: When false, the bed blows up when trying to sleep.
    •  respawn_anchor_works: Whether players can charge and use respawn anchors.
    •  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. May not be greater than height.
    •  min_y: The minimum height in which blocks can exist within this dimension. Should be between -2032 and 2031 and be a multiple of 16 (effectively making 2016 the maximum). Setting it lower than -2048 will only allow the temporary placement of blocks below it as they won't be saved. Furthermore, lighting won't work correctly at Y-coordinate -2048 and below.[1]
    •  height: The total height in which blocks can exist within this dimension. Should be between 0 and 4064 and be a multiple of 16. It can be set higher than the maximum by the same amount of temporary layers + 16. Max y = min y + height, and may not be more than 2032.
    •  infiniburn: A resource location defining what block tag to use for infiniburn.
    •  effects: 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. If undefined, the value will be automatically set to "minecraft:overworld".

Defaults[]

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

History[]

Java Edition
1.16Pre-release 1Added dimension and dimension_type to data packs.
1.16.220w29aThe noise settings for custom dimensions have been moved from dimension to worldgen in data packs.
pre1Custom dimensions now use the same folder pattern in data packs as other resources: namespace/<type>/resource.json.
pre2The dimension type's  shrunk has been replaced with  coordinate_scale.
1.1720w49aAdded  min_y and  height to the dimension type.

Issues[]

Issues relating to "Dimension" or "Dimension type" are maintained on the bug tracker. Report issues there.

Notes[]

  1. Setting this to a number does not mean one structure is generated this often, only that the game attempts to generate one; biomes or terrain could lead to the structure not being generated. The maximum distance of structure placement attempts is 2*spacing - separation.
Advertisement