개인 자료란 (JE)

  서버 커뮤니티

Profile 122leeje 정품인증자

122leeje 4430fe388e924206b9bb36bf8b7f7456

Profile

질문하기 데이터팩

데이터팩에서 조건부 실행 구현하기, 랜덤 쿨타임으로 몹 소환하기

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

제가 친구랑 같이 rpg맵을 만들려는데 상점을 위해서 데이터팩에서 조건부 커맨드를 구현하는 법, 그리고 던전을 위해서 몹스폰 쿨타임을 만들고 랜덤으로 바꾸는법도 알려주세요







37개의 댓글

yusin12
2023.05.28

데이터팩은 커맨드가 아니기에 조건부를 설정할 수 없슴다!

 

하지만 대부분 조건으로 스코어보드를 많이 사용하심다!

 

몸 쿨타임도 스코어보드!

 

랜덤소환도 스코어보드!

122leeje
2023.05.28
@yusin12

execute positioned ~ ~2 ~ run tellraw @p[dx=0,dy=0,dz=0] ["",{"text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n견구검","color":"red","hoverEvent":{"action":"show_text","contents":["인챈트:\n날카5\n내구성2"]}},{"text":"[희귀]","color":"green"},"\n\n\n\n\n",{"text":"가격:500올","color":"yellow"},"\n",{"text":"[구매하기]","color":"red","clickEvent":{"action":"run_command","value":"/trigger buywsword"}}]

(반복, 무조건적, 항상사용)

 

execute positioned ~-2 ~4 ~ run scoreboard players remove @p[scores={ol=500..},dx=0,y=8,dz=0] ol 500

(반응, 무조건적, 레드스톤 필요(앞에 레드스톤블럭이 놓임))

 

item replace block ~-2 8 ~ container.13 from block ~-2 5 ~ container.13

(연쇄, 조건적)

 

setblock ~-3 ~ ~ air

(연쇄, 무조건적)

 

이 커맨드를 최적화하고, 조건적으로 개조시켜주실수 있나요

 

 

122leeje
2023.05.28
@yusin12

아 그리고 반복하는 데이터팩 함수는 tick.mcfunction 밖에 없나요?

yusin12
2023.05.28
@122leeje

최..적화라고 하기엔 어떡해 만들고 계신지 모르고 이해가 안되는거 때문에 최적화는..망할거 같슴당...

일단 1번 째 커맨드를보니 말이 안됌다! 어떡해 개체가 정해지지 않았는데 @p를 쓸 수 있는지 의문임다!

 

2번째 커맨드에도 마찬 가지로 개체를 정하지 않았는데 @p를 쓰셨슴다!

 

--------------------------------------------------------------------------------------------------

일단 그래도 function을 플레이어가 사용했다고 치고! 하자면!

tick.mcfunction이나 function안에 function을 하는 방법으로 반복을 해준다음에..

 

1번째 커맨드

execute positioned ~ ~2 ~ run tellraw @p[dx=0,dy=0,dz=0] ["",{"text":"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n견구검","color":"red","hoverEvent":{"action":"show_text","contents":["인챈트:\n날카5\n내구성2"]}},{"text":"[희귀]","color":"green"},"\n\n\n\n\n",{"text":"가격:500올","color":"yellow"},"\n",{"text":"[구매하기]","color":"red","clickEvent":{"action":"run_command","value":"/trigger buywsword"}}]

 

2번째 커맨드

execute positioned ~-2 ~4 ~ run scoreboard players remove @p[scores={ol=500..},dx=0,y=8,dz=0] ol 500

 

3번째 커맨드(2번이 사는거구, 3번이 구매한 아이템으로 봐꾸는 거라고 해석)

execute positioned ~-2 ~4 ~ run item replace block ~-2 8 ~ container.13 from block ~-2 5 ~ container.13

 

4번째 커맨드

setblock ~-3 ~ ~ air

 

뭐 대충 이렇게..되는거 같슴다!

