Custom feature

Features are unique elements of the world like trees, flowers, ore, etc. Configured features are stored as JSON files within a data pack in the path. They are used in world generation.

JSON format
When another configured feature is required inside the settings, it can either be provided with a string tag as the namespaced id of another configured feature, or with a compound tag as a nested definition.


 * The root tag.
 * : The feature type. Valid options are listed below.
 * Configuration properties of this feature type, specified below.
 * Configuration properties of this feature type, specified below.

minecraft:bamboo

 * : Decimal probability between 0 and 1.
 * : Decimal probability between 0 and 1.

minecraft:basalt_columns

 * : Uniform int with  0,   2, and   1.
 * : Uniform int with  1,   5, and   5.
 * : Uniform int with  1,   5, and   5.

minecraft:basalt_pillar
This feature has no config properties.

minecraft:block_pile

 * : Block state provider. The block to use.
 * : Block state provider. The block to use.

minecraft:blue_ice
This feature has no config properties.

minecraft:bonus_chest
This feature has no config properties.

minecraft:chorus_plant
This feature has no config properties.

minecraft:coral_claw
This feature has no config properties.

minecraft:coral_mushroom
This feature has no config properties.

minecraft:coral_tree
This feature has no config properties.

minecraft:decorated

 * : The configured decorator to use.
 * : The feature to decorate. Can either be a string referencing another feature or a compound as nested definition.
 * : The feature to decorate. Can either be a string referencing another feature or a compound as nested definition.

minecraft:delta_feature

 * : Block state. The block to use on the inside of the delta.
 * : Block state. The block to use for the rim of the delta.
 * : Uniform int with  0,   8, and   8.
 * : Uniform int with  0,   8, and   8.
 * : Uniform int with  0,   8, and   8.

minecraft:desert_well
This feature has no config properties.

minecraft:disk

 * : Block state. The block to use.
 * : Uniform int with  0,   4, and   4.
 * : Value between 0 and 4.
 * : The blocks to replace.
 * A block state.
 * A block state.

minecraft:dripstone_cluster

 * : Value between 1 and 512.
 * : Uniform int with  1,   64, and   64.
 * : Uniform int with  1,   64, and   64.
 * : Value between 0 and 64.
 * : Value between 1 and 64.
 * : Uniform int with  0,   64, and   64.
 * : Uniform float with  0,   1, and   1.
 * : Uniform float with  0,   1, and   1.
 * : Value between 0 and 1.
 * : Value between 0 and 1.
 * : Value between 0 and 1.
 * : Value between 0 and 64.
 * : Value between 0 and 64.
 * : Value between 0 and 64.

minecraft:emerald_ore

 * : Block state. The block to use.
 * : Block state. The block to replace.
 * : Block state. The block to replace.

minecraft:end_gateway

 * : The block position where the gateway should exit.
 * X coordinate.
 * Y coordinate.
 * Z coordinate.
 * Y coordinate.
 * Z coordinate.

minecraft:end_island
This feature has no config properties.

minecraft:end_spike

 * : (optional) Defaults to false.
 * : (optional) Block position of the beam target.
 * : The X coordinate.
 * : The Y coordinate.
 * : The Z coordinate.
 * A spike configuration.
 * : The X coordinate.
 * : The Z coordinate.
 * : The radius of the spike.
 * : The height of the spike.
 * : Whether to generate a cage around the crystal.
 * : The height of the spike.
 * : Whether to generate a cage around the crystal.

minecraft:fill_layer
Fills a 16x1x16 layer of blocks
 * : Block state. The block to fill with.
 * : Value between the dimension's Min Y and Max Y. The layer to fill.
 * : Value between the dimension's Min Y and Max Y. The layer to fill.

minecraft:flower

 * : (optional) Defaults to false.
 * : (optional) Defaults to true.
 * : (optional) Defaults to false.
 * : (optional) Defaults to 7.
 * : (optional) Defaults to 3.
 * : (optional) Defaults to 7.
 * : (optional) Defaults to 128.
 * : Block state provider. The block to use.
 * : Block state provider. The block to use.
 * : The Block placer type. One of,  , or.
 * If  is  :
 * : List of allowed block states to replace.
 * A block state.
 * : List of disallowed block states to replace.
 * A block state.
 * A block state.
 * : List of disallowed block states to replace.
 * A block state.

