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.

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: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: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: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.

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