Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Minecraft:Root System: Difference between revisions

From SAS Gaming Wiki
SyncBot (talk | contribs)
Sync: updated from Minecraft
SyncBot (talk | contribs)
Sync: updated from Minecraft
 
(One intermediate revision by the same user not shown)
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 0 and 16 (inclusive).
** {{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||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}}.}}
|{{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

Template:ID table

Config

Template:Main Template:El:

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:

  1. 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;
  2. Template:Nbt Minecraft:block predicate;
  3. 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;
  4. If below block is lava or not solid, the position is not valid;
  5. 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"/>

<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

Template:HistoryTable

Bedrock Edition

Template:HistoryTable

Issues

Template:Issue list

References

Template:Reflist

Navigation

Template:Navbox generated features

Minecraft:fr:Système racinaire Minecraft:ja:root_system Minecraft:pt:Sistema de raízes