마인크래프트/NBT/엔티티
덤프버전 :
상위 문서: 마인크래프트/NBT
\
개체(엔티티)와 관련한 태그는 대부분 마인크래프트 위키의 Entity Format 문서에서 볼 수 있다.
summon 명령어로 소환할 수 있는 것들에 붙는 NBT 태그이다. 아이템은 마인크래프트/NBT/아이템 문서 참고.
형식:
형식:
형식:
형식:
형식:
형식:
형식:
형식:
경우에 따라서 Motion이 0이 아님에도 움직이지 않을 수도 있다. {Marker:1b} 태그가 부여된 갑옷 거치대에게
화염구와 같이 중력의 영향을 받지 않는 엔티티는 Motion이 아닌 power를 사용한다.
형식:
fallingblock{ 이전 버전 = FallingSand }은 개체이기에 y좌표가 극한(이 극한은 수학에서의 극한이 아니다.)이 되지 않는한 블록을 설치할 수 있기에 {/summon minecraft:falling_block ~ ~ ~ {BlockState:{Name:"minecraft:< 블록 이름>"},Time:1} 꼴로 320 위의 부자연스러운 건축물을 생성할 수도 있다.
1은 땅, 0은 공중이다
형식:
일반적인 개체는 이 NBT로 감지하나 화살, 엔더 진주같은 발사체는
엔티티 위에 엔티티를 올릴 수 있는 태그이다.
또한
형식:
과거 버전에는 riding:{"entity"} 꼴로 쓰였다고 한다.
Passengers를 이용해 falling_block이나 command_block_minecart를 쌓아올려 명령이 실행되도록 해 커맨드 타워를 제작할수 있기에[5] 원 커맨드 제작자에게 매우 유용한 명령어이다.
엔티티가 네더 포탈을 통해 다시 텔레포트 될 수 있는 틱 수이다. 순간이동 후 300틱(15초)에서 시작하여 0까지 된다.
형식:
형식:
형식:
개체의 태그를 확인하거나 정한다. tag <대상> add <제목> 명령어로도 추가할 수 있다.
개체의 UUID는 생성될 때 임의의 값으로 설정되며 생성된 이후의 개체의 UUID는 명령어로 수정할 수 없다. 다만 명령어로 소환시킬 때 이 NBT를 사용하여 원하는 UUID를 가진 개체를 소환시킬 수 있다. 다만 2개 이상의 개체가 동일한 UUID를 가질 수 없으므로 존재하는 개체의 UUID를 사용하여 소환시키려고 하면 'UUID가 겹쳐 개체를 소환할 수 없습니다'라는 채팅 메시지가 뜨고 소환이 되지 않는다.
플레이어도 고유의 UUID를 가지고 있는데 계정을 생성할 때 랜덤으로 주어지며 닉네임을 변경해도 한번 주어진 UUID는 바뀌지 않는다. 즉 UUID는 플레이어에게는 주민등록번호와 같은 존재로 서버에서 오피, 밴, 화이트리스트, 플러그인 등에서 플레이어의 UUID를 식별자로 사용하여 데이터를 저장한다.
UUID를 변환해주는 사이트와 플레이어 UUID 검색을 해주는 사이트가 있으니 그쪽으로 가면 쉽게 할 수 있다.
블록 안의 아이템을 감지하는데에 쓰인다. 사용법은 마인크래프트/NBT/몹/플레이어#Inventory 문서의 Inventory와 동일하다.
여기서 화살류는 화살과 분광 화살 등을 지칭한다.
화살의 데미지 비율을 나타낸다. 일반 화살의 경우 기본값은 2.0으로 추가되어 있으며 위력이 있을 경우엔 0.5씩 증가된다. 참고로 파워 I는 3.0, 파워 II는 3.5의 데미지 배율을 가진다.
어느 시간(틱) 동안 화살이 움직이지 않았는지를 나타낸다. 움직임이 멈췄을 때부터 카운트가 시작되며 움직일 경우 0으로 리셋된다. 1200틱에 도달할 경우 디스폰한다.
플레이어가 화살을 주울 수 있는지를 세부적으로 설정한다.
값에 따른 결과는 다음과 같다.
그림과 아이템 액자가 해당한다.
그림 또는 아이템 액자가 바라보는 방향이다. 값에 따른 방향은 아래와 같다.
떨어진 아이템이나 경험치 구슬이 사라질 때까지 걸릴 시간을 정해주는 태그다.
형식:
참고로, 마인크래프트 아이템은 버려지는 순간 6000s (5분)의 시간을 보내고 사라진다. (Age가 6000이 되면 사라진다는 뜻이다.)
이 태그는 경험치 구슬에도 포함된다. 아이템과 똑같이 5분후에 사라진다.
떨어진 아이템이나 경험치 구슬의 남은 체력을 정해주는 태그이다.
불 데미지, 용암 데미지, JE의 떨어진 아이템의 경우 모루의 데미지 등 피해를 입었을 때 Health 속성은 데미지 만큼 줄어들게 된다.
0이 되면 자동으로 파괴된다.
한번에 얻을 수 있는 양은 98303 이다.
경험치 구슬이 주는 경험치량을 정한다.
형식:
아이템의 종류를 선택하는데 쓰이는 태그이다.
보통 replaceitem 같은 명령어와 함께 쓰인다.
쓰는 방법은
예를 들어, 모든 플레이어 기준으로 5칸 내에 다이아몬드 검 아이템을 있는지 감지하려면,
아이템을 줍기까지 걸릴 시간을 설정하는 태그이다.
걸릴 시간은 틱 단위의 숫자를 써넣으면 되고, -1로 설정하면 아이템을 주울 수 없게 만들 수 있다
여담으로 일부 스피곳서버에선 -1이 작동이 안된다. 그러면 32767을 쓰면 된다.
보트의 나무 종류이다. 가능한 키워드는
Items, LootTable, LootTableSeed 속성 대한 내용은 여기 참고.
광산 수레에 표시되는 블록의 오프셋이다. 양수는 위로 이동, 음수는 아래로 이동한다. 예로 16을 넣으면 정확히 1배 블록을 위로 이동 시킨다.
Items, LootTable, LootTableSeed 속성 대한 내용은 여기 참고.
명령 블록에 입력된 명령어를 정한다.
명령 블록이 실린 광산 수레에 연결된 레드소톤 비교기에서 출력되는 아날로그 신호의 강도를 나타낸다. 오직 활상화 레일에서 활성화 되었을때만 업데이트된다.
속성 LastOutput이 저장되는지 여부를 결정한다. 이전 출력 버튼으로 GUI에서 토글 가능하다. 버튼의 캡션은 현재 상태를 나타낸다.
다음 호퍼끼리의 아이템 전달까지의 시간(틱)이다. 1과 8 사이의 수이며 만약에 전달할 아이템이 없다면 0이 저장된다.
스포너의 공통 태그에 대한 내용은 여기 참고
TNT가 터지기 까지 남은 시간(틱)이다. 기본값은 0이며, TNT가 레드스톤과 반응되면 바로 80틱부터 폭발할때까지(0이 될때까지) 카운트다운한다.
여기서 말하는 떨어지는 블록은
이 블록이 부서졌을 때 아이템화 될지를 설정한다. 만약에 설정되었어도 떨어지는 블록과 상응하는 아이템이 없다면 영향을 주지 않는다.
떨어지는 블록의 내부 데이터를 정한다.
조건과 값에는 마인크래프트/NBT/블록 엔티티에 나와있는 조건과 값을 적으면 된다.(즉 값에 큰따옴표를 붙이면 여기서도 붙여야함)
예를들어 say hello라는 커맨드가 적힌 항상 활성화된 커맨드 블록의 falling_block 를 소환할려면
라는 명령어를 뒤에 붙여주면 된다.
떨어지는 블록이 존재한 시간(틱)을 나타낸다. 떨어지는 블록이 최대 쌓을 수 있는 높이(Y=319)를 넘거나 또는 베드락(Y=-64) 아래에 있을 때 Time이 100을 초과하거나 무조건적으로 600이 될 시 자동으로 사라진다.
NoGravity 태그가 없으면 떨어져버린다.
여담으로 값에 -2147483648을 넣으면 이론상 3년을 기다려야 한다.
여기서 발사체는 화살, 던져진 삼지창, 던져진 달걀, 화염구, 작은 화염구, 드래곤 화염구, 위더 해골, 던져진 경험치 병, 던져진 물약 등등 있다.
발사체가 발사되었는지를 확인한다. projectile_shoot라는 이벤트를 한번만 작동하는 데에 사용된다.
발사체가 발사한 플레이어의 히트박스에서 빠져나왔는지를 확인한다. 빠져나왔을 경우엔 엔티티와 충돌할 수 있다.
여기서 달걀과 경험치 병, 포션은 던져진 상태로 엔티티를 지칭한다.
여기서 폭죽은 엔티티 상태의 폭죽을 말한다.
폭죽이 폭발하기 전까지 남은 시간(틱)이다. 이 값은 랜덤이며, 폭죽이 최초 발사되었을 때 기본 비행거리(화약 사용량) + 1) * 10 + 0, 5 사이의 난수 + 0, 5 사이의 난수로 설정된다.
여기서 달걀과 경험치 병, 포션은 던져진 상태로 엔티티를 지칭한다.
공격 대상을 공격하는 데 필요한 단계이다. 높을수록 탄이 목표물을 타겟삼아 이동하는 경로에서 점점 멀리 벗어난다. 0으로 설정시에 대상을 공격하지 않고 TXD, TYD, TZD 속성을 사용한다.
삼지창이 이미 한번 엔티티에게 데미지를 준 경우엔 true를 반환하며, 이 경우에 다른 엔티티와 후속 충돌시에 데미지를 받지 않습니다.
갑옷 거치대는 이 사이트에서 쉽게 만들 수 있다.
비활성화 하려는 모든 슬롯의 값를 더하면 된다. 전부 비활성화하려면
투명한 갑옷 거치대로 만든다. 갑옷 거치대가 투명해도 지닌 아이템은 계속 표시된다. 버그인지도 모르겠지만 크리에이티브 모드로도 공격할 수 없게 만든다.
만약 투명한 갑옷 거치대를 죽여야한다면 명령어로 죽일 수 있다.(투명한 갑옷 거치대를 여러 개 만들어야 한다면 태그를 붙여서 하는것을 추천한다.) 아래 명령어는 가장 가까운 갑옷 거치대를 1명만 죽인다.
명령어:
태그 이름 그대로 표지로 만든다. True로 변경시 갑옷 거치대의 히트박스가 매우 작아지며, 블록을 거치대와 겹치게 설치 가능하다. 단 갑옷 거치대의 이름 설정 시 이름이 거치대의 다리에 표시된다. 갑옷 거치대를 타겟으로 지정할 수 없게 되어 공격하거나 블록이나 갑옷류를 지니게 할 수 없게 되지만 명령어로는 가능하다.
Body는 몸통, Head는 머리, LeftArm은 왼쪽 팔, LeftLeg는 왼쪽 다리, RightArm은 오른쪽 팔, RightLeg는 오른쪽 다리를 지칭한다.
아이템 액자 속 아이템이 시계 방향으로 45도 회전한 횟수이다. 5일 경우 45 x 5로 아이템이 시계 방향으로 225도 회전했음을 알 수 있다.
이 값이 0 이하로 떨어지는 순간 송곳니가 나타난다. 애니메이션은 이 속성이 -20에 도달할때까지 계속된다.
엔드 수정 밑의 베드락 받침대를 표시할지 지정한다. 직접 설치할 경우엔 표시되지 않지만(false),
위에 나온 Particle과 같이 쓰인다. 폭죽의 Colors와 마찬가지로 색을 변환해 쓰면 된다. 오직 ambient_entity_effect같은 파티클에서만 작동한다.
이때
표지(Marker)는 summon 명령어로만 소환이 가능하다. 이 엔티티는 오직 서버 측에서만 작동하며, F3+B 키를 누르면 보이게 되는 히트 박스도 안 보이고, 디버그 화면(F3)의 E값(총 엔티티)에도 포함되지 않는다.
맵 제작이나 데이터팩 등의 개발 전용 엔티티이다.
사용자 지정 NBT를 정할 수 있는 유일한 엔티티이다.
위의 표지와 같은 역할로 어떠한 충돌과 어떠한 블럭 설치 방해도 이루어지지 않는다. 하지만 표지와 다르게 서버 측과 함께 클라이언트에도 디버그 스크린으로 표시된다.
그리고 여기서 가장 중요한 역할은 아이템 또는 블록 모델 표시 용도이다.
기존의 맵 제작자들이 애용하던 떨어지는 블록은 용도가 다르다보니 엔티티가 조금만 많아져도 랙이 많이 걸렸지만, 블록 표시는 최적화가 잘된 편으로 3000개가 넘어가도 버벅임이 없다. 그리고 아이템 표시는 기존의 갑옷 거치대를 이용한 편법을 완전히 대체함은 물론 더 발전시켰으며, 문자 표시 역시 광역 효과 구름 혹은 갑옷 거치대의 이름을 이용한 편법을 완전히 대체했다.
아래 4개의 값만 허용된다:
엔티티의 최대 높이이며, 엔티티의 경계 상자가 수직적으로 y에서 y에 height를 더한 만큼 증가한 채 렌더링된다.
엔티티의 최대 너비이며, 엔티티의 경계 상자가 수평적으로 width에 2를 나눈만큼 증가한 채 렌더링된다.
보간[A] 을 사용하게 된다면 엔티티가 변화하는 과정을 애니메이션으로 구현할 수 있게 된다. 밑의 start_interpolation와 함께 사용된다.
보간[A] 의 시작 시점으로 언제 애니메이션을 시작할지 시점을 지정한다. 0보다 작은 값을 입력할 경우 현재 게임 시간이 반영된다.
64를 넘어가는 값은 64로 자동 조정되며 보간[A] 이 사용될 시 같이 점진적으로 작용한다.
보간[A] 이 사용될 시 같이 점진적으로 작용한다.
엔티티의 최대 렌더링 거리로, view_range x 엔티티 렌더 거리 x 64를 한 값이 최대 렌더 거리이다. 이 값을 넘어설 경우 렌더링 되지 않는다.(보이지 않는다)
추가로 표시 엔티티에 변형을 주고 싶을 때 사용되며 보간[A] 이 사용될 시 같이 점진적으로 작용한다.
list형으로 3개의 값이 입력되어야 하며, 각각 x축, y축, z축으로 얼마나 크기가 조정될 지 설정할 수 있다.
중심축으로부터 각각 x축, y축, z축이 얼마나 떨어졌는가를 설정한다.
실제 개체의 위치는 중심축에 있지만, 보여지는 개체는 대괄호 안의 값을 통해 중심축으로부터 거리가 설정된다.
Count의 값이 1 미만이면 id의 값이 "minecraft:air"로 바뀌어 렌더링되지 않는다.
예를 들어 철 주괴를 표시하고 싶은 경우, {id:"minecraft:iron_ingot",Count:1b}
아래는 모델 목록이다. 예를 들어 gui에 표시되는 아이템 모델을 사용하고 싶은 경우 {item_display: "gui"}
문자 정렬은 center(중앙), left(왼쪽 정렬), right(오른쪽 정렬)이 가능하다.
보간[A] 이 사용될 시 같이 점진적으로 작용한다.
true로 설정하면 위의 background 설정은 무시된다. 기본값 배경은 채팅창에 나오는 검은 바탕색과 같다.
갑옷 거치대의 네임태그와 달리
사용 예)
0부터 256까지 설정가능하며 숫자가 작아질수록 투명해진다. 참고로 마인크래프트의 자바에서는 내부적으로 byte 형식은 -128 부터 127까지의 범위이기 때문에 127을 넘어가는 수를 입력하면 -128[9] + 값 - 127[10] 로 계산된다. 따라서 시스템 내부적으로는 -1이 가장 불투명한 상태이고, 0이 가장 투명한 상태이다.
보간[A] 이 사용될 시 같이 점진적으로 작용한다.
상호 작용의 히트박스 너비를 조절한다. 기본값은 1.0f이다.
상호 작용의 히트박스 높이를 조절한다. 기본값은 1.0f이다.
상호작용을 했을 때 소리를 재생하는지의 여부
true일 경우 좌클릭시 엔티티를 맨손으로 때리는 소리가, 우클릭시 팔을 휘두르는 소리가 재생된다
상호 작용 엔티티가 마지막으로 공격한 개체를 감지한다.
상호 작용 엔티티가 마지막으로 상호 작용한 개체를 감지한다.
마인크래프트/NBT/몹 문서 참조.
\
[ 목차 펼치기 · 접기 ]
1. 개요[편집]
개체(엔티티)와 관련한 태그는 대부분 마인크래프트 위키의 Entity Format 문서에서 볼 수 있다.
summon 명령어로 소환할 수 있는 것들에 붙는 NBT 태그이다. 아이템은 마인크래프트/NBT/아이템 문서 참고.
2. 공유 NBT[편집]
2.1. 모든 엔티티 공통[편집]
2.1.1. Air[편집]
물 밖에서 최대 300까지 채운다. 15초 동안 물에 버티고, Air가 0이면 엔티티가 초당 2의 체력을 잃는다.
형식:
{Air:값s}
2.1.2. CustomName[편집]
몹의 이름을 결정한다. /tellraw 등과 같은 JSON 형식을 사용한다.
형식:
{CustomName:"몹 이름"}
또는 {CustomName:{"\"text\":\"몹 이름\"}"}
2.1.3. CustomNameVisible[편집]
몹의 이름을 항상 보여줄 지 아닐 지를 결정한다. 0으로 설정할 경우 몹에게 커서를 올릴 때만 개체의 이름을 볼 수 있으나, 1로 설정할 경우 항상 볼 수 있다,
형식:
{CustomNameVisible:1b}
2.1.4. FallDistance[편집]
떨어진 거리. 마인크래프트 시스템 상 몹이 낙하 시 받는 피해가 충돌 속도에 비례하는 게 아닌 떨어진 거리에 비례한다. 따라서 이 값이 크면 땅에 닿는 순간 충돌 속도는 느려도 특유의 떨어지는 소리와 함께 큰 피해를 받는다. 당연히 낙하 피해에 면역인 몹은 피해를 받지 않으며, 비행하는 등의 이유로 땅에 닿지 않는 몹에게는 아무런 효과가 없다.
형식:
{FallDistance:값f}
2.1.5. Fire[편집]
불이 붙은 엔티티의 불 지속 시간(틱)을 설정한다. 불이 붙지 않은 몹은 음수(-20)이다.
형식:
{Fire:값s}
2.1.6. Glowing[편집]
엔티티가 발광 효과를 낼지 안 낼지를 설정한다. 1일 경우 무한히 발광 효과가 적용된다.
형식:
{Glowing:1b}
2.1.7. id[편집]
2.1.8. HasVisualFire[편집]
2.1.9. Invulnerable[편집]
이 태그가 붙어 있을 경우 해당 엔티티가 무적이 된다. 몹의 경우 데미지를 입지 않으며, 그림 같은 경우 벽이 없거나 그림이 있는 위치에 블록이 놓여도 사라지지 않는다.[1] 또한 이 태그가 붙은 엔티티는 공격 대상이 되지 않는다.[2] 이 엔티티들은 크리에이티브 모드인 플레이어가 공격하거나 파괴할 경우, 또는 /kill 명령어로 해당 엔티티를 제거하는 경우를 제외하고 주변 환경에 전혀 영향을 받지 않는다.
형식:
{Invulnerable:1b}
2.1.10. Motion[편집]
엔티티의 속도를 정한다. 첫 번째 값은 x 속도, 두 번째 값은 y 속도, 세 번째 값은 z 속도를 나타내며 실질적인 움직임은 세 벡터의 합으로 나타난다. 기본적으로 대부분의 엔티티는 매 틱마다 Motion값이 중력 등의 이유로 주변 환경에 의해 변한다. 예를 들어
{Motion:[0.0,1.0,0.0]}
이라는 태그가 붙은 좀비를 소환하면 소환되자마자 초당 1 블럭의 속도로 위쪽으로 튕겨난 후 중력의 영향을 받아 매 순간 Motion의 y값이 감소하며 다시 아래로 떨어진다.형식:
{Motion:[0.0,0.0,0.0]}
[3]경우에 따라서 Motion이 0이 아님에도 움직이지 않을 수도 있다. {Marker:1b} 태그가 부여된 갑옷 거치대에게
{Motion:[0.0,1.0,0.0]}
등의 태그를 부여하면 무시된다.화염구와 같이 중력의 영향을 받지 않는 엔티티는 Motion이 아닌 power를 사용한다.
2.1.11. NoGravity[편집]
중력에 영향을 받는 개체 한정. 만약 참으로 설정되었을 경우, 중력에 영향을 받지 않아 낙하하지 않는다. 그렇다고 공중에서 움직일 수 있는 건 아니고 그냥 해당 y 높이에 고정되어 있는 것 뿐이다. 그리고 몹 AI 특성상 바닥에 걸어 다니는 것이 아니면 그냥 그 자리에서 이동을 하지 않는다. 비행몹들에게는 영향이 없다.
형식:
{NoGravity:1b}
fallingblock{ 이전 버전 = FallingSand }은 개체이기에 y좌표가 극한(이 극한은 수학에서의 극한이 아니다.)이 되지 않는한 블록을 설치할 수 있기에 {/summon minecraft:falling_block ~ ~ ~ {BlockState:{Name:"minecraft:< 블록 이름>"},Time:1} 꼴로 320 위의 부자연스러운 건축물을 생성할 수도 있다.
2.1.12. OnGround[편집]
개체가 땅 위에 있는지 감지한다.
1은 땅, 0은 공중이다
형식:
{OnGround:숫자b}
일반적인 개체는 이 NBT로 감지하나 화살, 엔더 진주같은 발사체는
inGround
NBT로 감지한다.2.1.13. Passengers[편집]
엔티티 위에 엔티티를 올릴 수 있는 태그이다.
또한
Passengers:[{},{}]
이렇게 하면 복수의 몹을 올릴 수 있다.형식:
{Passengers:[{id:" 몹 아이디 "}]}
[4]과거 버전에는 riding:{"entity"} 꼴로 쓰였다고 한다.
Passengers를 이용해 falling_block이나 command_block_minecart를 쌓아올려 명령이 실행되도록 해 커맨드 타워를 제작할수 있기에[5] 원 커맨드 제작자에게 매우 유용한 명령어이다.
2.1.14. PortalCooldown[편집]
엔티티가 네더 포탈을 통해 다시 텔레포트 될 수 있는 틱 수이다. 순간이동 후 300틱(15초)에서 시작하여 0까지 된다.
형식:
{PortalCooldown:숫자}
2.1.15. Pos[편집]
해당 엔티티의 좌표를 나타낸다.
2.1.16. Rotation[편집]
해당 엔티티의 시선 방향을 정한다.
형식:
{Rotation:[ 가로 각도 f, 세로 각도 f]}
각도는 숫자이고 뒤엔 f를 붙여야 한다. 가로를 돌리면 몸체도 같이 돌아간다.2.1.17. Silent[편집]
이 태그가 붙을 경우 해당 개체가 소리를 내지 않는다.
형식:
{Silent:1b}
2.1.18. Tags[편집]
개체의 태그를 확인하거나 정한다. tag <대상> add <제목> 명령어로도 추가할 수 있다.
2.1.19. TicksFrozen[편집]
2.1.20. UUID[편집]
개체의 UUID (범용 고유 식별자, Universally unique identifier)이며, 32비트 정수 4개 있다. 2번째 값은 -2,147,467,264 ~ -45,057 또는 16,384 ~ 2,147,438,591으로 특이한 값이 나온다.
개체의 UUID는 생성될 때 임의의 값으로 설정되며 생성된 이후의 개체의 UUID는 명령어로 수정할 수 없다. 다만 명령어로 소환시킬 때 이 NBT를 사용하여 원하는 UUID를 가진 개체를 소환시킬 수 있다. 다만 2개 이상의 개체가 동일한 UUID를 가질 수 없으므로 존재하는 개체의 UUID를 사용하여 소환시키려고 하면 'UUID가 겹쳐 개체를 소환할 수 없습니다'라는 채팅 메시지가 뜨고 소환이 되지 않는다.
플레이어도 고유의 UUID를 가지고 있는데 계정을 생성할 때 랜덤으로 주어지며 닉네임을 변경해도 한번 주어진 UUID는 바뀌지 않는다. 즉 UUID는 플레이어에게는 주민등록번호와 같은 존재로 서버에서 오피, 밴, 화이트리스트, 플러그인 등에서 플레이어의 UUID를 식별자로 사용하여 데이터를 저장한다.
UUID를 변환해주는 사이트와 플레이어 UUID 검색을 해주는 사이트가 있으니 그쪽으로 가면 쉽게 할 수 있다.
2.2. 컨테이너 엔티티 전용[편집]
2.2.1. Items[편집]
블록 안의 아이템을 감지하는데에 쓰인다. 사용법은 마인크래프트/NBT/몹/플레이어#Inventory 문서의 Inventory와 동일하다.
2.2.2. LootTable[편집]
2.2.3. LootTableSeed[편집]
2.3. 화살류 전용[편집]
여기서 화살류는 화살과 분광 화살 등을 지칭한다.
2.3.1. crit[편집]
2.3.2. damage[편집]
화살의 데미지 비율을 나타낸다. 일반 화살의 경우 기본값은 2.0으로 추가되어 있으며 위력이 있을 경우엔 0.5씩 증가된다. 참고로 파워 I는 3.0, 파워 II는 3.5의 데미지 배율을 가진다.
2.3.3. inBlockState[편집]
2.3.4. inGround[편집]
2.3.5. life[편집]
어느 시간(틱) 동안 화살이 움직이지 않았는지를 나타낸다. 움직임이 멈췄을 때부터 카운트가 시작되며 움직일 경우 0으로 리셋된다. 1200틱에 도달할 경우 디스폰한다.
2.3.6. pickup[편집]
플레이어가 화살을 주울 수 있는지를 세부적으로 설정한다.
값에 따른 결과는 다음과 같다.
2.3.7. PierceLevel[편집]
2.3.8. shake[편집]
2.3.9. ShotFromCrossbow[편집]
2.3.10. SoundEvent[편집]
2.4. 화염구류 전용[편집]
2.4.1. power[편집]
2.5. 걸 수 있는 엔티티류 전용[편집]
그림과 아이템 액자가 해당한다.
2.5.1. Facing[편집]
그림 또는 아이템 액자가 바라보는 방향이다. 값에 따른 방향은 아래와 같다.
2.5.2. TileX, TileY, TileZ[편집]
3. 떨어진 아이템, 경험치 구슬[편집]
3.1. Age[편집]
떨어진 아이템이나 경험치 구슬이 사라질 때까지 걸릴 시간을 정해주는 태그다.
형식:
{Age: 사라지는 시간 }
- 사라지는 시간에는 틱단위의 숫자를 쓰면 된다. 이때, 아이템이 사라지지 않게 하려면 저 자리에 -32768을 쓰면 된다.참고로, 마인크래프트 아이템은 버려지는 순간 6000s (5분)의 시간을 보내고 사라진다. (Age가 6000이 되면 사라진다는 뜻이다.)
이 태그는 경험치 구슬에도 포함된다. 아이템과 똑같이 5분후에 사라진다.
3.2. Health[편집]
떨어진 아이템이나 경험치 구슬의 남은 체력을 정해주는 태그이다.
불 데미지, 용암 데미지, JE의 떨어진 아이템의 경우 모루의 데미지 등 피해를 입었을 때 Health 속성은 데미지 만큼 줄어들게 된다.
0이 되면 자동으로 파괴된다.
3.3. 경험치 구슬 전용[편집]
3.3.1. Count[편집]
한번에 얻을 수 있는 양은 98303 이다.
3.3.2. Value[편집]
경험치 구슬이 주는 경험치량을 정한다.
형식:
{Value:값}
3.4. 떨어진 아이템 전용[편집]
3.4.1. Item[편집]
아이템의 종류를 선택하는데 쓰이는 태그이다.
보통 replaceitem 같은 명령어와 함께 쓰인다.
쓰는 방법은
{Item:{id:"minecraft:아이템아이디"}}
.예를 들어, 모든 플레이어 기준으로 5칸 내에 다이아몬드 검 아이템을 있는지 감지하려면,
/execute at @a if entity @e[type=item,nbt={Item:{id:"minecraft:diamond_sword"}},distance=..5]
와 같이 쓰일 수 있다.3.4.2. Owner[편집]
3.4.3. PickupDelay[편집]
아이템을 줍기까지 걸릴 시간을 설정하는 태그이다.
걸릴 시간은 틱 단위의 숫자를 써넣으면 되고, -1로 설정하면 아이템을 주울 수 없게 만들 수 있다
여담으로 일부 스피곳서버에선 -1이 작동이 안된다. 그러면 32767을 쓰면 된다.
3.4.4. Thrower[편집]
4. 탈것[편집]
4.1. 보트[편집]
4.1.1. Type[편집]
보트의 나무 종류이다. 가능한 키워드는
oak
, spruce
, birch
, jungle
, acacia
, dark_oak
, mangrove
이다.4.1.2. 상자가 실린 보트 전용[편집]
4.1.2.1. Items, LootTable, LootTableSeed[편집]
Items, LootTable, LootTableSeed 속성 대한 내용은 여기 참고.
4.2. 광산 수레[편집]
4.2.1. CustomDisplayTile[편집]
4.2.2. DisplayOffset[편집]
광산 수레에 표시되는 블록의 오프셋이다. 양수는 위로 이동, 음수는 아래로 이동한다. 예로 16을 넣으면 정확히 1배 블록을 위로 이동 시킨다.
4.2.3. DisplayState[편집]
4.2.4. 상자가 실린 광산 수레 전용[편집]
4.2.4.1. Items, LootTable, LootTableSeed[편집]
Items, LootTable, LootTableSeed 속성 대한 내용은 여기 참고.
4.2.5. 명령 블록이 실린 광산 수레 전용[편집]
4.2.5.1. Command[편집]
명령 블록에 입력된 명령어를 정한다.
4.2.5.2. LastOutput[편집]
4.2.5.3. SuccessCount[편집]
명령 블록이 실린 광산 수레에 연결된 레드소톤 비교기에서 출력되는 아날로그 신호의 강도를 나타낸다. 오직 활상화 레일에서 활성화 되었을때만 업데이트된다.
4.2.5.4. TrackOutput[편집]
속성 LastOutput이 저장되는지 여부를 결정한다. 이전 출력 버튼으로 GUI에서 토글 가능하다. 버튼의 캡션은 현재 상태를 나타낸다.
4.2.6. 화로가 실린 광산 수레 전용[편집]
4.2.6.1. Fuel[편집]
4.2.6.2. PushX, PushZ[편집]
4.2.7. 호퍼가 실린 광산 수레 전용[편집]
4.2.7.1. Enabled[편집]
4.2.7.2. TransferCooldown[편집]
다음 호퍼끼리의 아이템 전달까지의 시간(틱)이다. 1과 8 사이의 수이며 만약에 전달할 아이템이 없다면 0이 저장된다.
4.2.8. 스포너가 실린 광산 수레 전용[편집]
4.2.8.1. < 스포너 공통 태그 >[편집]
스포너의 공통 태그에 대한 내용은 여기 참고
4.2.9. TNT가 실린 광산 수레 전용[편집]
4.2.9.1. TNTFuse[편집]
5. 동적 타일[편집]
5.1. TNT[편집]
5.1.1. Fuse[편집]
TNT가 터지기 까지 남은 시간(틱)이다. 기본값은 0이며, TNT가 레드스톤과 반응되면 바로 80틱부터 폭발할때까지(0이 될때까지) 카운트다운한다.
5.2. 떨어지는 블록 전용[편집]
여기서 말하는 떨어지는 블록은
minecraft:falling_block
이다.5.2.1. BlockState[편집]
5.2.2. DropItem[편집]
이 블록이 부서졌을 때 아이템화 될지를 설정한다. 만약에 설정되었어도 떨어지는 블록과 상응하는 아이템이 없다면 영향을 주지 않는다.
5.2.3. FallHurtAmount[편집]
5.2.4. FallHurtMax[편집]
5.2.5. HurtEntities[편집]
5.2.6. TileEntityData[편집]
떨어지는 블록의 내부 데이터를 정한다.
조건과 값에는 마인크래프트/NBT/블록 엔티티에 나와있는 조건과 값을 적으면 된다.(즉 값에 큰따옴표를 붙이면 여기서도 붙여야함)
예를들어 say hello라는 커맨드가 적힌 항상 활성화된 커맨드 블록의 falling_block 를 소환할려면
{TileEntityData:{Command:"say hello",auto:1}}
라는 명령어를 뒤에 붙여주면 된다.
5.2.7. Time[편집]
떨어지는 블록이 존재한 시간(틱)을 나타낸다. 떨어지는 블록이 최대 쌓을 수 있는 높이(Y=319)를 넘거나 또는 베드락(Y=-64) 아래에 있을 때 Time이 100을 초과하거나 무조건적으로 600이 될 시 자동으로 사라진다.
NoGravity 태그가 없으면 떨어져버린다.
여담으로 값에 -2147483648을 넣으면 이론상 3년을 기다려야 한다.
6. 발사체[편집]
여기서 발사체는 화살, 던져진 삼지창, 던져진 달걀, 화염구, 작은 화염구, 드래곤 화염구, 위더 해골, 던져진 경험치 병, 던져진 물약 등등 있다.
6.1. HasBeenShot[편집]
발사체가 발사되었는지를 확인한다. projectile_shoot라는 이벤트를 한번만 작동하는 데에 사용된다.
6.2. LeftOwner[편집]
발사체가 발사한 플레이어의 히트박스에서 빠져나왔는지를 확인한다. 빠져나왔을 경우엔 엔티티와 충돌할 수 있다.
6.3. Owner[편집]
6.4. 화살 전용[편집]
6.4.1. custom_potion_effects[편집]
6.4.2. Potion[편집]
6.4.3. CustomPotionColor[편집]
6.4.4. Color[편집]
6.5. 드래곤 화염구, 위더 해골 전용[편집]
6.6. 달걀, 엔더 진주, 경험치 병, 포션, 눈덩이 전용[편집]
여기서 달걀과 경험치 병, 포션은 던져진 상태로 엔티티를 지칭한다.
6.6.1. Item[편집]
6.7. 화염구 전용[편집]
6.7.1. ExplosionPower[편집]
6.7.2. Item[편집]
6.8. 폭죽 전용[편집]
여기서 폭죽은 엔티티 상태의 폭죽을 말한다.
6.8.1. FireworksItem[편집]
6.8.2. Life[편집]
6.8.3. LifeTime[편집]
폭죽이 폭발하기 전까지 남은 시간(틱)이다. 이 값은 랜덤이며, 폭죽이 최초 발사되었을 때 기본 비행거리(화약 사용량) + 1) * 10 + 0, 5 사이의 난수 + 0, 5 사이의 난수로 설정된다.
6.8.4. ShotAtAngle[편집]
6.9. 라마 침 전용[편집]
6.10. 작은 화염구 전용[편집]
여기서 달걀과 경험치 병, 포션은 던져진 상태로 엔티티를 지칭한다.
6.10.1. Item[편집]
6.11. 셜커 탄 전용[편집]
6.11.1. Steps[편집]
공격 대상을 공격하는 데 필요한 단계이다. 높을수록 탄이 목표물을 타겟삼아 이동하는 경로에서 점점 멀리 벗어난다. 0으로 설정시에 대상을 공격하지 않고 TXD, TYD, TZD 속성을 사용한다.
6.11.2. Owner[편집]
6.11.3. TXD, TYD, TZD[편집]
6.12. 분광 화살 전용[편집]
6.12.1. Duration[편집]
6.13. 삼지창 전용[편집]
6.13.1. DealtDamage[편집]
삼지창이 이미 한번 엔티티에게 데미지를 준 경우엔 true를 반환하며, 이 경우에 다른 엔티티와 후속 충돌시에 데미지를 받지 않습니다.
6.13.2. Trident[편집]
7. 갑옷 거치대[편집]
갑옷 거치대는 이 사이트에서 쉽게 만들 수 있다.
7.1. DisabledSlots[편집]
비활성화 하려는 모든 슬롯의 값를 더하면 된다. 전부 비활성화하려면
{DisabledSlots:2039583}
을 쓰면 된다.7.2. Invisible[편집]
투명한 갑옷 거치대로 만든다. 갑옷 거치대가 투명해도 지닌 아이템은 계속 표시된다. 버그인지도 모르겠지만 크리에이티브 모드로도 공격할 수 없게 만든다.
만약 투명한 갑옷 거치대를 죽여야한다면 명령어로 죽일 수 있다.(투명한 갑옷 거치대를 여러 개 만들어야 한다면 태그를 붙여서 하는것을 추천한다.) 아래 명령어는 가장 가까운 갑옷 거치대를 1명만 죽인다.
명령어:
/kill @e[type=minecraft:armor_stand,sort=nearest,limit=1] 또는 /kill @e[type=minecraft:armor_stand,distance=..3] 플레이어 위치에서 3칸 범위에있는 모든 갑옷 거치대를 죽인다.
7.3. Marker[편집]
태그 이름 그대로 표지로 만든다. True로 변경시 갑옷 거치대의 히트박스가 매우 작아지며, 블록을 거치대와 겹치게 설치 가능하다. 단 갑옷 거치대의 이름 설정 시 이름이 거치대의 다리에 표시된다. 갑옷 거치대를 타겟으로 지정할 수 없게 되어 공격하거나 블록이나 갑옷류를 지니게 할 수 없게 되지만 명령어로는 가능하다.
7.4. NoBasePlate[편집]
7.5. Pose[편집]
Body는 몸통, Head는 머리, LeftArm은 왼쪽 팔, LeftLeg는 왼쪽 다리, RightArm은 오른쪽 팔, RightLeg는 오른쪽 다리를 지칭한다.
7.6. ShowArms[편집]
7.7. Small[편집]
8. 그림[편집]
8.1. variant[편집]
9. 아이템 액자[편집]
9.1. Fixed[편집]
9.2. Invisible[편집]
9.3. Item[편집]
9.4. ItemDropChance[편집]
9.5. ItemRotation[편집]
아이템 액자 속 아이템이 시계 방향으로 45도 회전한 횟수이다. 5일 경우 45 x 5로 아이템이 시계 방향으로 225도 회전했음을 알 수 있다.
10. 소환사 송곳니[편집]
10.1. Owner[편집]
10.2. Warmup[편집]
이 값이 0 이하로 떨어지는 순간 송곳니가 나타난다. 애니메이션은 이 속성이 -20에 도달할때까지 계속된다.
11. 엔드 수정[편집]
11.1. BeamTarget[편집]
빔이 가리키는 블록 좌표이다.
11.2. ShowBottom[편집]
엔드 수정 밑의 베드락 받침대를 표시할지 지정한다. 직접 설치할 경우엔 표시되지 않지만(false),
/summon
명령어로 생성시 표시된다(true).12. 영역 효과 구름[편집]
영역 효과 구름은
area_effect_cloud
를 의미한다.12.1. Age[편집]
Duration
속성 + WaitTime
속성을 더한 값보다 크면 영역 효과 구름은 사라진다.12.2. Color[편집]
위에 나온 Particle과 같이 쓰인다. 폭죽의 Colors와 마찬가지로 색을 변환해 쓰면 된다. 오직 ambient_entity_effect같은 파티클에서만 작동한다.
12.3. Duration[편집]
12.4. DurationOnUse[편집]
12.5. effects[편집]
12.6. Owner[편집]
12.7. Particle[편집]
/particle
커맨드와 매우 유사한데, 매개변수가 이용된다. 예를 들어 NamuParticle 1 0 0 1
인 식이다.12.8. Potion[편집]
12.9. Radius[편집]
12.10. RadiusOnUse[편집]
12.11. RadiusPerTick[편집]
12.12. ReapplicationDelay[편집]
12.13. WaitTime[편집]
이때
Radius
태그는 무시되므로 영역 효과 구름의 중앙 부에서만 효과가 나타나게 된다.13. 표지(마커)[편집]
표지(Marker)는 summon 명령어로만 소환이 가능하다. 이 엔티티는 오직 서버 측에서만 작동하며, F3+B 키를 누르면 보이게 되는 히트 박스도 안 보이고, 디버그 화면(F3)의 E값(총 엔티티)에도 포함되지 않는다.
맵 제작이나 데이터팩 등의 개발 전용 엔티티이다.
13.1. data[편집]
사용자 지정 NBT를 정할 수 있는 유일한 엔티티이다.
14. 표시 엔티티[편집]
위의 표지와 같은 역할로 어떠한 충돌과 어떠한 블럭 설치 방해도 이루어지지 않는다. 하지만 표지와 다르게 서버 측과 함께 클라이언트에도 디버그 스크린으로 표시된다.
그리고 여기서 가장 중요한 역할은 아이템 또는 블록 모델 표시 용도이다.
기존의 맵 제작자들이 애용하던 떨어지는 블록은 용도가 다르다보니 엔티티가 조금만 많아져도 랙이 많이 걸렸지만, 블록 표시는 최적화가 잘된 편으로 3000개가 넘어가도 버벅임이 없다. 그리고 아이템 표시는 기존의 갑옷 거치대를 이용한 편법을 완전히 대체함은 물론 더 발전시켰으며, 문자 표시 역시 광역 효과 구름 혹은 갑옷 거치대의 이름을 이용한 편법을 완전히 대체했다.
14.1. 모든 표시 엔티티 공통[편집]
14.1.1. billboard[편집]
아래 4개의 값만 허용된다:
- fixed - 플레이어 위치 관계 없이 수직, 수평으로 고정된 엔티티
- vertical - 수직축을 기준으로 플레이어 화면을 바라보는 엔티티
- horizontal - 수평축을 기준으로 플레이어 화면을 바라보는 엔티티
- center - 중심점을 기준으로 플레이어 화면을 바라보는 엔티티
14.1.2. brightness[편집]
위 NBT는 block 또는 sky가 필수조건이다.
14.1.3. glow_color_override[편집]
14.1.4. height[편집]
엔티티의 최대 높이이며, 엔티티의 경계 상자가 수직적으로 y에서 y에 height를 더한 만큼 증가한 채 렌더링된다.
14.1.5. width[편집]
엔티티의 최대 너비이며, 엔티티의 경계 상자가 수평적으로 width에 2를 나눈만큼 증가한 채 렌더링된다.
14.1.6. interpolation_duration[편집]
보간[A] 을 사용하게 된다면 엔티티가 변화하는 과정을 애니메이션으로 구현할 수 있게 된다. 밑의 start_interpolation와 함께 사용된다.
14.1.7. start_interpolation[편집]
보간[A] 의 시작 시점으로 언제 애니메이션을 시작할지 시점을 지정한다. 0보다 작은 값을 입력할 경우 현재 게임 시간이 반영된다.
14.1.8. shadow_radius[편집]
64를 넘어가는 값은 64로 자동 조정되며 보간[A] 이 사용될 시 같이 점진적으로 작용한다.
14.1.9. shadow_strength[편집]
보간[A] 이 사용될 시 같이 점진적으로 작용한다.
14.1.10. view_range[편집]
엔티티의 최대 렌더링 거리로, view_range x 엔티티 렌더 거리 x 64를 한 값이 최대 렌더 거리이다. 이 값을 넘어설 경우 렌더링 되지 않는다.(보이지 않는다)
14.1.11. transformation[편집]
추가로 표시 엔티티에 변형을 주고 싶을 때 사용되며 보간[A] 이 사용될 시 같이 점진적으로 작용한다.
14.1.11.1. right_rotation[편집]
14.1.11.2. scale[편집]
list형으로 3개의 값이 입력되어야 하며, 각각 x축, y축, z축으로 얼마나 크기가 조정될 지 설정할 수 있다.
14.1.11.3. left_rotation[편집]
14.1.11.4. translation[편집]
중심축으로부터 각각 x축, y축, z축이 얼마나 떨어졌는가를 설정한다.
실제 개체의 위치는 중심축에 있지만, 보여지는 개체는 대괄호 안의 값을 통해 중심축으로부터 거리가 설정된다.
14.1.12. 아이템 표시[편집]
14.1.12.1. item[편집]
Count의 값이 1 미만이면 id의 값이 "minecraft:air"로 바뀌어 렌더링되지 않는다.
예를 들어 철 주괴를 표시하고 싶은 경우, {id:"minecraft:iron_ingot",Count:1b}
14.1.12.2. item_display[편집]
아래는 모델 목록이다. 예를 들어 gui에 표시되는 아이템 모델을 사용하고 싶은 경우 {item_display: "gui"}
14.1.13. 블록 표시[편집]
14.1.13.1. block_state[편집]
14.1.14. 문자 표시[편집]
14.1.14.1. alignment[편집]
문자 정렬은 center(중앙), left(왼쪽 정렬), right(오른쪽 정렬)이 가능하다.
14.1.14.2. background[편집]
보간[A] 이 사용될 시 같이 점진적으로 작용한다.
14.1.14.3. default_background[편집]
true로 설정하면 위의 background 설정은 무시된다. 기본값 배경은 채팅창에 나오는 검은 바탕색과 같다.
14.1.14.4. line_width[편집]
14.1.14.5. see_through[편집]
14.1.14.6. shadow[편집]
14.1.14.7. text[편집]
갑옷 거치대의 네임태그와 달리
'\n'
을 이용해 줄바꿈이 가능하다.사용 예)
- /summon text_display ~ ~ ~ {text:'{"text":"내용","color":"색"}'} (한 가지 색상을 쓸 때)
- /summon text_display ~ ~ ~ {text:'\[{"text":"내용","color":"색"},{"text":"내용","color":"색"}\]'} (여러가지 색상을 쓸 때)
14.1.14.8. text_opacity[편집]
0부터 256까지 설정가능하며 숫자가 작아질수록 투명해진다. 참고로 마인크래프트의 자바에서는 내부적으로 byte 형식은 -128 부터 127까지의 범위이기 때문에 127을 넘어가는 수를 입력하면 -128[9] + 값 - 127[10] 로 계산된다. 따라서 시스템 내부적으로는 -1이 가장 불투명한 상태이고, 0이 가장 투명한 상태이다.
보간[A] 이 사용될 시 같이 점진적으로 작용한다.
15. 상호 작용[편집]
15.1. width[편집]
상호 작용의 히트박스 너비를 조절한다. 기본값은 1.0f이다.
15.2. height[편집]
상호 작용의 히트박스 높이를 조절한다. 기본값은 1.0f이다.
15.3. response[편집]
상호작용을 했을 때 소리를 재생하는지의 여부
true일 경우 좌클릭시 엔티티를 맨손으로 때리는 소리가, 우클릭시 팔을 휘두르는 소리가 재생된다
15.4. attack[편집]
상호 작용 엔티티가 마지막으로 공격한 개체를 감지한다.
15.5. interaction[편집]
상호 작용 엔티티가 마지막으로 상호 작용한 개체를 감지한다.
16. 엔더의 눈, 낚시 찌, 끈 매듭, 벼락[편집]
해당 엔티티는 엔티티 공통 NBT 외에 다른 NBT를 가지지 않는다.
17. 몹 전용[편집]
마인크래프트/NBT/몹 문서 참조.
[1] 이런 경우 원래 그림은 자동으로 뽑힌다.[2] Invulnerable:1b가 붙은 주민은 좀비에게 인식되지 않는다. 이와 별개로 주민은 좀비에게서 도망치려 한다.[3] 소수점을 생략하면 안 된다.[4]
Passengers:[{id:"creeper"}],Passengers:[{id:"creeper"}]
등으로 올라가 있는 엔티티의 위에도 엔티티를 계속 올릴 수 있다.[5] 단, 25개 이상의 entity가 한 블록에 있다면 24개로 맞추기 위해 entity가 죽기 때문에 /gamerule maxEntityCramming < value >을 통해 최대치를 임시로 늘려야 한다.[6] Loot table이라는 JSON으로 기술된 파일에서 랜덤으로 값을 얻는다.[7] 떨어진 아이템[8] gamerule commandBlockOutput false인 경우에도 계속 저장한다.[A] A B C D E F G H interpolation[9] byte 최소값[10] byte 최대값