yusin_YT 1e0511f92377434a9f27b5724c29fbe3
게임버전 | 1.19.x |
---|
크아아아~~
오늘은 자신의 좌표를 알아볼꺼에요!
0. 어떡해 좌표를 아나요?
/data get entity @s
을 실행시켜 자신의 data태그들을 쭉 보시면! Pos라고 있어요!
이제 다시
/data get entity @s Pos
을 실행시키면 3개의 숫자가 나오는데!
1번째 = x좌표
2번째 = y좌표
3번째 = z좌표
에요!
1. title actionbar
execute as @a at @s run title @a actionbar [{"text":"x : "},{"entity":"@s","nbt":"Pos[0]"},{"text":" | y : "},{"entity":"@s","nbt":"Pos[1]"},{"text":" | z : "},{"entity":"@s","nbt":"Pos[2]"}]
을 쳐서 Pos값을 불러 올 수 있지만.. 문제는!
이런..~~ 세상에!! ㅅ..소수점이!!!
2. 해결 법
이 Pos값을 스코어보드에 저장하면 스코어보드는 소수점이라는 개념이 없기 때문에 자동적으로 없어집니다!
즉!
/scoreboard objectives add pos_x dummy
/scoreboard objectives add pos_y dummy
/scoreboard objectives add pos_z dummy
이렇게 x y z좌표를 저장한 스코어보드를 만든 다음에!
execute as @a at @s store result score @s pos_x run data get entity @s Pos[0]
만약 모든 플레이어가 있다면.. 그 플레이어 기준으로..
자기자신의 스코어보드pos_x의 값에 자기자신의 Pos[0]의 결과를 저장한다.
store | 저장한다. |
result | 결과를 |
Pos[0] | Pos라는 data태그에서 1번째 값만 불러옴 |
이걸 y z에도 해주는 거에요!
이렇게요!
execute as @a at @s store result score @s pos_y run data get entity @s Pos[1] execute as @a at @s store result score @s pos_z run data get entity @s Pos[2]
후! 이러면 자기자신의 x y z의 값을 저장했어요! 이제 title @a actionbar로 출력하면 되겠네요!
3. 출력
다들 저번 강의에서 설명한 title기억 나시져? tellraw와 쓰는 방법이 거의 동일한!
execute as @a at @s run title @a actionbar [{"text":"x : "},{"score":{"objective":"pos_x","name":"@s"}},{"text":" | y : "},{"score":{"objective":"pos_y","name":"@s"}},{"text":" | z : "},{"score":{"objective":"pos_z","name":"@s"}}]
이렇게 쓰면 되겠네요!
다들 스코어보드를 출력하는 방법 잊지 않았죠? ㅠㅠ
기본형이 [{"score":{"objective":"스코어보드 이름","name":"점수를 가져올 엔티티"}}]
잊지 마세요!
마무리이~
다음에는... 어이쿠.. 저번에 올렸던 상점 구현이 오류가 많아서 다시 올려야겠어요!
질문은 댓글도 좋구
디스코드도 좋구 상민#3372
쪽지도 좋아요!
커맨더도라
2024.09.02혹시 플레이어 자신 말고 블럭을 설치했을 때 그 블럭의 좌표를 저장할 수 있나요?
yusin12
2024.09.02레이캐스팅이라는 것을 사용해볼 수 있습니다.
물론 정확하지는 않습니다.