lakunlakun
대표칭호 없음
플레이어가 죽었을때 랜덤좌표에서 스폰되는 커맨드를 알고싶습니다!
그리고 플레이어가 플레이어위에 올라타는 방법도 알고싶습ㄴ디ㅏ!
또 플레이어가 고양이나 엔더맨 같은 탈수없는 엔티티에게 타는 방법도 알고싶습니다!
그리고 execute as @e[type=minecraft:snowball,scores={snow=12}] run data merge entity @s {Item:{id:glass,Count:1b}}
여기서 glass가 아니라 플레이어 머리로 바꿔서적용하는 방법도 알고싶습니다!
player_head{SkullOwner:닉네임} 하니깐 안되더라구요! 아시는 분들은 알려주세요!
허두
2021.04.191. death 스코어보드를 만들고, 해당 스코어보드가 1 이상으로 올라갔을 때 랜덤 값을 3개 구하여 해당 좌표에 아머스탠드를 이동시키고 (Pos NBT값 변경) 플레이어를 아머스탠드에 이동 후 아머스탠드 파괴, 스코어 0으로 초기화
2/3. 커맨드로는 엔티티 위에 타는 것이 불가능합니다. 간접적으로 탈 수 있게 만드는 방법도 해당 몹 위에 Passengers NBT를 이용하여 투명한 몹을 태워 그 몹 위에 올라타는 수밖에 없습니다.
4. {Item:{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:닉네임}}}과 같이 쓰시면 될거에요. 혹시 여기에서 자기 자신의 머리를 원하신다면 데이터팩과 호환하여 사용할 수 있답니다.
lakunlakun
2021.04.201. 랜덤 값을 3개 구하는 것부터 자세하게 알려주실수있나요..?
허두
2021.04.21초기 설정:
/scoreboard objectives add ezc_random dummy
/scoreboard players set -1 ezc_random -1
/scoreboard players set from ezc_random [최대 좌표값]
/scoreboard players set to ezc_random [최소 좌표값]
/gamerule doImmediateRespawn true
execute as @a if score @s death matches 1.. run tag @s add death
(이후 연쇄형)
랜덤 준비
summon minecraft:area_effect_cloud ~ ~ ~ {Duration:100,WaitTime:100,Age:1,Tags:["ezc_random"]}
summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,Invulnerable:1b,Marker:1b,Tags:["random_as"]}
x 랜덤 구하기
execute store result score num ezc_random run data get entity @e[type=minecraft:area_effect_cloud,tag=ezc_random,limit=1] UUID[0]
execute if score num ezc_random matches ..0 run scoreboard players operation num ezc_random *= -1 ezc_random
scoreboard players operation num ezc_random %= to ezc_random
scoreboard players operation num ezc_random += from ezc_random
scoreboard players add num ezc_random 1
execute store result entity @e[type=armor_stand,tag=random_as,limit=1] Pos[0] float 1 run scoreboard players get num ezc_random
y 랜덤 구하기
execute store result score num ezc_random run data get entity @e[type=minecraft:area_effect_cloud,tag=ezc_random,limit=1] UUID[1]
execute if score num ezc_random matches ..0 run scoreboard players operation num ezc_random *= -1 ezc_random
scoreboard players operation num ezc_random %= to ezc_random
scoreboard players operation num ezc_random += from ezc_random
scoreboard players add num ezc_random 1
execute store result entity @e[type=armor_stand,tag=random_as,limit=1] Pos[1] float 1 run scoreboard players get num ezc_random
z 랜덤 구하기
execute store result score num ezc_random run data get entity @e[type=minecraft:area_effect_cloud,tag=ezc_random,limit=1] UUID[2]
execute if score num ezc_random matches ..0 run scoreboard players operation num ezc_random *= -1 ezc_random
scoreboard players operation num ezc_random %= to ezc_random
scoreboard players operation num ezc_random += from ezc_random
scoreboard players add num ezc_random 1
execute store result entity @e[type=armor_stand,tag=random_as,limit=1] Pos[2] float 1 run scoreboard players get num ezc_random
랜덤 정리
kill @e[type=minecraft:area_effect_cloud,tag=ezc_random]
tp @a[tag=death] @[type=minecraft:armor_stand,tag=random_as,limit=1]
kill @e[type=minecraft:armor_stand,tag=random_as,limit=1]
lakunlakun
2021.04.21와! 감사합니다! 그런데.. 최대최소 좌표값 스코어보드에서 문제가 생겼습니다..
최대좌표 최소좌표적는 곳이 빨간색으로 뜹니다..
허두
2021.04.21혹시 뭐라고 적으셨는지 써주실 수 있으실까요?
lakunlakun
2021.04.21최대,최소에 그대로 좌표를 적었습니다..
허두
2021.04.21아, 혹시 x,y,z를 따로 하시고 싶으신건가요?
그러면 명령어 자체를 분리해야겠네요.
위의 커맨드 가지고 응용 가능하실까요? 아니면 고쳐서 다시 써드릴까요?
lakunlakun
2021.04.21고쳐서 써주시면 감사드리겠습니다..ㅠㅠ
그리고 괜찮으시다면 저 스코어보드를 어떻게 사용하고랜덤좌표를
어떻게 구하는지 이해하기 쉽게 알려주시면 감사드리겠습니다ㅠㅠ
허두
2021.04.21ㅇ어어... 죄송합니다ㅠ 쉬운 길을 빙글빙글 돌아가고 있었네요ㅜㅜ 아주 좋은 명령어가 있었는데...
초기 설정: /gamerule doImmediateRespawn true
execute as @a if score @s death matches 1.. run tag @s add death
spreadplayers 0 0 10 100 false @a[tag=death]
tag @a[tag=death] remove death
이렇게 3개 반복으로 돌려주시면 됩니다.
0 0 부분은 플레이어를 흩뿌릴 범위의 중심입니다. (x,z좌표)
10 부분은 0.05초 안에 죽은 플레이어가 둘 이상일 때 플레이어간의 거리이고
100 부분은 중심으로부터의 반지름을 적어주시면 됩니다. 해당 거리까지가 범위가 됩니다.
기본적으로 /spreadplayers는 해당 좌표에서 가장 높이 있는 블록으로 플레이어를 이동시킵니다.
lakunlakun
2021.04.24안되네용..ㅠㅠ
허두
2021.04.24테스트 결과 잘 되는데요?
아래 초기설정 둘다 하셨는지 한번 확인해보세요
/scoreboard objectives add death deathCount
/gamerule doImmediateRespawn true
그리고 반복으로 계속 돌리고 계셨던거 맞으셨나요?
아, 그리고 점수 초기화를 안해줬네요ㅠ
spreadplayers 명령어와 tag 명령어 사이에 아래 명령어 넣어주세요!
scoreboard players reset @a[tag=death] death
lakunlakun
2021.04.24scoreboard players reset @a[tag=death] death 붙이고나서 부터 잘되네요!!
붙이기 전에는 이상한데로 계속 이동되고.. 감사합니다!!
허두
2021.04.24아하... 초기화 명령어 안알려드린 제 잘못이었군요ㅠ 죄송합니다
해결되셨다니 다행입니다! :)