개인 자료란 (JE)

  서버 커뮤니티

Profile LAMAGE 대표칭호 없음

ehdgh_Lona 77dbfbdd428b4111bbed3abf4db59d1c

Profile

질문하기 커맨드

JE 1.13 + 커맨드 도와주세요../ 자세한건 설명에..

2020.03.29 조회 수 88 추천 수 0

손에 들고 있는 아이템마다 이벤트가 달라지게 하는 커맨드 명령어를 알려주세요.

ex )
점프맵 중[stone]을 (오른 손)에 들면 왼쪽 길이 열리고 [oak_planks]을 (오른 손)에 들면 오른쪽 길이 열린다.

점프맵을 예시로 들었습니다.
이런식으로 아이템마다 각각의 이벤트를 어떻게 부여하는지
질문을 드립니다.



                                                                                                         |  자세하게 알려주시면, 고맙겠습니다~  |

3개의 댓글

star_pixel
2020.03.29

execute 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
@star_pixel

깜빡하고 왼손에 있을 경우만 말씀 드렸네요..

오른손 즉 방패칸의 경우도 위와 비슷합니다.

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

오른손 왼손으론 알려드릴수 없습니다.

주로 사용하는손과 반댓손으로 알려주셔야 확실히 알수 있어요