개인 자료란 (JE)

  서버 커뮤니티

Profile lakunlakun 대표칭호 없음
Profile

질문하기 커맨드

커맨드 질문있어요!

2021.04.18 조회 수 134 추천 수 0

플레이어가 죽었을때 랜덤좌표에서 스폰되는 커맨드를 알고싶습니다!

그리고 플레이어가 플레이어위에 올라타는 방법도 알고싶습ㄴ디ㅏ!

또 플레이어가 고양이나 엔더맨 같은 탈수없는 엔티티에게 타는 방법도 알고싶습니다!

그리고 execute as @e[type=minecraft:snowball,scores={snow=12}] run data merge entity @s {Item:{id:glass,Count:1b}}
여기서 glass가 아니라 플레이어 머리로 바꿔서적용하는 방법도 알고싶습니다!
player_head{SkullOwner:닉네임} 하니깐 안되더라구요! 아시는 분들은 알려주세요!




13개의 댓글

허두
2021.04.19

1. death 스코어보드를 만들고, 해당 스코어보드가 1 이상으로 올라갔을 때 랜덤 값을 3개 구하여 해당 좌표에 아머스탠드를 이동시키고 (Pos NBT값 변경) 플레이어를 아머스탠드에 이동 후 아머스탠드 파괴, 스코어 0으로 초기화

2/3. 커맨드로는 엔티티 위에 타는 것이 불가능합니다. 간접적으로 탈 수 있게 만드는 방법도 해당 몹 위에 Passengers NBT를 이용하여 투명한 몹을 태워 그 몹 위에 올라타는 수밖에 없습니다.

4. {Item:{id:"minecraft:player_head",Count:1b,tag:{SkullOwner:닉네임}}}과 같이 쓰시면 될거에요. 혹시 여기에서 자기 자신의 머리를 원하신다면 데이터팩과 호환하여 사용할 수 있답니다.

lakunlakun
2021.04.20
@허두

1. 랜덤 값을 3개 구하는 것부터 자세하게 알려주실수있나요..?

허두
2021.04.21
@lakunlakun

초기 설정:

/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

혹시 뭐라고 적으셨는지 써주실 수 있으실까요?

lakunlakun
2021.04.21
@허두

최대,최소에 그대로 좌표를 적었습니다..

허두
2021.04.21
@lakunlakun

아, 혹시 x,y,z를 따로 하시고 싶으신건가요?

그러면 명령어 자체를 분리해야겠네요.

위의 커맨드 가지고 응용 가능하실까요? 아니면 고쳐서 다시 써드릴까요?

lakunlakun
2021.04.21
@허두

고쳐서 써주시면 감사드리겠습니다..ㅠㅠ

그리고 괜찮으시다면 저 스코어보드를 어떻게 사용하고랜덤좌표를

어떻게 구하는지 이해하기 쉽게 알려주시면 감사드리겠습니다ㅠㅠ

허두
2021.04.21
@lakunlakun

ㅇ어어... 죄송합니다ㅠ 쉬운 길을 빙글빙글 돌아가고 있었네요ㅜㅜ 아주 좋은 명령어가 있었는데...

 

초기 설정: /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
@lakunlakun

테스트 결과 잘 되는데요?

 

아래 초기설정 둘다 하셨는지 한번 확인해보세요

/scoreboard objectives add death deathCount

/gamerule doImmediateRespawn true

그리고 반복으로 계속 돌리고 계셨던거 맞으셨나요?

 

아, 그리고 점수 초기화를 안해줬네요ㅠ

spreadplayers 명령어와 tag 명령어 사이에 아래 명령어 넣어주세요!

scoreboard players reset @a[tag=death] death

lakunlakun
2021.04.24
@허두

scoreboard players reset @a[tag=death] death 붙이고나서 부터 잘되네요!!

붙이기 전에는 이상한데로 계속 이동되고.. 감사합니다!!

허두
2021.04.24
@lakunlakun

아하... 초기화 명령어 안알려드린 제 잘못이었군요ㅠ 죄송합니다

해결되셨다니 다행입니다! :)

뉴스 및 창작물
/files/thumbnails/308/815/003/262x150.crop.jpg?20240617084353

레드스톤

[피아노커버] 디스코드 - QWER

노트블럭전문가

2024-06-17

0

/files/thumbnails/932/812/003/262x150.crop.jpg?20240616121638

업데이트

마인크래프트 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