minecraft:forest_rock

 * : Block state. The block to use.
 * : Block state. The block to use.

minecraft:fossil
This feature has no config properties.

minecraft:freeze_top_layer
This feature has no config properties.

minecraft:geode

 * : Block state provider.
 * : Block state provider.
 * : Block state provider.
 * : Block state provider.
 * : Block state provider.
 * A block state
 * : (optional) Value between 0.01 and 50. Defaults to 1.7.
 * : (optional) Value between 0.01 and 50. Defaults to 2.2.
 * : (optional) Value between 0.01 and 50. Defaults to 3.2.
 * : (optional) Value between 0.01 and 50. Defaults to 4.2.
 * : (optional) Value between 0 and 1. Defaults to 1.
 * : (optional) Value between 0 and 5. Defaults to 2.
 * : (optional) Value between 0 and 10. Defaults to 2.
 * : (optional) Value between 0 and 1. Defaults to 0.05.
 * : (optional) Value between 0 and 1. Defaults to 0.35.
 * : (optional) Value between 0 and 1. Defaults to 0.35.
 * : (optional) Defaults to true.
 * : (optional) Value between 1 and 10. Defaults to 4.
 * : (optional) Value between 1 and 20. Defaults to 6.
 * : (optional) Value between 1 and 10. Defaults to 3.
 * : (optional) Value between 1 and 20. Defaults to 5.
 * : (optional) Value between 1 and 10. Defaults to 1.
 * : (optional) Value between 1 and 10. Defaults to 3.
 * : (optional) Defaults to -16.
 * : (optional) Defaults to 16.
 * : (optional) Value between 1 and 20. Defaults to 5.
 * : (optional) Value between 1 and 10. Defaults to 1.
 * : (optional) Value between 1 and 10. Defaults to 3.
 * : (optional) Defaults to -16.
 * : (optional) Defaults to 16.

minecraft:glow_lichen

 * : (optional) Value between 1 and 64. Defaults to 10.
 * : (optional) Value between 0 and 1. Defaults to 0.5.
 * : (optional) Defaults to false.
 * : (optional) Defaults to false.
 * : (optional) Defaults to false.
 * A block state.
 * A block state.
 * A block state.

minecraft:glowstone_blob
This feature has no config properties.

minecraft:huge_brown_mushroom

 * : Block state provider. The block to use for the cap.
 * : Block state provider. The block to use for the stem.
 * : (optional) The size of the cap. Defaults to 2.
 * : (optional) The size of the cap. Defaults to 2.

minecraft:huge_fungus

 * : Block state. The block to use for the hat.
 * : Block state. The block to use as decoration.
 * : Block state. The block to use for the stem.
 * : Block state. The block to place on top of.
 * : (optional) Defaults to false.
 * : (optional) Defaults to false.

minecraft:huge_red_mushroom

 * : Block state provider. The block to use for the cap.
 * : Block state provider. The block to use for the stem.
 * : (optional) The size of the cap. Defaults to 2.
 * : (optional) The size of the cap. Defaults to 2.

minecraft:ice_patch

 * : Block state. The block to use.
 * : Uniform int with  0,   4, and   4.
 * : Value between 0 and 4.
 * : The blocks to replace.
 * A block state.
 * A block state.

minecraft:ice_spike
This feature has no config properties.

minecraft:iceberg

 * : Block state. The block to use.
 * : Block state. The block to use.

minecraft:kelp
This feature has no config properties.

minecraft:lake

 * : Block state. The block to use.
 * : Block state. The block to use.

minecraft:large_dripstone

 * : (optional) Value between 1 and 512. Defaults to 30.
 * : Uniform int with  1,   30, and   30.
 * : Uniform float with  0,   10, and   10.
 * : Value between 0 and 1.
 * : Uniform float with  0.1,   5, and   5.
 * : Uniform float with  0.1,   5, and   5.
 * : Uniform float with  0,   1, and   1.
 * : Value between 0 and 100.
 * : Value between 0 and 5.
 * : Value between 0 and 5.

