개요
뿌리 시스템은 자연적으로 생성된 꽃이 핀 아젤라 나무 아래에 생성되는 지물이다.[1] 뿌리 시스템은 뿌리 박힌 흙 블록들이 덩어리를 이루고 있는 형태이다.[1] 자바 에디션에서 뿌리 시스템은 초기 위치가 공기가 아닐 경우 배치가 실패하며, 초기 위치부터 root_column_max_height 블록만큼 위로 이동하며 WORLD_SURFACE 높이맵을 넘지 않는 범위에서 위치를 탐색한다.[1] 각 위치에서 위쪽 공기와 물 블록의 양이 required_vertical_space_for_tree 미만이거나 가장 높은 물 블록이 allowed_vertical_water_for_tree보다 높으면 해당 위치는 유효하지 않다.[1] allowed_tree_position 블록 조건자 검사를 통과해야 하며, level_test_distance가 0이 아닐 경우 동서남북 방향 level_test_distance 오프셋 지점에서 max_level_deviation만큼 위아래 두 점을 검사해 아래가 공기이거나 위가 공기가 아니면 유효하지 않다.[1] 아래 블록이 용암이거나 단단하지 않아도 유효하지 않으며, 지정된 feature 배치가 실패해도 유효하지 않다.[1] 유효한 위치를 찾으면 XZ 평면 root_radius 범위 내에서 root_placement_attempts 횟수만큼 뿌리를 배치하며, 이때 root_replaceable 블록만 대체할 수 있다.[1] 뿌리 배치 후에는 hanging_root_radius(XZ)와 hanging_roots_vertical_span(Y) 범위 내에서 hanging_root_placement_attempts 횟수만큼 매달린 뿌리를 배치하며, 대상 블록이 공기일 경우 위쪽에 튼튼한 면이 있고 would_survive 조건을 만족해야 한다.[1]
이름
- 다른 언어 공식 이름: Root System (English) · root system (日本語) · Sistema de raízes (Português) · Système racinaire (Français) [2]
등장 요소
- 뿌리 박힌 흙: 뿌리 시스템을 구성하는 주요 블록으로, 덩어리 형태로 생성된다 [1]
- 아젤리아 나무: 뿌리 시스템이 자연 생성되는 기준이 되는 나무로, 이 나무 아래에 뿌리 시스템이 생성된다 [1]
- 매달린 뿌리: 뿌리 배치 후 추가로 생성되는 요소로, 수평 반경과 수직 범위 내에서 배치 시도가 이루어진다 [1]
- 마인크래프트물: 뿌리 시스템 생성 시 유효 위치 판정을 위해 공기 블록과 함께 위쪽 공간의 양을 계산하는 데 사용된다 [1]
- 마인크래프트용암: 생성 위치 바로 아래 블록이 용암일 경우 해당 위치는 유효하지 않은 것으로 판정된다 [1]
- 공기: 생성 위치 판정 시 수직 공간 확보 여부와 수평 레벨 테스트의 기준이 되는 블록 상태이다 [1]
- 단단한 면을 가진 블록: 매달린 뿌리 배치 시 위쪽 블록이 단단한 면을 가져야 한다는 조건(predicate: has_sturdy_face)의 대상이 된다 [1]
- 생존 가능 블록: 매달린 뿌리 배치 시 해당 위치에서 생존할 수 있어야 한다는 조건(predicate: would_survive)의 대상이 된다 [1]
배경·설정
생성
뿌리 시스템은 자연적으로 생성된 아젤리아 나무 아래에 생성되는 지물이다.[1]
뿌리 시스템은 뿌리 박힌 흙 블록들이 덩어리를 이루며 지저분하게 배치된 형태이다.[1]
데이터 값
#### 자바 에디션 설정
초기 위치가 공기가 아니면 뿌리 시스템 배치가 실패한다.[1]
뿌리 시스템은 초기 위치에서 시작하여 root_column_max_height 블록만큼 위로 이동하며 모든 위치를 검사한다.[1]
검사 과정에서 월드 표면 높이맵(WORLD_SURFACE) 위로 올라가면 배치가 실패한다.[1]
순서대로 각 위치에서 다음 조건을 검사한다.[1]
해당 위치 위쪽의 공기와 물 블록의 양이 required_vertical_space_for_tree 미만이거나, 가장 높은 물 블록이 allowed_vertical_water_for_tree보다 높으면 해당 위치는 유효하지 않다.[1]
allowed_tree_position 블록 술어 조건을 만족해야 한다.[1]
level_test_distance가 0이 아닌 경우, 동서남북 네 방향에 대해 XZ 평면으로 level_test_distance만큼 떨어진 두 지점을 검사한다.[1]
각 지점에서 Y축으로 max_level_deviation만큼 위아래로 오프셋을 둔 두 점을 확인하며, 아래쪽 점이 공기이거나 위쪽 점이 공기가 아니면 유효하지 않다.[1]
max_level_deviation이 0으로 설정되면 이 검사는 항상 실패한다.[1]
바로 아래 블록이 용암이거나 단단한 블록이 아니면 유효하지 않다.[1]
지정된 feature 배치가 실패하면 유효하지 않다.[1]
유효한 위치를 찾은 후, XZ 평면으로 root_radius 반경 내에서 root_placement_attempts 횟수만큼 뿌리를 배치한다.[1]
뿌리는 root_replaceable 목록에 지정된 블록만 대체할 수 있다.[1]
뿌리 배치 후, XZ 평면으로 hanging_root_radius 반경, Y축으로 hanging_roots_vertical_span 범위 내에서 hanging_root_placement_attempts 횟수만큼 매달린 뿌리를 배치한다.[1]
대상 블록이 공기일 경우, 위쪽에 견고한 면이 있는지(has_sturdy_face)와 생존 가능한지(would_survive)를 검사한다.[1]
수치·정보
- 초기 위치가 공기가 아니면 루트 시스템 배치가 실패함 [1]
- 초기 위치에서 위로 [Int] root_column_max_height 블록만큼 이동하며 각 위치를 검사함 [1]
- WORLD_SURFACE 하이트맵 위로 올라가면 배치가 실패함 [1]
- 위치 위쪽 공기 및 물 블록 개수가 [Int] required_vertical_space_for_tree 미만이거나 가장 높은 물 블록이 [Int] allowed_vertical_water_for_tree보다 높으면 해당 위치는 유효하지 않음 [1]
- [NBT Compound / JSON Object] allowed_tree_position 블록 조건자 검사 [1]
- [Int] level_test_distance가 0이 아니면 동서남북 방향에 [Int] level_test_distance 오프셋으로 XZ 2지점을 검사하며, 위아래로 [Int] max_level_deviation 오프셋을 둔 지점을 확인함 [1]
- 아래 지점이 공기이거나 위 지점이 공기가 아니면 위치는 유효하지 않음 ([Int] max_level_deviation이 0이면 이 검사는 항상 실패) [1]
- 아래 블록이 용암이거나 단단하지 않으면 위치는 유효하지 않음 [1]
- [String][NBT Compound / JSON Object] feature 배치가 실패하면 위치는 유효하지 않음 [1]
- 유효한 위치를 찾은 뒤 XZ 평면으로 [Int] root_radius 범위 내에서 [Int] root_placement_attempts 회 뿌리를 배치 시도함 [1]
- 뿌리는 [String][NBT List / JSON Array] root_replaceable 블록만 대체할 수 있음 [1]
- 뿌리 배치 후 매달린 뿌리를 XZ 반경 [Int] hanging_root_radius, Y 범위 [Int] hanging_roots_vertical_span 내에서 [Int] hanging_root_placement_attempts 회 배치 시도함 [1]
- 블록이 공기일 경우 위쪽에 has_sturdy_face 조건자와 would_survive 조건자를 적용함 [1]
공략
생성 조건
자연적으로 생성된 진달래 나무 아래에 뿌리 시스템이 생성된다. [1]
초기 위치가 공기 블록이 아니면 생성이 실패한다. [1]
초기 위치부터 위쪽으로 root_column_max_height 블록만큼 이동하며 월드 표면 높이맵(WORLD_SURFACE)을 넘으면 생성이 실패한다. [1]
각 위치마다 다음 조건을 순서대로 검사한다. [1]
해당 위치 위쪽의 공기와 물 블록 개수가 required_vertical_space_for_tree 미만이거나, 가장 높은 물 블록의 높이가 allowed_vertical_water_for_tree를 초과하면 유효하지 않다. [1]
allowed_tree_position 블록 술어 조건을 만족해야 한다. [1]
level_test_distance가 0이 아닐 경우, 동서남북 네 방향의 level_test_distance 오프셋 지점에서 위아래 max_level_deviation만큼 떨어진 두 지점을 검사한다. [1]
아래 지점이 공기이거나 위 지점이 공기가 아니면 유효하지 않다. [1]
max_level_deviation이 0이면 이 검사는 항상 실패한다. [1]
바로 아래 블록이 용암이거나 단단한 블록이 아니면 유효하지 않다. [1]
지정된 feature 배치가 실패하면 유효하지 않다. [1]
뿌리 배치
유효한 위치를 찾으면 XZ 평면 상 root_radius 반경 내에서 root_placement_attempts 횟수만큼 뿌리 블록을 배치 시도한다. [1]
이때 root_replaceable 목록에 포함된 블록만 대체할 수 있다. [1]
뿌리 배치 후에는 XZ 평면 hanging_root_radius 반경과 Y축 hanging_roots_vertical_span 범위 내에서 hanging_root_placement_attempts 횟수만큼 매달린 뿌리를 배치 시도한다. [1]
대상 블록이 공기일 경우, 위쪽에 견고한 면이 있는지(has_sturdy_face)와 생존 가능한지(would_survive)를 판정한다. [1]
기타
- 루트 시스템은 자연적으로 생성된 진달래 나무 아래에 생성되는 지물이다. [1]
- 루트 시스템은 뿌리 박힌 흙 블록이 덩어리진 형태이다. [1]
- 초기 위치가 공기가 아니면 루트 시스템 배치가 실패한다. [1]
- 초기 위치에서 위로 root_column_max_height 블록만큼 이동하며 WORLD_SURFACE 높이맵을 넘어가면 배치가 실패한다. [1]
- 각 위치에서 위쪽 공기와 물 블록의 양이 required_vertical_space_for_tree 미만이거나 가장 높은 물 블록이 allowed_vertical_water_for_tree보다 높으면 유효하지 않다. [1]
- allowed_tree_position 블록 조건자를 만족해야 한다. [1]
- level_test_distance가 0이 아니면 동서남북 방향에 level_test_distance 오프셋으로 XZ 2지점을 검사하며, 위아래 max_level_deviation 오프셋에서 아래가 공기이거나 위가 공기가 아니면 유효하지 않다. max_level_deviation이 0이면 이 검사는 항상 실패한다. [1]
- 아래 블록이 용암이거나 단단하지 않으면 유효하지 않다. [1]
- 지정된 feature 배치가 실패하면 유효하지 않다. [1]
- 유효한 위치를 찾으면 XZ 방향으로 root_radius 범위 내에서 root_placement_attempts 횟수만큼 뿌리를 배치하며, root_replaceable 블록만 대체할 수 있다. [1]
- 뿌리 배치 후 XZ 방향으로 hanging_root_radius, Y 방향으로 hanging_roots_vertical_span 범위 내에서 hanging_root_placement_attempts 횟수만큼 매달린 뿌리를 배치하며, 해당 블록이 공기이고 위쪽에 has_sturdy_face와 would_survive 조건자를 만족하면 배치된다. [1]
- 루트 시스템 관련 버그는 버그 트래커에서 관리된다. [1]
이 문서는 공식 공개 자료 2개를 AI가 문단별로 새로 정리하고, 문단마다 별도의 AI 검수를 거친 초안입니다. 자료에 확인되지 않는 내용은 적지 않았습니다. 패치 내역과 관련 문서는 아래에 따로 모아 보여 줍니다. 세부 설정과 최신 수치는 출처를 확인하세요. 일부 내용은 CC BY-NC-SA 3.0 라이선스 자료를 바탕으로 새로 썼으며, 같은 조건이 이 문서의 해당 부분에 적용됩니다. [1]