Skip to content

Feature types ​

Bedrock 1.26.60.22also holds for 1.26.50.24

One page per feature type, plus the pages on how features reach a world at all. Every page is a statement about Minecraft Bedrock 1.26.60.22, the version this project targets — said once here, and shown as a badge on each page rather than hedged in every paragraph. Worldgen internals move between releases: field defaults, draw order, which types exist at all. Where this version is known to diverge from Microsoft's public reference, the page says so.

Pages marked ↗ have not moved here yet

They open on GitHub, in the documentation set this site is being built from. Every link on this site to one of them will become a local link when the page moves; the sidebar is complete now so that nothing you look for is missing.

The rule every page follows ​

These pages document the Minecraft Bedrock game, not any particular add-on tool. A claim about the version named above is stated as fact about the game. Where a claim is instead a limitation of the bench used to illustrate it — an unimplemented field, a refusal, an approximation — that limitation is confined to the page's own What the bench does differently section, and never phrased as if it were something the game itself cannot do. If a fact is not known with certainty, it is either left out or marked as uncertain.

Three pages are deliberate exceptions and carry a different badge: Coverage and known gaps, Block textures in the preview and When the preview shows nothing are about the bench — how far its checking goes, how it draws what it found, and what it says when it places nothing.

Taxonomy ​

Feature grouping follows wiki.bedrock.dev's own four categories, not an invented scheme. Types that site has not yet categorised are placed by structural role — do they place blocks, gate or delegate, combine both, or carve — and say so.

Content features ​

Place blocks directly; no delegation to another feature.

TypePagePurpose
minecraft:single_block_featureSingle blockPlaces one weighted-picked block, optionally against an attach face — the feature almost every other feature ends up delegating to.
minecraft:ore_featureOrePlaces an ellipsoidal vein of blocks along a random angle, resolved per block through replacement rules.
minecraft:tree_featureTreePairs one trunk shape with one canopy shape — eight trunk algorithms and twelve crown algorithms, selected by which key is present rather than by a type field.
minecraft:growing_plant_featureGrowing plantPlaces a vertically growing block column — cave vines, kelp, weeping vines — with weighted body and head blocks and a randomised height.
minecraft:structure_template_featureStructure templatePlaces a pre-authored .mcstructure file, with rotation, a spiral position search, and four placement constraints.
minecraft:multiface_featureMultifaceSpreads vine and glow-lichen-style multi-face growth onto adjacent blocks.
minecraft:fossil_featureFossilBuries one of the game's eight prebuilt fossil structures, speckled with an ore block of your choosing. Two required fields and nothing else.
minecraft:multipart_block_column_featureMultipart block columnPlaces an ordered column of up to four block roles — base, middle, frustum, tip — along any of the six directions. New in this version.
minecraft:horizontal_tree_decoration_featureHorizontal tree decorationPlaces one decoration block against a randomly chosen horizontal side of the origin block — leaf litter and flower beds. New in this version.
minecraft:multi_block_featureMulti blockPlaces a custom multi-block — a block whose minecraft:multi_block trait spans 2–4 cells in a line — as its complete set of parts, all or nothing. New in this version.

Proxy features ​

Delegate to another feature; decide which, where, or whether, not what gets placed.

TypePagePurpose
minecraft:scatter_featureScatterRepeatedly picks an offset from the origin and delegates to another feature at each — the single most common feature type in real packs.
minecraft:aggregate_featureAggregateDelegates to every listed sub-feature at the same, unmodified origin.
minecraft:sequence_featureSequenceDelegates to a list of sub-features in order, threading each success's position forward as the next one's origin.
minecraft:weighted_random_featureWeighted randomPicks one sub-feature from a weighted list and delegates to it.
minecraft:search_featureSearchSearches a volume along a configurable axis order for positions where a delegated feature can place, committing the whole attempt transactionally.
minecraft:snap_to_surface_featureSnap to surfaceScans a column for a floor, ceiling or wall and delegates to another feature at the snapped position.
minecraft:conditional_listConditional listPlaces features from a list of {places_feature, condition} entries evaluated in order. Documented as a public feature by this version's changelog.
minecraft:scan_surfaceScan surfaceDelegates to a wrapped feature once per column across the whole 16×16 chunk containing the origin. Microsoft's reference lists it as internal; it is available and fully functional in this version.
minecraft:surface_relative_threshold_featureSurface relative thresholdGates delegation on the origin's height relative to the surface.
minecraft:height_difference_filter_featureHeight difference filterGates delegation on the terrain height difference across a search radius around the origin. New in 1.26.40, not in this version, and unchanged since.
minecraft:rect_layoutno pageLays a wrapped feature out across a chunk-local grid with a budgeted empty-space ratio. Internal per Microsoft's reference; not implemented by the bench and deliberately without a page.