minecraft:monster_room
This feature has no config properties.

minecraft:nether_forest_vegetation

 * : Block state provider. The block to use.
 * : Block state provider. The block to use.

minecraft:netherrack_replace_blobs

 * : Block state. The block to use.
 * : Block state. The block to replace.
 * : Uniform int.
 * : Uniform int.

minecraft:no_bonemeal_flower
This feature has no config properties.

minecraft:no_op
Does nothing. Useful for overwriting existing configured features. This feature has no config properties.

minecraft:no_surface_ore

 * : Block state. The block to use.
 * : Rule test. The blocks to replace.
 * : Value between 0 and 64. Does not directly correspond with the amount of blocks placed.
 * : Value between 0 and 64. Does not directly correspond with the amount of blocks placed.

minecraft:ore

 * : Block state. The block to use.
 * : Rule test. The blocks to replace.
 * : Value between 0 and 64. Does not directly correspond with the amount of blocks placed.
 * : Value between 0 and 64. Does not directly correspond with the amount of blocks placed.

minecraft:random_boolean_selector
Randomly chooses one of two features.
 * : Feature 1.
 * : Feature 2.
 * : Feature 2.

minecraft:random_patch

 * : (optional) Defaults to false.
 * : (optional) Defaults to true.
 * : (optional) Defaults to false.
 * : (optional) Defaults to 7.
 * : (optional) Defaults to 3.
 * : (optional) Defaults to 7.
 * : (optional) Defaults to 128.
 * : Block state provider. The block to use.
 * : Block state provider. The block to use.
 * : The Block placer type. One of,  , or.
 * If  is  :
 * : List of allowed block states to replace.
 * A block state.
 * : List of disallowed block states to replace.
 * A block state.
 * A block state.
 * : List of disallowed block states to replace.
 * A block state.

minecraft:random_selector
Randomly chooses a feature from a list with chances.
 * A feature and its corresponding chance.
 * : The feature to place.
 * : The chance of this feature being chosen.
 * : The configured feature to use if none of the above features are chosen.
 * : The chance of this feature being chosen.
 * : The configured feature to use if none of the above features are chosen.

minecraft:sea_pickle

 * : Uniform int with  -10,   128, and   128.
 * : Uniform int with  -10,   128, and   128.

minecraft:seagrass

 * : Value between 0 and 1.
 * : Value between 0 and 1.

minecraft:simple_block

 * : Block state. The block to use.
 * : A list of valid block states below the current block.
 * A block state.
 * : A list of valid block states in the current block.
 * A block state.
 * : A list of valid block states above the current block.
 * A block state.
 * A block state.

minecraft:simple_random_selector
Randomly chooses a feature from a list.
 * : A list of features to choose from. Either all strings or all compounds.
 * : The feature to place.
 * : The feature to place.

minecraft:small_dripstone

 * : Value between 0 and 100.
 * : Value between 0 and 20.
 * : Value between 0 and 20.
 * : (optional) Value between 0 and 1. Defaults to 0.2.
 * : (optional) Value between 0 and 1. Defaults to 0.2.

minecraft:spring_feature

 * : Fluid state. The fluid to use.
 * : (optional) Defaults to 4.
 * : (optional) Defaults to 1.
 * : (optional) Whether the spring feature requires a block below the fluid. Defaults to true.
 * : A list of valid blocks to place the spring feature in.
 * The namespaced id of the block.
 * The namespaced id of the block.

