강좌 자바 에디션(JE) 커맨드 응용
리미트의 한계까지 달려보는 명령어 강좌 응용편 - 점프맵에서 필수! 닿으면 TP 되는 블럭 만들기! (앞으론 리미트의 한계.... 이거 생략할게요 귀찮아서)
게임버전 | 모든버전 |
---|
리미트의 한계까지 달려보는 커맨드 강좌
닿으면 TP 되는 블럭 만들기
안녕하세요! 리미트입니다!
와우! 첫번째 응용 강좌군요! 바로 시작해 보도록 하죠
이번 강좌는 점프맵에서 필수적이라고 할 수 있는 죽는 땅바닥 같은걸 만드는 방법을 알려드리겠습니다.
우선... 점프맵을 만들어야겠죠?
(난이도 상 파쿠르)
흠... 점프맵이 완성 되었네요! 커맨드를 잘 모르시는 분들은 아마 이렇게 했을 겁니다.
이렇게요 이건 spawnpoint 명령어만 알아도 사용 가능 합니다.
이렇게 스폰 포인트를 지정해 두고...(여기선 바닥이 용암이 아니네 ;;)
떨어져서 죽으면 처음 위치로 돌아가는 거죠
하지만 이 방식은 문제가 조금 있습니다.
1. 바로 죽지않는다.
이 방법은 죽는데 조금 시간이 걸립니다. 그래서 점프맵에 큰 영향은 아니더라도 조금 영향을 줄 순 있겠죠
2. 용암소리...
점프맵에 집중해 있을때 용암소린 상당한 방해가 될 수 있습니다.
3. 심리적 부담감
용암에 떨어지면 죽는다는 것을 이미 마크 유저는 야생으로 체험 해봤기 때문에
용암이 바닥에 깔려 있다면 점프맵을 할 때 상당한 부담이 될 수 있습니다.
어... 억지인것 같지만 단점이 있어요!
그래서 전 깔끔하게 이렇게 바꾸겠습니다!
(챠란~)
이렇게요 바닥이 빨간색이니 깔끔하죠 하하
근데 이렇게 해두면 어떻게 처음 위치로 돌려보낼까요?
저는 execute를 이용하겠습니다.
반복형 커맨드 블럭에
execute as @a at @s if block ~ ~-1 ~ minecraft:red_concrete[이 블럭이 아니여도 됩니다!] run tp @s x y z
이렇게 입력해 주세요
저 명령어의 뜻은
execute as @a (모든 플레이어를 대상으로) at @s (대상의 위치에서)
if block ~ ~-1 ~ minecraft:red_concrete (만약 한칸 아래에 빨간색 콘크리트가 있다면)
run tp @s x y z (대상을 x y z 좌표로 이동시킨다.) 입니다!
그럼 어떻게 되느냐... 하면 저 빨간 블럭에 닿는 순간 처음 위치로 되돌아가게 될 겁니다 (처음 위치가 아니더라도 x y z 위치에요)
(이건 사진으로 찍어서 보여드리기 힘드네요 ;; )
근데 이렇게 하면 의문점이 하나 있을 수도 있습니다. spawnpoint를 설정해 두지 않았다면 낙사로 죽었을때 이상한 곳으로 갈 수도 있게 되는 것이지요.
그래서 뒤에 조건적 연쇄형 커맨드 블럭으로
이렇게 입력해 주세요 (설마 이 정도 기초 명령어의 뜻풀이를 바라진 않겠죠?)
(스코어 보드를 이용해서 떨어진 플레이어 한테만 치료 하도록 할 수도 있는데 원하시면 댓글로 남겨주세요)
그럼 떨어졌을때 치료가 되면서 죽지 않게 됩니다.
근데 실제로 해보면 몇칸 정도 깎입니다 체력이
그 이유는 약간 이런데요. 사실 TP 되는 순간은 땅에 닿기 전입니다. 그렇게 때문에 시작지점으로 되돌아 왔을때 낙하데미지를 받는 것이지요. 그래서 커맨드를 조금 나중에 작동되도록 할 수도 있는데...............
(귀찮네여 원하시면 해드릴게요)
어..... 어쨌든 완성은 했으니까! 하핫 근데 이 커맨드를 저 혼자서 해봐서 멀티플레이 에선 잘 작동 하지 않을 수 있습니다.
(그럼 제보 해주세요! 제가 수정해볼게요!)
어.. 이렇게 첫 응용강좌를 해봤는데.. 이번강좌는 분량이 좀 적군요!
하지만 유용하게 이 커맨드를 쓰시면 좋을 것 같습니다. (커맨드를 잘 모르시면 EZcommad의 리미트 기초강좌로 오세요!)
그럼 안녕!!!!!!!!!
아이스틴
2020.05.13땅에 닿았을 때 티피되게 하거나 게임룰로 낙하데미지를 끄면 더 완벽하겠네욘
나라사
2020.05.14아이스틴 말대로 낙하데미지를 게임룰로 꺼줘도 되겠지만
첫번째 반복커맨드블럭에
execute as @a at @s if block ~ ~-0.001 ~ minecraft:gravel run effect give @s minecraft:instant_health 1 20 true
그 다음에 연쇄형으로
execute as @a at @s if block ~ ~-0.001 ~ minecraft:gravel run tp @s 좌표
이걸 걸어주면 보면 아시다시피 블럭을 밟은다음에 힐을먼저 시켜준 후에 티피를 해줍니다
~-0.001로 하는 이유는 -1는 리미트님이 겪어보신것처럼 바닥에 닿기 전에 티피를 시켜줍니다
~0.-001로 인해 바닥에 완전히 닿은 후에 힐을 시켜주고 닿은사람을 티피시켜주는게 아마 효율적일것같네요
리미트
2020.05.14전 커맨드에 소수점 넣는걸 별로 안좋아해서요 ㅎㅎㅎㅎ
소수점을 넣다보면 쓸데없이 커맨드가 길어지는 것 같아서 보통 그냥 정수로 합니다. (사실 소수점 빼려다 더 커맨드가 길어지기도...)
(스코어보드 fp 를 더미로 만들어 두고)
execute as @a at @s if block ~ ~-1 ~ minecraft:gravel run scoreboard players @s set fp 1
effect give @a[score={fp=1}] minecraft:jump_boost 1 255 true
tp @a[score={fb=1}] x y z
scoreboard players @a[score={fb=1}] set fb 0
이렇게 해줘도 나쁘지 않을 것 같네요 (더 길어졌네요 ㅜ)
나라사
2020.05.14ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ소수점을 안넣을려다가 더 길어졌군요 ㅠ
리미트
2020.05.15ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 그러게요 ㅋㅋㅋㅋ
윈초
2020.05.18스코어보드보단 태그가 더 짧지 않을까요..?
리미트
2020.05.18그런 방법도 있겠네요! (근데 전 스코어보드에 이미 익숙해진 터라 ㅎ)
윈초
2020.05.18...그렇구만요!
mchang
2020.05.18오 감사합니당.
리미트
2020.05.18넵! 다음 강좌도 기대 해 주세요!
mchang
2020.05.18감사합니닿ㅎ
HMPJS
2020.05.30조금후에 회복이 되는거는 레드스톤 중계기와 리피터의 하트로...?
리미트
2020.05.30그런 방법도 있겠네요!