JigsawStructure

A structure grown from jigsaw pieces, with how often it appears: JigsawStructure dungeon { biomes = #minecraft:is_overworld, step = underground_structures, spacing = 32, separation = 12, height = AboveBottom(20), start = start, pools = { start = [Piece("start")] } }. It writes the structure set, the structure and one template pool per entry of pools. Its name stands for the structure, as in /locate structure ${dungeon}.

JigsawStructure name {
  biomes = ...
  step = ...
  spacing = ...
  separation = ...
  height = ...
  start = ...
  pools = ...
}

JigsawStructure is a Blueprint in the prelude: it is written in MMS, and every project has it.

Fields

biomes
Ids<worldgen/biome>

Where it can start: a biome, a tag such as #minecraft:is_overworld, or a list of biomes.

step
DecorationStep

The generation step it is placed in, such as surface_structures or underground_structures.

spacing
int

The size in chunks of the grid cells it is spread over; about one structure per cell.

separation
int
saltoptional
int?
height
HeightProvider

The height of the start piece, such as AboveBottom(20) or Constant(64).

heightmapoptional
Heightmap?

The start piece's y is taken from the ground's surface instead, with height added to it, as villages do.

depthdefault 7
int

How many pieces deep it grows from the start piece, from 1 to 20.

max_distancedefault 80
int

How far in blocks a piece can be from the start piece, from 1 to 128.

terrain_adaptationoptional
TerrainAdaptation?

How the terrain fits around it: beard_thin and beard_box raise the ground under it, bury sinks it, encapsulate fills around it.

start
Id<worldgen/template_pool>

The pool the start piece comes from, usually one of pools.

pools
{string: [WeightedElement] | TemplatePool}

The template pools, by name: a list of pieces, such as start = [Piece("start")], or a whole pool, such as halls = { fallback = caps, elements = [Piece("halls/hall")] }. Each one is a TemplatePool of that name, so jigsaw blocks draw from <namespace>:<name>.