LAMAGE
대표칭호 없음
ehdgh_Lona 77dbfbdd428b4111bbed3abf4db59d1c
손에 들고 있는 아이템마다 이벤트가 달라지게 하는 커맨드 명령어를 알려주세요.
ex )
점프맵 중[stone]을 (오른 손)에 들면 왼쪽 길이 열리고 [oak_planks]을 (오른 손)에 들면 오른쪽 길이 열린다.
점프맵을 예시로 들었습니다.
이런식으로 아이템마다 각각의 이벤트를 어떻게 부여하는지
질문을 드립니다.
| 자세하게 알려주시면, 고맙겠습니다~ |
star_pixel
2020.03.29execute if entity 구문을 이용해서 플레이어가 들고 있는 아이템을 감지해서 할 수 있습니다.
ex ) /execute if entity @a[nbt={SelectedItem:{id:"minecraft:stone"}}]
위의 구문을 풀어서 설명하면 '@a( 모든플레이어 ) 인 엔티티'가 '손에 돌을 들고 있다면( SelectedItem:{id:"minecraft:stone"}) 그것을 감지 합니다. 라는 명령어가 됩니다. 여기에서 더 응용하여 특정 아이템 즉 이름(Name) 과 아이템에 적은 설명 (Lore) 을 감지 하고 싶으시다면 그 아이템의 tag를 감지해야 합니다
ex ) execute if entity @a[nbt={SelectedItem:{id:"minecraft:stone",tag:{display:{Name:"{\"text\":\"이것은 돌입니다\"}",Lore:["{\"text\":\"평범한 돌\"}"]}}}}]
위 구문을 풀어서 설명하면 위의 내용과 동일하나 손에 이름이 '이것은 돌입니다' 이며 설명은 '평범한 돌' 이라는 돌을 들고 있으면 감지 합니다. 가 됩니다.
star_pixel
2020.03.29깜빡하고 왼손에 있을 경우만 말씀 드렸네요..
오른손 즉 방패칸의 경우도 위와 비슷합니다.
ex ) execute if entity @a[nbt={Inventory:[{Slot:-106b,id:"minecraft:stone"}]}]
위의 구문을 풀어서 설명하면 -106 칸 (방패 칸 또는 오른손) 에 돌이 있으면 감지한다 라는 구문이 됩니다.
여기에도 tag를 접목 시킬수 있습니다.
ex ) execute if entity @a[nbt={Inventory:[{Slot:-106b,id:"minecraft:stone",tag:{display:{Name:"{\"text\":\"이것은 돌입니다\"}",Lore:["{\"text\":\"평범한 돌\"}"]}}}]}]
위의 구문을 풀어서 설명하면 방패칸에 위의 이름과 설명을 가진 돌이 있을때 감지 한다 라는 구문이 됩니다.
윈초
2020.04.01오른손 왼손으론 알려드릴수 없습니다.
주로 사용하는손과 반댓손으로 알려주셔야 확실히 알수 있어요