Skip to content

Formats

TheDeathlyCow edited this page Jun 8, 2026 · 13 revisions

Formats

This page documents the exact formats of each of the new datapack registries and types introduced by NovoAtlas.


Table of Contents


Dimension Extensions

These are alternative formats for fields present within the Dimension definition. This is not a new registry, you must edit files with the dimension registry.

Image Map Chunk Generator

Note: This takes the place of the generator field in a Dimension definition.

  • {} generator: The parent tag in a custom dimension.
    • " type: Must be set to novoatlas:image_map for the NovoAtlas generator to apply.
    • " map_info: A resource location of the map info object to use.
    • " settings: A resource location of the noise settings to use. Usually, you will want this to be something like minecraft:overworld.
    • " underground_density_function: A resource location of a density function to use. Can be any density function, but using one of novoatlas:caves, novoatlas:no_cave_entrances, or novoatlas:no_caves is recommended.
    • {} biome_source: The biome source to use. Can be any biome source, but using the color map biome source is highly recommended.
    • T/F enable_carvers: Optional boolean, defaults to true. A simple toggle for whether to disable all carvers (the old type of caves).

Note

NovoAtlas will replace the final_density and preliminary_surface_level density functions in the provided noise settings' noise router with its own density functions that read from the heightmap to determine noise values. The preliminary_surface_level will be fully replaced, and the final_density will use the minimum density value of the heightmap and the original final density function. As of writing, there is currently no way to get around this; if this causes problems for you, then feel free to raise an issue so that I know it's worth spending time to fix.

Color Map Biome Source

Note: This takes the place of the biome_source field in the generator field of a Dimension definition.

  • {} biome_source: The parent tag in the novoatlas chunk generator.
    • " type: Must be set to novoatlas:color_map for the NovoAtlas biome source to apply.
    • " map_info: A resource location of the map info object to use (should almost always be the same as the generator).
    • " default_biome: The biome to use when outside the bounds of the map.

Extra Information


Map Info Format

This is a new registry in the folder novoatlas/map_info.

  • {}: The root tag.
    • " height_map: The resource location of the height map to use, must be a black and white image in the registry novoatlas/heightmap.
    • " fluid_height_map: Optional. The resource location of the fluid height map to use, must be a black and white image in the registry novoatlas/heightmap. If not specified, the world's regular sea level will be used.
    • I starting_y: Tells the game how high the lowest block in the heightmap should be. I.e., the elevation that a black pixel on the heightmap represents in-game.
    • {} surface_biomes: A biome color provider containing information about the surface biomes. See below for format.
    • {} cave_biomes: An optional compound containing information about the cave biomes. If left empty, no cave biomes will generate.
      • [] layers: A list of biome layer entries that describes what cave biomes to generate (roughly) at each y-level.
    • I surface_range: Optional integer, defaults to 16. The depth below the surface of the heightmap that cave biomes should begin spawning, if any cave biomes are specified.
    • {} scaling: A scale configuration compound
      • F vertical_scale: An optional positive float that multiplies the heightmap values, allowing for the height to be increased or decreased. Useful for 16-bits-per-color images. Defaults to 1.0.
      • F horizontal_scale: An optional positive float that multiplies the size of the map. When specified as a float, will use nearest_neighbor interpolation. Defaults to 1.0.
      • {} horizontal_scale: The horizontal scale can alternatively be specified as an optional compound, allowing for configuration of the interpolation strategy.
        • F value: A positive float that multiplies the size of the map.
        • " interpolation: A resource location identifying the interpolation type to use, to allow for smooth blending between pixel values (especially with large values). Must be one of the Interpolation Types. Defaults to novoatlas:nearest_neighbor.
        • Additional fields, depending on the value of interpolation.

Note

The cave biomes layers list will only use the first entry in this list to match a given y value.

Biome Layer Entry format

  • {}: The root tag.
    • {} y_range: The range at which to place this layer.
      • I min: Optional integer, the minimum y-range to place this layer at. Must be strictly less than max.
      • I max: Optional integer, the maximum y-range to place this layer at.
    • {} biomes: A biome color provider containing information about this layer's biomes. See below for format.

Tip

Having a layer use the special biome type novoatlas:surface_biome in its color provider will cause the generator to place the surface biome at that (x, z) position in the layer.

Biome Color Provider Format

  • {}: The root tag.
    • " map: The resource location of the biome map to use, must be a colour image in the registry novoatlas/biome_map.
    • [] biomes: A list that maps colors in the biome map image to actual biomes. Each color may ONLY APPEAR ONCE in this list! List entries are of the following format:
      • {}: The root tag.
        • " biome: The resource location of the biome this color maps to.
        • I ": An 8-bit RGB color value, may be either an integer or a string. If an unquoted integer, then must be a decimal representation of the RGB color value. If a quoted string, then it must be a #-prefixed RGB color hex code. More formally, this string must match the regular expression #[0-9a-fA-F]{6}. That means a string must be of the form #XXXXXX where X is a hexadecimal digit.

Interpolation Types

NovoAtlas provides a registry for interpolation types. Third-party mods can register new codecs to this registry to provide new values, however NovoAtlas provides a few built in. You may choose any one of the following types:

  • {} horizontal_scale: The root tag.

    • " interpolation: If novoatlas:nearest_neighbor or minecraft:nearest_neighbor or nearest_neighbor, will use a simple blocky interpolation. This is the default strategy. Has no additional fields.
  • {} horizontal_scale: The root tag.

    • " interpolation: If novoatlas:bilinear or minecraft:bilinear or bilinear, will use a linearly interpolated smoothing that eliminates blockiness for large scaling values but is still somewhat jagged. Has no additional fields.
  • {} horizontal_scale: The root tag.

    • " interpolation: If novoatlas:bicubic or minecraft:bicubic or bicubic, will use a cubic interpolated smoothing that is less jagged than bilinear but has worse performance and will still produce noticeable artefacts at large scaling values. Has no additional fields.
  • {} horizontal_scale: The root tag.

    • " interpolation: If novoatlas:lanczos or minecraft:lanczos or lanczos, will use Lánczos interpolated smoothing that produces better results than bilinear and bicubic for very large scaling values but has generally the same or much worse performance, depending on the size of the window.
    • I window: Optional positive 32-bit integer. Specifies the window size of the interpolation. Higher values may produce better, but very quickly increases CPU load. Defaults to 2.