개인 자료란 (JE)

  서버 커뮤니티

Profile 귀신이고칼로리 대표칭호 없음
Profile

질문하기 커맨드

명령어 질문입니다!!!

2024.06.19 조회 수 99 추천 수 0
이해도 초보자 
게임버전 (JE) 관련없음 
게임버전 (BE) 관련없음 

1.20.4버전에서는 아이템을 들면 포션 효과 주는 명령어가 잘 작동 했는데


execute as @e at @s if entity @s[nbt={SelectedItem:{id:"minecraft:stick",Count:1b, tag:{Enchantments:[{id:"minecraft:sharpness",lvl:5}]}}}] run effect give @s minecraft:speed 1 2 true


1.20.5버전 부터는 명령어가 빨간색으로 표시돼서 알아보니 명령어가 교체됐다고 해서 명령어를 수정 했는데도 아이템이 인식?이 안됩니다


execute as @e at @s if entity @s[nbt={SelectedItem:{id:"minecraft:stick", Count:1, components:{"minecraft:enchantments":{levels:{"minecraft:sharpness":5}}}}}] run effect give @s minecraft:speed 1 2 true


components:{} 부분 전체를 지우고 그냥 막대기를 들었을때는 잘 작동되는데 components부분을 입력하면 인식이 안됩니다 ㅠㅠ

아 참고로 아이템은 이렇게 꺼냈습니다

give @p minecraft:stick[minecraft:enchantments={levels:{"minecraft:sharpness":5}}] 1


명령어는 빨간색으로 안 뜨는데 뭐가 잘못됐는지 모르겠습니다 도와주세요ㅠㅠㅠㅠ

14개의 댓글

Sidite
2024.06.19

nbt로 감지하는것 보다 if items으로 감지하세요. 더 단순하고 쉽고 성능이 더 좋습니다.

 

@Sidite

if items 명령어가 어떻게 되나요??? 그리고 제가 한 명령어는 잘못된 부분이 있나요??

Sidite
2024.06.19
@귀신이고칼로리

if items entity @s weapon.mainhand minecraft:stick[minecraft:enchantments={levels:{"minecraft:sharpness":5}}] run effect give @s minecraft:speed 1 2 true

@Sidite

items entity 명령어는 처음 보는데 덕분에 해결했습니다 감사합니다 !!ㅎㅎ

정말 커맨드를 만지면서 너무 나중에 안 명령어라 왜 찾아볼 생각을 안 했을까 슬펐던 명령어가 있습니다.

 

바로 커스텀 태그

 

이거 사용하시면 그냥 아이템 감지는 일도 아닙니다

 

[nbt={SelectedItem:{id:"minecraft:stick",count:1,components:{"minecraft:custom_data":{test:1}}}}]

이런 형식으로 사용하고

커스텀 데이터가 test:1 인 막대기를 감지한다 입니다.

 

커스텀 데이터가 있는 무기를 주는 명령어는

 

give @s stick[custom_data={test:1}] 1

이렇게 정말 말도 안되게 간단합니다

@안녕하세요ㅜㅜ

오 감사합니다!! 커스텀 데이터를 넣으니까 감지가 되네요 근데 이해가 안가는건 제가 입력한 명령어도 잘못된게 없어 보이는데 왜 감지가 않될까요??

@귀신이고칼로리

[nbt={SelectedItem:{id:"minecraft:stick", Count:1, components:{"minecraft:enchantments":{levels:{"minecraft:sharpness":5}}}}}]

 

작성자님이 작성하신 nbt입니다

 

Count 를 대문자를 소문자로 바꿔주시면 됩니다.

 

Count:1 x

count:1 o

@안녕하세요ㅜㅜ

한가지 더 물어볼게 있는데요 count로 수정하니까 인식이 되는데 인챈트 뒤에 custom_name이랑 lore를 넣으니까 또 인식이 안되네요

 

execute as @e at @s if entity @s[nbt={SelectedItem:{id:"minecraft:stick", count:1, components:{"minecraft:enchantments":{levels:{"minecraft:sharpness":5,}}, "minecraft:custom_name":'{"text":"[ 1 ]","italic":false,"color":"light_purple"}', "minecraft:lore":['{"text":"1","italic":false,"color":"gold"}']}}}] run effect give @s minecraft:speed 1 2 true

 

아이템은 이렇게 꺼냈어요

 

give @p stick[minecraft:enchantments={levels:{"minecraft:sharpness":5,}}, minecraft:custom_name='{"text":"[ 1 ]","italic":false,"color":"light_purple"}', minecraft:lore=['{"text":"1","italic":false,"color":"gold"}']] 1

 

복잡하지만 한번만 더 부탁드리겠습니다!!!

@귀신이고칼로리

근데.. 왜 인식을 이렇게 하시나요? 이유가 따로 없다면 그냥

[nbt={SelectedItem:{id:"minecraft:stick",count:1,components:{"minecraft:custom_data":{test:1}}}}]

이 문단 하나로 인식이 가능한데

이렇게 복잡하고 길게 쓰시는 이유가 따로 있나요?

@안녕하세요ㅜㅜ

아이템을 버리면 인벤에 즉시 들어오게 하려고 {PickupDelay:0s} 사용했는데 custom_data를 사용하면 인식이 안되더라고요ㅠㅠ

@귀신이고칼로리

인식이 잘 될겁니다.. 아마 오류가 있었을 것 같은데 어디서 막혔을까요??

 

또 그런 기능은 지정 아이템을 계속 죽이고 아이템이 없는 플레이어를 감지해서 주는 방법도 있지않을까요?

@안녕하세요ㅜㅜ

아 다시 해보니까 작동이 잘 되네요!! 아까는 오타가 난 것 같습니다 ㅎㅎ 덕분에 앞으로 커맨드 쉽게 할 수 있게 됐습니다 정말 감사드려요 ㅎㅎ

@안녕하세요ㅜㅜ

근데 "minecraft:custom_data":{test:1}에서 test는 뭘 뜻하는 명령어인가요?? test를 지우니까 명령어가 빨간색으로 변하던데

@귀신이고칼로리

형식입니다

?:?

이런식으로 아무렇게나 작성하시면 됩니다.

 

중간에 : 는 필수