![]() |
VOOZH | about |
A configured feature is the configuration of a feature type. They can be used in placed features to define the features that are placed in a world.
Configured features are stored as JSON files within a data pack in the data/<namespace>/worldgen/configured_feature folder.
A feature type determines how and what a configured feature should generate. They are hardcoded, thus new ones cannot be added through datapacks. Most feature types have configuration options that can be set using a configured feature. The following lists all feature types and their configuration options.
height + 1. Value between 1 and 10 (inclusive).
up, down, north, east, south, or west.true, starts removing layers from the start of the column.[NBT Compound / JSON Object] config
The only rule for which blocks the delta feature can replace (via the 'contents' or 'rim' block state) is that the target block must have one air block above it and no horizontally-adjacent air blocks. One consequence of this is that delta features cannot generate underwater, but can generate on the water's surface if the feature placement is on the same y-level.
Delta features are always generated last regardless of the order specified by their biome's generation step. In effect, this means that delta blocks can be overridden by features such as tall grass, often resulting in a splotchy appearance.
#minecraft:features_cannot_replace.#minecraft:geode_invalid_blocks. Additionally, air is an invalid block.distribution_points times near the center of the geode, and if the number of invalid blocks found exceeds this number, the feature will not be generated.Unlike ore features, geode features are always centered on their bottom northwest corner. For this reason, any placement predicates should be offset by the geode's average radius in order to perform checks on the proper location.
The 'min_gen_offset' and 'max_gen_offset' values determines the geode's cutoff size. Values greater than the default of Β±16 slightly increase the effective cutoff size for very large geodes, though the size is ultimately limited to within the adjacent chunks.
plant, and doesn't drop items when replaced by other blocks.fluid block.barrier block.glow_lichen) The block to place, currently must be glow_lichen or sculk_vein.spread_width * 2 -1. Must be a positive integer.spread_height * 2 -1. Must be a positive integer.Note that ore features (if allowed to generate in air) will not generate without a solid block nearby to act as the starting point. The ore feature does not necessarily have to intersect with this point, but the required distance does seem to scale with the ore size.
The defined features can either reference a placed feature directly, or can reference a configured feature by nesting another "feature" node within. For more information, see this page on the two allowed types of feature definitions.
# specifying which blocks can be replaced by the root column.Note that ore features (if allowed to generate in air) will not generate without a solid block nearby to act as the starting point. The ore feature does not necessarily have to intersect with this point, but the required distance does seem to scale with the ore size.
[NBT Compound / JSON Object] config
[NBT Compound / JSON Object] config
#, or an [NBT List / JSON Array] array containing either [String] IDs or new [NBT Compound / JSON Object] definitions in the same data type); Cannot be empty β Features to choose from.minecraft:treefancy_trunk_placer, the block must have axis property, such as logs.
spread_width * 2 + 1spread_height * 2 + 1max_height * 2, and the min length is 1.floor, or ceilinguniform type integer provider is used for the [Int][NBT Compound / JSON Object] xz_radius with a min of 2 and a max of 8, the x radius could be 6 while the z radius could be 3. Specifying unique X and Z values isn't possible.
# specifying what blocks column can replace.floor, or ceilinguniform type integer provider is used for the [Int][NBT Compound / JSON Object] xz_radius with a min of 2 and a max of 8, the x radius could be 6 while the z radius could be 3. Specifying unique X and Z values isn't possible.
# specifying what blocks column can replace.These features have files in the data/<namespace>/worldgen/configured_feature folder, but none of them have any configuration options in current versions.
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 1.16.2 | 20w28a | Added experimental support for configured features in data packs. | |||||
| 20w29a | Renamed the minecraft:decorated_flower feature in minecraft:no_bonemeal_flower. | ||||||
| 1.17 | 20w45a | Added minecraft:geode feature. | |||||
| 20w49a | Added minecraft:dripstone_cluster, minecraft:large_dripstone, and minecraft:small_dripstone features. | ||||||
| 21w03a | Added minecraft:glow_lichen feature type. | ||||||
| 1.19 | 22w11a | Added block field into glow_lichen (multiface_growth) feature config.
| |||||
Added minecraft:sculk_patch feature type. | |||||||
| 22w12a | Leaves are now waterloggable. And foliage placers now always waterlog the blocks when replacing water, if the foliage block has a waterlogged block state. | ||||||
| 22w13a | Added extra_rare_growths field into sculk_patch feature config. | ||||||
| 22w14a | Renamed the glow_lichen feature type to multiface_growth.
| ||||||
Added surface_disk feature type.
| |||||||
Added can_origin_replace field into the minecraft:disk feature config. Must be a block ID or a block tag, or a list of block IDs. The feature origin must in these blocks to generate the feature.
| |||||||
Added root_placer field into the minecraft:tree feature config.
| |||||||
Added attached_to_leaves decorator into the minecraft:tree feature config.
| |||||||
Added probability field into the leave_vine decorator of the minecraft:tree feature config.
| |||||||
Added upwards_branching_trunk_placer trunk placer into the minecraft:tree feature config. | |||||||
| 22w15a | Merged the surface_disk and ice_patch feature types into the disk type.
| ||||||
Added state_provider and targets fields into the minecraft:disk feature config, replacing state, targets and can_origin_replace fields.
| |||||||
Added trunk_offset_y and above_root_placement fields into the root placer in the minecraft:tree feature config.
| |||||||
Removed the y_offset field of the mangrove_root_placer root placer in the minecraft:tree feature config. Moved all other additional fields of mangrove_root_placer into an object [NBT Compound / JSON Object] mangrove_root_placement. | |||||||
| 1.19.4 | 23w07a | Added minecraft:cherry_foliage_placer and minecraft:cherry_trunk_placer into the minecraft:tree feature config. | |||||
| 1.20 | 23w17a | Added replaceable_blocks field into the minecraft:huge_fungus feature config. | |||||
| 1.21.4 | 24w44a | The simple_block feature type has a new optional field: schedule_tick. | |||||
| 1.21.5 | 25w09a | Added attached_to_logs field into the minecraft:tree feature config. | |||||
| 26.2 | snap1 | minecraft:geode: The fields cannot_replace and invalid_blocks in blocks section of feature configuration now also accept an ID and a list of IDs in addition to a tag. | |||||
minecraft:root_system: The field root_replaceable in the feature configuration now also accepts an ID or a list of IDs in addition to a tag. | |||||||
minecraft:vegetation_patch: The field replaceable in the feature configuration now also accepts an ID and or a list of IDs in addition to a tag. | |||||||
minecraft:waterlogged_vegetation_patch: The field replaceable in the feature configuration now also accepts an ID and or a list of IDs in addition to a tag. | |||||||
| snap5 | minecraft:multiface_growth: The field block is now mandatory (defaulted to minecraft:glow_lichen). | ||||||
| snap6 | Added the minecraft:weighted_random_selector feature type. | ||||||
minecraft:large_dripstone: The maximum allowed value for column_radius has been reduced from 19 to 16. | |||||||
minecraft:root_system: Added level_test_distance and field max_level_deviation fields. | |||||||
| Upcoming Java Edition | |||||||
| 26.3 | snapshot1 | The worldgen/configured_feature registry has moved to worldgen/feature and configuration is now done inline in the root object rather than separated into a config field. | |||||
Added minecraft:end_podium feature type. | |||||||
minecraft:tree feature type: added shelf_mushroom tree decorator type, added poplar_foliage_placer foliage placer type, added poplar_trunk_placer trunk placer type. | |||||||
Issues relating to "Configured feature" are maintained on the bug tracker. Issues should be reported and viewed there.