Minecraft:Root System: Difference between revisions
More actions
Sync: new page from Minecraft |
Sync: updated from Minecraft |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 14: | Line 14: | ||
== Generation == | == Generation == | ||
A root system is a mess of [[Minecraft:rooted dirt]] blocks in a clump. | |||
== Data values == | == Data values == | ||
| Line 40: | Line 40: | ||
{{main|Configured feature}} | {{main|Configured feature}} | ||
{{el|java}}: | {{el|java}}: | ||
If the initial position is not air, root system fails to place. Root system checks every position, starting from the initial position and moving upward by {{nbt|int|root_column_max_height}} blocks. | |||
If it goes above the <code>WORLD_SURFACE</code> heightmap, root system fails to place. | |||
At each position in order: | |||
# If the amount of air and water blocks above the position is less than {{nbt|int|required_vertical_space_for_tree}} or the highest water block is higher than {{nbt|int|allowed_vertical_water_for_tree}}, the position is not valid; | |||
# {{nbt|compound|allowed_tree_position}} [[Minecraft:block predicate]]; | |||
# If {{nbt|int|level_test_distance}} is not 0, in each cardinal direction with an offset {{nbt|int|level_test_distance}} by XZ 2 points are checked with offset {{nbt|int|max_level_deviation}} by Y above and below. If below point is air or above point is not air, the position is not valid. That means if {{nbt|int|max_level_deviation}} is set to 0, this check will always fail; | |||
# If below block is lava or not solid, the position is not valid; | |||
# If {{nbt|string}}{{nbt|compound|feature}} fails to place, the position is not valid. | |||
After a position is found, roots are placed within a {{nbt|int|root_radius}} along XZ {{nbt|int|root_placement_attempts}} times. They can replace only {{nbt|string}}{{nbt|list|root_replaceable}} blocks. After roots are placed, hanging roots are placed within a radius, defined by {{nbt|int|hanging_root_radius}} along XZ and {{nbt|int|hanging_roots_vertical_span}} along Y {{nbt|int|hanging_root_placement_attempts}} times. If a block is air, then [[Minecraft:block predicate]]s <code>has_sturdy_face</code> above and <code>would_survive</code> are applied. | |||
<section begin="config"/><div class="treeview"> | <section begin="config"/><div class="treeview"> | ||
* {{nbt|compound|config}} | * {{nbt|compound|config}} | ||
** {{nbt|int|required_vertical_space_for_tree}} Value between 1 and 64 (inclusive). | ** {{nbt|int|required_vertical_space_for_tree}} Value between 1 and 64 (inclusive). | ||
** {{nbt|int|level_test_distance}} Value between 0 and 16 (inclusive). | |||
** {{nbt|int|max_level_deviation}} Value between 0 and 64 (inclusive). | |||
** {{nbt|int|root_radius}} Value between 1 and 64 (inclusive). | ** {{nbt|int|root_radius}} Value between 1 and 64 (inclusive). | ||
** {{nbt|int|root_placement_attempts}} Value between 1 and 256 (inclusive). | ** {{nbt|int|root_placement_attempts}} Value between 1 and 256 (inclusive). | ||
** {{nbt|int|root_column_max_height}} Value between 1 and 4096 (inclusive). | ** {{nbt|int|root_column_max_height}} Value between 1 and 4096 (inclusive). | ||
** {{nbt|int|hanging_root_radius}} Value between 1 and 64 (inclusive). | ** {{nbt|int|hanging_root_radius}} Value between 1 and 64 (inclusive). | ||
** {{nbt|int|hanging_roots_vertical_span}} Value between | ** {{nbt|int|hanging_roots_vertical_span}} Value between 1 and 16 (inclusive). | ||
** {{nbt|int|hanging_root_placement_attempts}} Value between 1 and 256 (inclusive). | ** {{nbt|int|hanging_root_placement_attempts}} Value between 1 and 256 (inclusive). | ||
** {{nbt|int|allowed_vertical_water_for_tree}} Value between 1 and 64 (inclusive). | ** {{nbt|int|allowed_vertical_water_for_tree}} Value between 1 and 64 (inclusive). | ||
** {{nbt|string|root_replaceable}} A block tag with <code>#</code> specifying which blocks can be replaced by the root column. | ** {{nbt|string}}{{nbt|list|root_replaceable}} A block ID or a list of IDs, or tag with <code>#</code> specifying which blocks can be replaced by the root column. | ||
** {{nbt|compound|root_state_provider}} The block to use for the root column. | ** {{nbt|compound|root_state_provider}} The block to use for the root column. | ||
*** {{nbt inherit/block_state_provider}} | *** {{nbt inherit/block_state_provider}} | ||
| Line 66: | Line 81: | ||
"config": { | "config": { | ||
"required_vertical_space_for_tree": 3, | "required_vertical_space_for_tree": 3, | ||
"level_test_distance": 0, | |||
"max_level_deviation": 0, | |||
"root_radius": 3, | "root_radius": 3, | ||
"root_placement_attempts": 20, | "root_placement_attempts": 20, | ||
| Line 107: | Line 124: | ||
|{{HistoryLine||1.18|dev=Experimental Snapshot 1|Added root systems.}} | |{{HistoryLine||1.18|dev=Experimental Snapshot 1|Added root systems.}} | ||
|{{HistoryLine|||dev=Pre-release 7|Root systems no longer generate underwater.<ref>{{bug|MC-218592}}</ref>}} | |{{HistoryLine|||dev=Pre-release 7|Root systems no longer generate underwater.<ref>{{bug|MC-218592}}</ref>}} | ||
|{{HistoryLine||26.2|dev=snap1|The field {{nbt|string}}{{nbt|list|root_replaceable}} now also accepts an ID or a list of IDs in addition to a tag.}} | |||
|{{HistoryLine|||dev=snap6|New field {{nbt|int|level_test_distance}}.|New field {{nbt|int|max_level_deviation}}.}} | |||
}} | }} | ||
Latest revision as of 11:11, 30 June 2026
Template:WipTemplate:Infobox structure
A root system is a Minecraft:feature that spawns below naturally generated Minecraft:azalea trees.
Generation
A root system is a mess of Minecraft:rooted dirt blocks in a clump.
Data values
ID
Template:El: Template:ID table
Config
If the initial position is not air, root system fails to place. Root system checks every position, starting from the initial position and moving upward by Template:Nbt blocks.
If it goes above the WORLD_SURFACE heightmap, root system fails to place.
At each position in order:
- If the amount of air and water blocks above the position is less than Template:Nbt or the highest water block is higher than Template:Nbt, the position is not valid;
- Template:Nbt Minecraft:block predicate;
- If Template:Nbt is not 0, in each cardinal direction with an offset Template:Nbt by XZ 2 points are checked with offset Template:Nbt by Y above and below. If below point is air or above point is not air, the position is not valid. That means if Template:Nbt is set to 0, this check will always fail;
- If below block is lava or not solid, the position is not valid;
- If Template:NbtTemplate:Nbt fails to place, the position is not valid.
After a position is found, roots are placed within a Template:Nbt along XZ Template:Nbt times. They can replace only Template:NbtTemplate:Nbt blocks. After roots are placed, hanging roots are placed within a radius, defined by Template:Nbt along XZ and Template:Nbt along Y Template:Nbt times. If a block is air, then Minecraft:block predicates has_sturdy_face above and would_survive are applied.
<section begin="config"/>
- Template:Nbt
- Template:Nbt Value between 1 and 64 (inclusive).
- Template:Nbt Value between 0 and 16 (inclusive).
- Template:Nbt Value between 0 and 64 (inclusive).
- Template:Nbt Value between 1 and 64 (inclusive).
- Template:Nbt Value between 1 and 256 (inclusive).
- Template:Nbt Value between 1 and 4096 (inclusive).
- Template:Nbt Value between 1 and 64 (inclusive).
- Template:Nbt Value between 1 and 16 (inclusive).
- Template:Nbt Value between 1 and 256 (inclusive).
- Template:Nbt Value between 1 and 64 (inclusive).
- Template:NbtTemplate:Nbt A block ID or a list of IDs, or tag with
#specifying which blocks can be replaced by the root column. - Template:Nbt The block to use for the root column.
- Template:Nbt The block to use hanging below the root column.
- Template:Nbt The Minecraft:block predicate used to check if the tree position is valid.
- Template:NbtTemplate:Nbt The Minecraft:placed feature to place on top of the root system. Can be an ID of a placed feature, or a placed feature object.
<section end="config"/>
Template:Collapse <syntaxhighlight lang="json"> {
"type": "minecraft:root_system",
"config": {
"required_vertical_space_for_tree": 3,
"level_test_distance": 0,
"max_level_deviation": 0,
"root_radius": 3,
"root_placement_attempts": 20,
"root_column_max_height": 100,
"hanging_root_radius": 3,
"hanging_roots_vertical_span": 2,
"hanging_root_placement_attempts": 20,
"allowed_vertical_water_for_tree": 2,
"root_replaceable": "#minecraft:azalea_root_replaceable",
"root_state_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:rooted_dirt"
}
},
"hanging_root_state_provider": {
"type": "minecraft:simple_state_provider",
"state": {
"Name": "minecraft:hanging_roots",
"Properties": {
"waterlogged": "false"
}
}
},
"allowed_tree_position": {
"type": "minecraft:true"
},
"feature": {
"feature": "minecraft:azalea_tree",
"placement": []
}
}
} </syntaxhighlight> Template:Collapse
History
Java Edition
Bedrock Edition
Issues
References
Template:Navbox generated features
Minecraft:fr:Système racinaire Minecraft:ja:root_system Minecraft:pt:Sistema de raízes