어느블럭위에 어떤 아이템이 떨어졌을때, 어떤 블럭위에 어떤 블럭을 설치했을때, 어떤 블럭위에 불을 붙이거나 물 용암 설치했을때 다음 커멘드를 실행하는 커멘드가먼가요
execute if를 쓰시면 됩니다.
execute if 로 시작하는건 아는데 아무리 노력해도 이해가 잘안가서요..
혹시 어떤블럭위에 어떤 아이템이 떨어졌을때 실행되는 예시 커멘드를 적어주실수 있나요??
execute if는 if로 시작하는게 아니라 execute라는 명령어에 부속 명령어중 if를 사용하라는 뜻임다!
어떤 블록은 b라고 칭하고
어떤 아이템을 i라고 칭하겠습니다.
일단 좌표를 정해야합니다. 블록은 개체가 아니기 때문에 좌표를 직접 입력해야합니다.
execute positioned <좌표> if block ~ ~ ~ <b> run say 1
해석 해봅니다.
postioned는 위치를 정해줍니다.
<좌표>를 기준으로..
그 좌표에 b라는 블록이 있다면..
run 뒤에 명령어를 실행한다.
자 그럼 어떤 좌표에 있는 어떤 블록을 감지하는 걸 성공했네요!
자 이제 특정 아이템입니다.
이건 아이템에 nbt태그를 알아야해요!
특정 아이템은 Item:{id:"<i>",Count:nb} (i는 아이템 ID이고, n은 양수, b는 byte를 뜻함.)
item은 Ai가 있는 개체이므로..
execute positioned <좌표> if block ~ ~ ~ <b> if entity @e[type=item,nbt={Item:{id:"i",Count:1b}}] run say 1
그 좌표에 b라는 블록이 있고..
아이템인데 i이고, 갯수가 1개인 개체가 있다면..
run뒤에명령어를 실행한다.
이상입니다.
ex)
execute positioned ~ ~1 ~ if block ~ ~ ~ diamond_block if entity @e[type=item,nbt={Item:{id:"minecraft:diamond_block",Count:1b}}] run say 1
우와.. 진짜 감사합니다!!!
그럼 블럭은 꼭 좌표를 지정해야 하는건가요? 다이아몬드 블럭 위에 아이템을 던져 명령어를 실행한다고 하면 다이아몬드블럭을 제가 원하는곳아무데나 설치하고 그 위에 던지면 실행이 되도록 같은 블럭이면 어디든 되도록이요.
그건 조금 복잡한 알고리즘이 들어갑니다.
왼손들기를 해서 아래에 다이아몬드 블럭 설치
특정 tag가 달린 아머스탠드 설치
특정 tag가 달린 아머스탠드를 기준으로 특정 아이템이 오면 작동되게 실행
제가 설명을 잘못했네요.. 꼭 제가 설치한 블록이 아니더라도 같은 종류의 블럭에만 반응하면 됩니다. 예) 다이아 블럭
아이템을 기준으로 y좌표 -1에 다이아몬드 블록이 있음을 감지하면 됩니다.
혹시 명령어 예시 적어주실수 있나요.. 정말 감사하겠습니다.. 자세하지 않고 명령어 한줄이어도 됩니다
한 줄은 안됩니다. 항상 명령어는 이해하고 넘어가야 똑같은 질문을 하지 않습니다.
아이템이 기준이니 as와 at를 써야 합니다.
execute as @e[type=item,nbt={Item:{id:"b",Count:1b}}] at @s run
이제 그 아이템 밑에 다이아몬드가 있는지 확인해야 합니다.
execute as @e[type=item,nbt={Item:{id:"b",Count:1b}}] at @s if block ~ ~-1 ~ diamond_block run say 1
완벽하게 이해했습니다 감사합니다!!!
건축
팀뉴일리시
2024-11-23
4
KHC
2024-10-25
2
2024-10-10
dbasd12
2024-10-09
레드스톤
노트블럭전문가
2024-10-08
1
yusin12
2023.11.06execute if를 쓰시면 됩니다.
엄준석
2023.11.06execute if 로 시작하는건 아는데 아무리 노력해도 이해가 잘안가서요..
혹시 어떤블럭위에 어떤 아이템이 떨어졌을때 실행되는 예시 커멘드를 적어주실수 있나요??
yusin12
2023.11.06execute if는 if로 시작하는게 아니라 execute라는 명령어에 부속 명령어중 if를 사용하라는 뜻임다!
어떤 블록은 b라고 칭하고
어떤 아이템을 i라고 칭하겠습니다.
일단 좌표를 정해야합니다. 블록은 개체가 아니기 때문에 좌표를 직접 입력해야합니다.
해석 해봅니다.
postioned는 위치를 정해줍니다.
<좌표>를 기준으로..
그 좌표에 b라는 블록이 있다면..
run 뒤에 명령어를 실행한다.
자 그럼 어떤 좌표에 있는 어떤 블록을 감지하는 걸 성공했네요!
자 이제 특정 아이템입니다.
이건 아이템에 nbt태그를 알아야해요!
item은 Ai가 있는 개체이므로..
<좌표>를 기준으로..
그 좌표에 b라는 블록이 있고..
아이템인데 i이고, 갯수가 1개인 개체가 있다면..
run뒤에명령어를 실행한다.
이상입니다.
ex)
엄준석
2023.11.06우와.. 진짜 감사합니다!!!
엄준석
2023.11.06그럼 블럭은 꼭 좌표를 지정해야 하는건가요? 다이아몬드 블럭 위에 아이템을 던져 명령어를 실행한다고 하면 다이아몬드블럭을 제가 원하는곳아무데나 설치하고 그 위에 던지면 실행이 되도록 같은 블럭이면 어디든 되도록이요.
yusin12
2023.11.06그건 조금 복잡한 알고리즘이 들어갑니다.
ex)
왼손들기를 해서 아래에 다이아몬드 블럭 설치
특정 tag가 달린 아머스탠드 설치
특정 tag가 달린 아머스탠드를 기준으로 특정 아이템이 오면 작동되게 실행
엄준석
2023.11.06제가 설명을 잘못했네요.. 꼭 제가 설치한 블록이 아니더라도 같은 종류의 블럭에만 반응하면 됩니다. 예) 다이아 블럭
yusin12
2023.11.06아이템을 기준으로 y좌표 -1에 다이아몬드 블록이 있음을 감지하면 됩니다.
엄준석
2023.11.06혹시 명령어 예시 적어주실수 있나요.. 정말 감사하겠습니다.. 자세하지 않고 명령어 한줄이어도 됩니다
yusin12
2023.11.06한 줄은 안됩니다. 항상 명령어는 이해하고 넘어가야 똑같은 질문을 하지 않습니다.
아이템이 기준이니 as와 at를 써야 합니다.
execute as @e[type=item,nbt={Item:{id:"b",Count:1b}}] at @s run
이제 그 아이템 밑에 다이아몬드가 있는지 확인해야 합니다.
execute as @e[type=item,nbt={Item:{id:"b",Count:1b}}] at @s if block ~ ~-1 ~ diamond_block run say 1
엄준석
2023.11.06완벽하게 이해했습니다 감사합니다!!!