마인크래프트/명령어/NBT/엔티티
1. Air
2. CustomName
3. CustomNameVisible
4. FallDistance
5. Fire
6. Glowing
7. Health
8. Invulnerable
9. Motion
10. NoGravity
11. OnGround
12. Passengers
13. PortalCooldown
14. Pos
15. Rotation
16. Silent
17. UUID
18. Tags
19. Team
20. 경험치 전용
20.1. Value
21. 떨어진 아이템, 경험치 구슬 전용
21.1. Age
22. 떨어진 아이템 전용
23. 아이템 액자 전용
24. 갑옷 거치대 전용
25. 떨어지는 블록 전용
26. 발사체 전용
26.1. xTile, yTile, zTile
26.2. 던질 수 있는 모든 발사체 전용
26.2.1. Owner
26.3. 화살, 삼지창 등 전용
26.3.1. crit
26.3.2. damage
26.3.3. inGround
26.3.4. pickup
26.3.5. player
26.3.6. shake
26.3.7. ShotFromCrossbow
26.3.8. SoundEvent
26.4. 던져진 달걀, 화염구 등 전용
26.4.1. Item
26.5. 화염구, 작은 화염구, 드래곤 화염구, 위더 해골 전용
26.5.1. power
27. 광역 효과 구름 전용
개체(엔티티)와 관련한 태그는 대부분 마인크래프트 위키의 Chunk format 문서에서 볼 수 있다.
summon 명령어로 소환할 수 있는 것들에 붙는 NBT 태그이다. 아이템은 개체이긴 하나, 윗문단에 따로 작성하였다.
1. Air
물 밖에서 최대 300까지 채운다. 15초 동안 물에 버티고, Air가 0이면 엔티티가 초당 2의 체력을 잃는다.
형식:
{Air:값s}
2. CustomName
몹의 이름을 결정한다. /tellraw 등과 같은 JSON 형식을 사용한다.
형식:
{CustomName:'{"text":"몹 이름"}'}
또는 {CustomName:"{\"text\":\"몹 이름\"}"}
3. CustomNameVisible
몹의 이름을 항상 보여줄 지 아닐 지를 결정한다. 0으로 설정할 경우 몹에게 커서를 올릴 때만 개체의 이름을 볼 수 있으나, 1로 설정할 경우 항상 볼 수 있다,
형식:
{CustomNameVisible:1b}
4. FallDistance
떨어진 거리. 값이 클수록 엔티티가 낙하 할 때 더 많은 피해를 준다.
형식:
{FallDistance:값f}
5. Fire
불이 붙은 엔티티의 불 지속 시간(틱)을 설정한다. 불이 붙지 않은 몹은 음수(-20)이다.
형식:
{Fire:값s}
6. Glowing
엔티티가 발광 효과를 낼지 안 낼지를 설정한다. 1일 경우 무한히 발광 효과가 적용된다.
형식:
{Glowing:1b}
7. Health
엔티티의 체력을 설정한다. 최대 체력은 1024이다. 이보다 더 높게 하는 방법은 AbsorptionAmount NBT 태그를 쓰면 된다.
형식:
{Health:값f}
몹의 최대체력 값이 넘어가면 Attribute를 같이 해야한다.{ 그 이유는 명령어가 임의의 체력 X에 대하여 그 이하의 값만 출력 및 저장되도록 설정되었기 때문이다. }
예: /summon minecraft:witch ~ ~ ~ {Health:10000f,Attributes:[{Name:generic.maxHealth,Base:10000}]} = 체력과 최대체력을 1024으로 설정된 마녀를 소환한다. 최근엔 attribute 명령어가 따로 추가되어 마녀를 소환한 후 attribute @e[type=witch,sort=nearest,limit=1] generic.max_health base set 10000 형식으로 최대체력을 쉽게 늘릴수 있게 되었다.
8. Invulnerable
이 태그가 붙어 있을 경우 해당 엔티티가 무적이 된다. 몹의 경우 데미지를 입지 않으며, 그림 같은 경우 벽이 없거나 그림이 있는 위치에 블록이 놓여도 사라지지 않는다.[1] 이 엔티티들은 크리에이티브 모드인 플레이어가 공격하거나 파괴할 경우, 또는 /kill 명령어로 해당 엔티티를 제거하는 경우를 제외하고 주변 환경에 전혀 영향을 받지 않는다.
형식:
{Invulnerable:1b}
9. Motion
엔티티가 날아가는 방향을 정한다. 예를 들어 좀비에게 {Motion:[0.0,1.0,0.0]} 이라는 태그를 부여하면 좀비가 소환되자마자 위쪽으로 튕겨난다. 중력과는 별개로 작용한다.
형식:
{Motion:[0.0,0.0,0.0]}
{Marker:1b} 태그가 부여된 갑옷 거치대에게 {Motion:[0.0,1.0,0.0]} 등의 태그를 부여하면 무시된다.
10. NoGravity
중력에 영향을 받는 개체 한정. 만약 참으로 설정되었을 경우, 중력에 영향을 받지 않는다. 다만 자유롭게 날아다니는 몹 같은 건 상상하지 말자. 그냥 해당 y 높이에 고정되어 있는 것 뿐이다. 그리고 몹 AI 특성상 바닥에 걸어 다니는 것이 아니면 그냥 그 자리에서 이동을 하지 않는다. 비행몹들에게는 영향이 없다.
형식:
{NoGravity:1b}
fallingblock{ 이전 버전 = FallingSand }은 개체이기에 y좌표가 극한(이 극한은 수학에서의 극한이 아니다.)이 되지 않는한 블록을 설치할 수 있기에 {/summon minecraft:falling_block ~ ~ ~ {BlockState:{Name:"minecraft:< 블록 이름>"},Time:1} 꼴로 256위의 부자연스러운 건축물을 생성할수도 있다.
11. OnGround
개체가 땅 위에 있는지 감지한다.
1은 땅, 0은 공중이다
형식:
{OnGround:숫자b}
일반적인 개체는 이 NBT로 감지하나 화살, 엔더 진주같은 발사체는
inGround
NBT로 감지한다.12. Passengers
엔티티 위에 엔티티를 올릴 수 있는 태그이다.
또한
Passengers:[{},{}]
이렇게 하면 복수의 몹을 올릴 수 있다.형식:
{Passengers:[{id:" 몹 아이디 "}]}
[2]과거 버전에는 riding:{"entity"} 꼴로 쓰였다고 한다.
Passengers를 이용해 falling_block이나 command_block_minecart를 쌓아올려 명령이 실행되도록 해 커맨드 타워를 제작할수 있기에{ 단, 25개 이상의 entity가 1pickelblock에 있다면 24개로 맞추기 위해 entity가 죽기 때문에 /gamerule maxEntityCramming < value >을 통해 최대치를 임시로 늘려야 한다.} 원 커맨드 제작자에게 매우 유용한 명령어이다.
13. PortalCooldown
엔티티가 네더 포탈을 통해 다시 텔레포트 될 수 있는 틱 수이다. 순간이동 후 300틱(15초)에서 시작하여 0까지 된다.
형식:
{PortalCooldown:숫자}
14. Pos
해당 엔티티의 좌표를 정한다.
15. Rotation
해당 엔티티의 시선 방향을 정한다.
형식:
{Rotation:[ 가로 각도 f, 세로 각도 f]}
각도는 숫자이고 뒤엔 f를 붙여야 한다. 가로를 돌리면 몸체도 같이 돌아간다.16. Silent
이 태그가 붙을 경우 해당 개체가 소리를 내지 않는다.
형식:
{Silent:1b}
17. UUID
몹의 UUID 32비트 정수 4개정도 있다.
UUID를 변환해주는 사이트와 플레이어 UUID 검색을 해주는 사이트가 있으니 그쪽으로 가면 쉽게 할 수 있다.
18. Tags
개체의 태그를 확인하거나 정한다. tag <대상> add <제목> 명령어로도 추가할 수 있다.
19. Team
엔티티의 팀을 설정해준다. 여기에는 한개의 팀밖에 적용할수 없다.[3]
20. 경험치 전용
20.1. Value
경험치 구슬이 주는 경험치량을 정한다
형식:
{Value:값}
21. 떨어진 아이템, 경험치 구슬 전용
21.1. Age
떨어진 아이템이 사라질 때까지 걸릴 시간을 정해주는 태그다.
형식:
{Age: 사라지는 시간 }
- 사라지는 시간에는 틱단위의 숫자를 쓰면 된다. 이때, 아이템이 사라지지 않게 하려면 저 자리에 -32768을 쓰면 된다.참고로, 마인크래프트 아이템은 버려지는 순간 6000s (5분)의 시간을 보내고 사라진다. (Age가 6000이 되면 사라진다는 뜻이다.)
이 태그는 경험치 구슬에도 포함된다. 아이템과 똑같이 5분후에 사라진다.
22. 떨어진 아이템 전용
22.1. PickupDelay
아이템을 줍기까지 걸릴 시간을 설정하는 태그이다.
형식:
{PickupDelay: 걸릴 시간 }
- 걸릴 시간은 틱 단위의 숫자를 써넣으면 되고, -1로 설정하면 아이템을 주울 수 없게 만들 수 있다여담으로 일부 스피곳서버에선 -1이 작동이 안된다. 혹시 모르니 32767을 쓰자.
22.2. Item
아이템의 종류를 선택하는데 쓰이는 태그이다.
보통 replaceitem 같은 명령어와 함께 쓰인다.
쓰는 방법은
{Item:{id:"minecraft:아이템아이디"}}
.예를 들어, 모든 플레이어 기준으로 5칸 내에 다이아몬드 검 아이템을 있는지 감지하러면,
/execute at @a if entity @e[type=item,nbt={Item:{id:"minecraft:diamond_sword"}},distance=..5]
와 같이 쓰일 수 있다.22.2.1. id
아이템 그 자체를 정해준다. 설정되지 않으면 자동으로 minecraft:stone로 설정된다.
형식: {Item:
{id:"아이템 코드
[4]"
}}22.2.2. Count
아이템의 개수를 정해준다.
형식: {Item:
{Count:숫자b
}}22.2.3. tag
아이템의 태그를 정해준다.
형식: {Item:
{tag:(태그)
}}여기서 태그는 위에 나온 아이템 전용 NBT 태그이다.
22.3. Owner
있는 경우 UUID를 가진 플레이어만 주울 수 있다. 주로 /give 명령어로 쓰면 나온다.
22.4. Thrower
아이템을 던진 플레이어의 UUID.
23. 아이템 액자 전용
23.1. Fixed
23.2. Invisible
23.3. ItemRotation
24. 갑옷 거치대 전용
갑옷거치대는 이 사이트 에 가서 쉽게 만들수 있다.
24.1. DisabledSlots
플레이어에 의한 갑옷 거치대의 장착, 교체, 해제 여부를 정하는 태그이다.
비활성화 하려는 모든 슬롯의 값를 더하면 된다. 전부 비활성화하려면
{DisabledSlots:2039583}
을 쓰면 된다.형식:
{DisabledSlots: 수 }
24.2. Invisible
투명한 갑옷 거치대로 만든다. 버그인지도 모르겠지만 크리에이티브 모드로도 공격할 수 없게 만든다.
만약 투명한 갑옷 거치대를 죽여야한다면 명령어로 죽일 수 있다.(투명한 갑옷 거치대를 여러 개 만들어야 한다면 태그를 붙여서 하는것을 추천한다.) 아래 명령어는 가장 가까운 갑옷 거치대를 1명만 죽인다.
명령어:
/kill @e[type=minecraft:armor_stand,sort=nearest,limit=1]
형식:
{Invisible:true}
위의 형식이 아닌 {Invisible:1b}로 하여도 차이는 없다.
24.3. Marker
태그 이름 그대로 마커로 만든다. 갑옷 거치대의 히트박스가 매우 작아지며, 블록을 거치대와 겹치게 설치 가능하다. 단 갑옷 거치대의 이름 설정 시 이름이 거치대의 다리에 표시된다. 갑옷 거치대를 타겟으로 지정할 수 없게 되어 공격하거나 블록이나 갑옷류를 지니게 할 수 없게 되지만 명령어로는 가능하다.
형식:
{Marker:1}
24.4. NoBasePlate
갑옷 거치대의 받침대를 없앤다. 없앤 자리의 빈 공간은 놔두고 그대로 띄워진다.
형식:
{NoBasePlate:1}
24.5. Pose
아머스탠드의 자세를 설정한다.
형식:
{Pose:{Body:[0f,0f,0f],LeftLeg:[0f,0f,0f],RightLeg:[0f,0f,0f],LeftArm:[0f,0f,0f],RightArm:[0f,0f,0f],Head:[0f,0f,0f]}}
24.6. ShowArms
갑옷 거치대의 팔을 만든다.
형식:
{ShowArms:1}
24.7. Small
갑옷 거치대를 작게 만든다. 1일 경우 작게 되고 0일 경우 크게 된다(기본).
형식:
{Small:1}
25. 떨어지는 블록 전용
여기서 떨어지는 블록은 falling_block이다.
25.1. BlockState
떨어지는 블록의 모양을 정하는 명령어이다
구문:
{BlockState:{Name:"minecraft:아이디"
}}25.2. DropItem
떨어지는 블록이 없어졌을때 아이템화 될지 정하는 명령어이다
{DropItem:1 or 0}
25.3. Properties
blockstate 에서 블록의 조건을 정한다.
blockstate 괄호 내에서 적혀야 효과가 있다.
구문:
Properties:{<조건>:"<값>"}
예를 들어 방향을 북쪽으로 정하고싶을때는
Properties:{facing:"north"}
이렇게 하면 된다.
여담으로 이 태그가 사용되는 곳이 하나 더 있는데, 바로 플레이어 머리이다.
플레이어 머리의 텍스쳐를 설정할 수 있다.
25.4. Time
떨어지는 블록이 사라지는 시간을 결정한다. 600이 될 시 사라지며 0.05초에 1당 증가한다.
NoGravity nbt가 없으면 떨어져버린다.
여담으로 값에 -2147483648을 넣으면 이론상 3년을 기다려야 한다는데....
구문:
{Time:값
}25.5. TileEntityData
떨어지는 블록의 내부 데이터를 정한다
구문:
TileEntityData:{조건:값}
조건과 값에는 블록 엔티티 전용에 나와있는 조건과 값을 적으면 된다.(즉 값에 큰따옴표를 붙이면 여기서도 붙여야함)
예를들어 say hello라는 커맨드가 적힌 항상 활성화된 커맨드 블록의 falling_block 를 소환할려면
{TileEntityData:{Command:"say hello",auto:1}}
라는 명령어를 뒤에 붙여주면 된다.
26. 발사체 전용
여기서 발사체는 화살, 던져진 삼지창, 던져진 달걀, 화염구, 작은 화염구, 드래곤 화염구, 위더 해골, 던져진 경험치 병, 던져진 물약 등등 있다.
26.1. xTile, yTile, zTile
엔티티 블록 위치의 XYZ 좌표이다.
26.2. 던질 수 있는 모든 발사체 전용
26.2.1. Owner
구문 :
{Owner:[I; int, int, int, int]}
발사체를 던진 엔티티를 정한다.
UUID로 정할 수 있다
data get @e[limit=1,type=<개체 유형>,sort=nearest] Owner
로 가장 가까이 있는 <개체 유형>의 UUID를 볼 수있다 (~1.13)data get entity @e[limit=1,type=<개체 유형>,sort=nearest] Owner
(1.14~)26.3. 화살, 삼지창 등 전용
26.3.1. crit
1b는 줄 수 있고 0은 줄 수 없다.
26.3.2. damage
양식은 {damage:값d}이다. 소수와 정수를 넣을 수 있다. 기본값은 2이며, 레벨당 0.5가 늘어난다.
26.3.3. inGround
화살, 삼지창, 눈덩이, 물약, 엔더 진주, 경험치 병, 달걀이 블록에 박혀있는지 감지한다
1b = 박혀있다.
0b = 박혀있지 않다.
구문:
{inGround:숫자b}
26.3.4. pickup
0b면 플레이어가 주울 수 없고 1b면플레이어한테 주워질 수 있고, 2b면 오직 크리에이티브 모드인 사람한테만 주워질 수 있다.
26.3.5. player
pickup과 다르게 오직 플레이어한테만 주워질 수 있는가를 정한다. pickup의 하위호환격.
26.3.6. shake
1이면 흔들리고,0이면 흔들리지 않는다.
26.3.7. ShotFromCrossbow
{SetFromCrossbow:값b
}화살이 석궁으로부터 발사되었는지 감지한다.
폭죽에게 이 태그를 부여하면 위가 아닌 방향으로 날릴수 있다.
26.3.8. SoundEvent
블록에 박히거나 몹에게 맞으면 재생되는 사운드를 정한다. 사운드는 /playsound 명령어로 확인한다.
구문:
{SoundEvent:재생할 사운드}
26.4. 던져진 달걀, 화염구 등 전용
26.4.1. Item
던져진 달갈, 눈덩이, 화염구, 작은 화염구, 엔더 진주, 경험치 병의 외형을 고른다.
구문:
{Item:{id:아이템 이름,Count:갯수}}
여기서 태그는 위에 나온 아이템 전용 NBT 태그이다.
26.5. 화염구, 작은 화염구, 드래곤 화염구, 위더 해골 전용
26.5.1. power
화염구나 위더 해골의 날아가는 방향을 정한다. 값은 0.1정도이어야지 자연스럽게 날라간다.
형식:
{power:[0.0,0.0,0.0]}
27. 광역 효과 구름 전용
광역 효과 구름은 area_effect_cloud를 의미한다.
27.1. Duration
27.2. Color
위에 나온 Particle과 같이 쓰인다. 만약 Particle:에 ambient_entity_effec같은 정해지지않은 파티클의 색을 정한다.
폭죽의Colors와 마찬가지로 색을 변환해 쓰면 된다. 오직 ambient_entity_effect같은 파티클에서만 작동한다.
27.3. Effects
id는 상태이상의 id를 적으면된다. Amplifier는 레벨,Duration은 지속시간을 의미한다.
27.4. Particle
27.5. Radius
28. 몹 전용
[1] 이런 경우 원래 그림은 자동으로 뽑힌다.[2]
Passengers:[{id:"creeper",Passengers:[{id:"creeper"}]}]
등으로 올라가 있는 엔티티의 위에도 엔티티를 계속 올릴 수 있다.[3] 그러니 괄호가 없다[4] minecraft:stone 등