minecraft:tree

 * : (optional) The maximum depth of water this tree can generate in. Defaults to 0.
 * : (optional) Defaults to false.
 * : One of,  ,  ,  ,  , or.
 * : One of  or
 * : (optional) Value between 0 and 80.
 * If  is  :
 * : (optional) Value between 0 and 81. Defaults to 1.
 * : (optional) Value between 0 and 16. Defaults to 0.
 * : (optional) Value between 0 and 16. Defaults to 1.
 * If  is  :
 * : (optional) Must be between 0 and 80. Defaults to 1.
 * : (optional) Must be between 0 and 80. Defaults to 1.
 * : (optional) Must be between 0 and 16. Defaults to 0.
 * : (optional) Must be between 0 and 16. Defaults to 1.
 * : (optional) Must be between 0 and 16. Defaults to 1.
 * : Block state provider. The block to use for the trunk.
 * : Block state provider. The block to use for the leaves.
 * : One of,  ,  ,  ,  , or.
 * : One of,  ,  ,  ,  ,  ,  ,  , or.
 * If  is ,  ,  , or  :
 * : Affects the foliage height and size in block height. Value between 0 and 16.
 * If  is  :
 * : Uniform int with  0,   16, and   8.
 * If  is  :
 * : Uniform int with  0,   16, and   8.
 * If  is  :
 * : Uniform int with  0,   16, and   8.
 * : Decorations to add to the tree apart from the trunk and leaves.
 * A decorator.
 * : The type of decoration to add. One of,  ,  ,  , or.
 * If  is   or  :
 * : Value between 0 and 1.
 * If  is  :
 * : Block state provider. The block to replace the ground with.
 * : Decorations to add to the tree apart from the trunk and leaves.
 * A decorator.
 * : The type of decoration to add. One of,  ,  ,  , or.
 * If  is   or  :
 * : Value between 0 and 1.
 * If  is  :
 * : Block state provider. The block to replace the ground with.

minecraft:twisting_vines
This feature has no config properties.

minecraft:vines
This feature has no config properties.

minecraft:void_start_platform
This feature has no config properties.

minecraft:weeping_vines
This feature has no config properties.

List of decorators
Decorators are used to modify the generation of features in various ways. They are applied from the outermost decorator to the innermost.

minecraft:carving_mask

 * : The carving generation step. Either  or.
 * : Value between 0 and 1.
 * : Value between 0 and 1.

minecraft:chance

 * : The chance for the feature to generate. Calculated by.
 * : The chance for the feature to generate. Calculated by.

minecraft:count

 * : Uniform int with  -10,   128, and   128.
 * : Uniform int with  -10,   128, and   128.

minecraft:count_extra

 * : Base count. Must be positive.
 * : Extra count. Must be positive.
 * : Chance to add  to the total count.
 * : Chance to add  to the total count.

minecraft:count_multilayer

 * : Uniform int with  -10,   128, and   128.
 * : Uniform int with  -10,   128, and   128.

minecraft:count_noise

 * : The threshold within the noise of when to use  or.
 * : The count when the noise is below.
 * : The count when the noise is above.
 * : The count when the noise is above.

minecraft:count_noise_biased

 * : The count at the peak noise.
 * : Scales the noise input.
 * : (optional) The threshold of the "positive" area, where features are generated. Defaults to 0.
 * : (optional) The threshold of the "positive" area, where features are generated. Defaults to 0.

minecraft:dark_oak_tree
This decorator has no config properties.

minecraft:decorated

 * : The outer configured decorator.
 * : The inner configured decorator.
 * : The inner configured decorator.

minecraft:emerald_ore
This decorator has no config properties.

minecraft:end_gateway
This decorator has no config properties.

minecraft:end_island
This decorator has no config properties.

minecraft:fire

 * : Uniform int with  -10,   128, and   128.
 * : Uniform int with  -10,   128, and   128.

minecraft:glowstone

 * : Uniform int with  -10,   128, and   128.
 * : Uniform int with  -10,   128, and   128.

minecraft:heightmap
This decorator has no config properties.

minecraft:heightmap_spread_double
This decorator has no config properties.

minecraft:heightmap_world_surface
This decorator has no config properties.

minecraft:iceberg
This decorator has no config properties.

minecraft:lava_lake

 * : The chance for the lake to generate. Calculated by.
 * : The chance for the lake to generate. Calculated by.

minecraft:magma
This decorator has no config properties.

minecraft:nope
Does nothing. This decorator has no config properties.

minecraft:spread_32_above
This decorator has no config properties.

minecraft:square
This decorator has no config properties.

minecraft:top_solid_heightmap
This decorator has no config properties.

minecraft:water_lake

 * : The chance for the lake to generate. Calculated by.
 * : The chance for the lake to generate. Calculated by.