개인 자료란 (JE)

  서버 커뮤니티

Profile elda 대표칭호 없음
Profile

질문하기 커맨드

셋홈 커맨드 구현 도와주세요

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

셋홈 / 홈 명령어를 커맨드로 구현해보고 싶어서 노력중인데 잘 안되네요.

일단 셋홈 명령어까지는 구현을 했고 홈  명령어에서 막히고 있습니다.

이런 글을 처음 써봐서 일단 모든 커맨드를 어떻게 구성했는지 전부 설명을 드릴테니 한번 보시고 해결책 주시면 감사하겠습니다.


[반복] [무조건] [항상]

execute at @a[scores={sethome=1}] run scoreboard players enable @a[scores={sethome=1}] sethome

sethome 이라는 스코어보드를 만들어서 /trigger sethome 을 입력할 시 작동이 되도록 했구요


[연쇄] [조건] [항상]

summon minecraft:armor_stand ~ ~1000 ~ {Invisible:1b,Invulnerable:1b,NoGravity:1b,Small:1b,CustomName: '{"text":"extraNickname"}'}

셋홈 명령어를 사용한 위치에서 1000칸 위에 아머스탠드를 설치를 하는데, 나중에 홈 명령어로 이 아머스탠드를 찾을 때 플레이어 닉네임으로 찾기 위해서 아머스탠드 이름을 플레이어 이름으로 지정하려고 해보았습니다. 그래서 우선 summon 명령어로는 플레이어 닉네임을 가져오는게 불가능한 것 같아서 이름은 임시로 extraNickName 으로 지정을 하였고


[연쇄] [조건] [항상]

setblock ~ ~1 ~ minecraft:oak_sign{Text1:'{"selector":"@a[scores={sethome=1}]"}'} destroy

이제 방금 설치한 아머스탠드의 이름을 플레이어의 이름으로 바꾸어야 하니까 커맨드블록 위에 임의로 표지판을 하나 설치하여서 표지판 내용을 플레이어 닉네임으로 설정하였습니다.


[연쇄] [조건] [항상]

data modify entity @e[type=minecraft:armor_stand, name=extraNickname, limit=1] CustomName set from block 0 302 -6 Text1

그리고 아머스탠드 이름을 표지판 내용으로 변경하는것까지 잘 되었습니다.

( 0 302 -6 은 방금 설치한 표지판의 좌표입니다. )


[연쇄] [조건] [항상]

scoreboard players set @a[scores={sethome=1}] sethome 0


이러면 이제 플레이어가 셋홈을 사용한 위치를 저장하는것까지는 완료가 되었는데,

/trigger home 명령어를 사용해서 자신의 닉네임을 이름으로 가지는 아머스탠드의 위치를 불러오는게 도저히 안됩니다.

도와주시면 감사하겠습니다.

8개의 댓글

코코냐
2022.11.16

저렇게 하면 아마 저 json 값 자체를 가져오게 될겁니다. storage에 플레이어 uuid를 넣고, 그걸 빼는 방식으로 개선해보세요.

elda
2022.11.17
@코코냐

그렇게 하려고 해도 이게 서버에 저만 있는게 아니라 모든 유저가 다 명령어를 사용할 수 있어야하니까 유저별로 데이터를 각각 저장해서 필요할 때 불러와야 하는데 어떻게 해야할지 모르겠습니다

코코냐
2022.11.17
@elda

플레이어 uuid는 유저마다 다릅니다.

elda
2022.11.17
@코코냐

그건 아는데요 그러면 스토리지에서 명령어를 사용한 플레이어의 uuid에 해당하는 데이터를 찾아서 불러와야 하는데 그걸 어떻게해야 할까요?

코코냐
2022.11.17
@elda

보통 바로 UUID로 박혀있는걸로 알고있습니다.

Ba_koD
2022.11.20

sethome쪽은 아머스탠드 name이 잘들어갔다면 문제없어보이는데 home쪽문제 아닐까요? 개별적으로하면 또작동하다가 둘이 합치다가 문제가 생겼다거나

yusin12
2023.02.28

스코어 보드 dummy 를 하나 더 만들어구!

y좌표 1000말구 플레이어 위치에 소환하게 해요!

trigger sethome을 입력하면

dummy도 같이 1점! 올라가게 해요!

 

그 뒤에 소환된 아머스탠드에! 임시로 tag를 붙인 다음에!

tag를 가진 아머스탠드와 dummy의 값을 같게 해요!

tag를 사진 아머스탠드기준으로 가장 가까운 플레이어에게 dummy와 같은 점수를 가지게 해요!

 

그 뒤에 tag를 가진 아머스탠드가 dummy의 점수가 1.. 이상이라면 임시로 줬던 tag를 삭제하게해요!

 

그리구 /trigger home을 치면! 플레이어에 dummy값과 아머스탠드에 dummy같이 같으면 플레이어가 그 아머스탠드로 tp되게 하면 될꺼같아요!!

dogpower
2024.02.15

어짜피 혼자만 하는 맵이 아닌 이상 모드서버면 셋홈 모드를 넣거나, 플러그인이 가능한 버킷 서버(페이퍼, 크래프트 버킷, 폴리아, 스피갓 등등)면 셋 홈 플러그인(보통 에센셜로 많이 씁)을 넣는걸 추천합니다. 마인크래프트 공식 버킷이면 버킷 종류나 버전 바꾸는거 쉬우니까 검색해서 바꿔서 셋홈 플러그인을 넣는걸 추천합니다

뉴스 및 창작물
/files/thumbnails/932/812/003/262x150.crop.jpg?20240614195259

업데이트

마인크래프트 1.21 정식 업데이트

학교가기싫다

2024-06-14

1

/files/thumbnails/308/805/003/262x150.crop.jpg?20240605201646

레드스톤

[노트블럭 커버] 팬서비스/mona 【 HoneyWorks 】

노트블럭전문가

2024-06-05

0

/files/thumbnails/288/791/003/262x150.crop.jpg?20240602150002

아티클

《까다로운 시련》 업데이트 날짜 공개 및 정보

학교가기싫다

2024-06-02

0

/files/thumbnails/841/773/003/262x150.crop.jpg?20240526120908

레드스톤

마인크래프트 노트블록버전 『 봄을 고하다 (春を告げる) 』 [더블옥타브 버전]

노트블럭전문가

2024-05-26

0

/files/thumbnails/712/796/003/262x150.crop.jpg?20240525085438

레드스톤

마인크래프트 노트블록으로 만든 『 봄을 고하다 (春を告げる) 』 1

Sonttukk

2024-05-25

1