Scene features ​

Combine a footprint or shape search with content placement in one type.

TypePagePurpose
minecraft:geode_featureGeodePlaces a concentric-shell sphere with budding-block-style inner placements.
minecraft:vegetation_patch_featureVegetation patchPlaces a ground patch plus vertical vegetation growth on top of it, floor or ceiling.
minecraft:partially_exposed_blob_featurePartially exposed blobFills a cube of cells below the origin, keeping only the cells that are not submerged — except on the one face you name.
minecraft:sculk_patch_featureno pagePlaces a central sculk block plus a spreading, growing cursor simulation. Internal per Microsoft's reference; the bench implements it partially.
minecraft:beards_and_shaversno pageSmooths terrain in a kernel-weighted shell around another feature's placement bounds. Internal per Microsoft's reference; not implemented by the bench.

Carver features ​

Subtract or reshape existing terrain rather than add to it.

TypePagePurpose
minecraft:cave_carver_featureCave carverDigs rooms and branching tunnels through solid terrain — removes blocks rather than placing them.
minecraft:underwater_cave_carver_featureUnderwater cave carverThe underwater variant: a flat water line, a magma/obsidian row and a lava band at fixed depths, and a biome that must be tagged ocean or it writes nothing.
minecraft:nether_cave_carver_featureNether cave carverThe Nether variant: an identical JSON surface to the base carver, its own tunnel behaviour, and four of the eight fields whose value never reaches the geometry — height_limit and y_scale are read and discarded outright, while horizontal_radius_multiplier and vertical_radius_multiplier are still sampled, so they move the random stream without changing a single cell.

How features reach a world ​

PagePurpose
Feature rulesThe {distribution, places_feature} pair a minecraft:feature_rules file attaches to every matching biome's chunks; the biome filter; the eleven ordered passes and the twelfth; the seven ways a rule places nothing while looking correct.
Delegation and composite featuresThe shape every Proxy feature shares — which types substitute the origin and which pass it through, the shared random stream and Molang scope, what a delegation loop does, and what a delegate's return value does and does not promise.
RNG and determinismWhere a feature's seed comes from — world seed to chunk to decoration entry, and the two independent streams that entry gets — which operations skip their draw, why a rename moves a feature, and why draw order is part of a feature's contract.
Molang in world generationWhere an expression can go, what math.random actually returns, namespace scope lifetime, the versioned &&/|| precedence change, float32 evaluation, and the six queries available during worldgen.

Version-specific divergences worth knowing up front ​

  • This version has 29 JSON feature types, the same 29 as 1.26.50.24, the previous target. The target before that, 1.26.40.26, had 26: Microsoft's public reference documented minecraft:horizontal_tree_decoration_feature and minecraft:multi_block_feature before either existed in the game. Both became available in 1.26.50.24, along with minecraft:multipart_block_column_feature, which that version's own changelog introduces.
  • Between 1.26.40.26 and 1.26.50.24 a field was renamed (snap_to_surface_feature's vertical_search_range became search_range), an enum default changed meaning (conditional_list's early_out_scheme now defaults to none), and at least one placement algorithm was rewritten without its JSON surface changing at all.
  • Microsoft's official reference classifies minecraft:conditional_list as internal or deprecated. That has been out of date since 1.26.50.24, whose changelog introduces it as a public feature. It is documented here as a first-class type.
  • minecraft:nether_cave_carver_feature is this version's id for what older material calls minecraft:hell_cave_carver_feature.
  • minecraft:scan_surface and minecraft:sculk_patch_feature are classified internal by that same reference, but both are available and functional in this version. scan_surface has a page because packs in the wild use it; sculk_patch_feature does not.

Images ​

Feature pages illustrate their JSON examples with images rendered by docs/wiki/tools/generate-images.mjs — a pipeline that runs the real featurelab CLI against the committed fixture pack and screenshots the result through the same voxel viewer the editor embeds, in a headless browser. Every image is reproducible from a documented one-command run, a fixed seed and a deterministic camera fit; each page's example section gives the exact featurelab generate call behind its image. Every image renders blocks as flat colours, and the pipeline asserts that: a committed screenshot must not change depending on whether the machine that regenerated it happens to have built a block atlas.

Every page is a statement about Minecraft Bedrock 1.26.60.22 unless its badge says otherwise.