@yusin12

저도 이걸 함 개선해볼랬는데 왜 안될까요 이건 


yusin12
2023.05.28
@122leeje

1점이 아니라서 아닐까..요?

122leeje
2023.05.28
@yusin12

트리거 set 1으로까지 해봤습니다..

yusin12
2023.05.28
@122leeje

/scoreboard objectives setdisplay sidebar buyproto

 

으로 1이 맞는지 확인하는게 어떠심까?!

yusin12
2023.05.28
@yusin12

그래도 되지 않는다면

상민#3372으로 친추 주심셔!

122leeje
2023.05.28
@yusin12

확인하면서 했죠...

 

yusin12
2023.05.28
@122leeje

복사해서 명령어에 쳐보는건 어떠심까?

122leeje
2023.05.28
@yusin12

안되더라고요

yusin12
2023.05.28
@122leeje

커맨드 배치도 좀 보여주실 수 있으심까?

122leeje
2023.05.28
@yusin12

그냥 인식하기엔 값이 사라지는 시간이 너무 짧아서 그랬네요ㅋㅋㅋ

122leeje
2023.05.28
@yusin12

근데 문제는 이게 쿨타임을 달면 고장난다는건데...

yusin12
2023.05.28
@122leeje

음.. 제가 작성자분께서 만드신 커맨드들을 다 아는게 아니니 답변드리기 어려울 듯 합니당

yusin12
2023.05.28
@yusin12

만약 구현하고 싶으신것을 댓글로 달아드린다면 만드어보겟슴당!

122leeje
2023.05.28
@yusin12

아 왜이런지 알겠네요

해보고오겠습니다

 

122leeje
2023.05.28
@yusin12

고쳤어요!

@yusin12

상점 완성했습니다 조언덕분에 도움이 되었습니다 감사합니다

(이제부터 찐 지옥의 시작이다)

쩄든 어케완성했는지 보여드리겠습니다


yusin12
2023.05.28
@122leeje

꾸벅))꾸벅))

@yusin12

이거 굳이 스코어보드 일일이 추가하지 않고 할방법이 없나 해서 카운트다운 모아놓는 스코어보드 만들고 거따 트리거 초기화 쿨타임을 넣기로 헀는데 왜안될까요

yusin12
2023.05.28
@122leeje

if 말고 @a[scores={을 쓰시는게 어떠신지..

122leeje
2023.05.29
@yusin12

카운트다운을 모아놓은 스코어보드에 pcd라는 항목이 0이 되면 트리거를 초기화하도록 만든겁니다 진짜 이거 상점 항목마다 카운트다운 만들어야 하나요

yusin12
2023.05.29
@122leeje

솔직히 카운트 다운을 만드시는 이유는 이해하지 못하겠슴다! 하지만

누른 사람의 점수룰 2 올리고 빼시면 상점마다 카운트 안해도 되지 안겠슴까??

122leeje
2023.05.29
@yusin12

몇이던 간에 너무 빨리 값이 사라지면 인식이 안되는거 같아요

122leeje
2023.05.29
@yusin12

데이터팩에 또다른 반복 함수는 없나요 직접 호출해야 하나요

yusin12
2023.05.29
@122leeje

명령어 중이 schedule이라는 명령어가 있습니다..!!

 

몇분 몇초 몇틱 뒤에 function을 이용할 껀지 설정하는 명령어임당

122leeje
2023.05.29
@yusin12

저게 그거였군요 그건 그렇고 여태 잘 짜놓고 폴더명 바꾼거 반영안해놔서 이게 실행이 안되던거였네요ㅋㅋㅋㅋㅋㅋㅋㅋㅋ

122leeje
2023.05.29
@yusin12

근데 쓰는법을 몰겠습니다

 

뉴스 및 창작물
/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 4

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1

/files/thumbnails/348/896/003/262x150.crop.jpg?20241006103035

디도스/봇테러등등을 낚는 방법 4

물귀신

2024-10-06

3