개인 자료란 (JE)

  서버 커뮤니티

Profile 엄준석 대표칭호 없음
Profile

질문하기 커맨드

커멘드 질문이요!!!!

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

어느블럭위에 어떤 아이템이 떨어졌을때, 어떤 블럭위에 어떤 블럭을 설치했을때, 어떤 블럭위에 불을 붙이거나 물 용암 설치했을때 다음 커멘드를 실행하는 커멘드가먼가요

11개의 댓글

yusin12
2023.11.06

execute if를 쓰시면 됩니다.

엄준석
2023.11.06
@yusin12

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


엄준석
2023.11.06
@yusin12

우와.. 진짜 감사합니다!!!

엄준석
2023.11.06
@yusin12

그럼 블럭은 꼭 좌표를 지정해야 하는건가요? 다이아몬드 블럭 위에 아이템을 던져 명령어를 실행한다고 하면 다이아몬드블럭을 제가 원하는곳아무데나 설치하고 그 위에 던지면 실행이 되도록 같은 블럭이면 어디든 되도록이요.

yusin12
2023.11.06
@엄준석

그건 조금 복잡한 알고리즘이 들어갑니다.

 

ex)

왼손들기를 해서 아래에 다이아몬드 블럭 설치

특정 tag가 달린 아머스탠드 설치

특정 tag가 달린 아머스탠드를 기준으로 특정 아이템이 오면 작동되게 실행

엄준석
2023.11.06
@yusin12

제가 설명을 잘못했네요.. 꼭 제가 설치한 블록이 아니더라도 같은 종류의 블럭에만 반응하면 됩니다. 예) 다이아 블럭

yusin12
2023.11.06
@엄준석

아이템을 기준으로 y좌표 -1에 다이아몬드 블록이 있음을 감지하면 됩니다.

엄준석
2023.11.06
@yusin12

혹시 명령어 예시 적어주실수 있나요.. 정말 감사하겠습니다.. 자세하지 않고 명령어 한줄이어도 됩니다

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
@yusin12

완벽하게 이해했습니다 감사합니다!!!