본문 바로가기

커맨드

홀로라이브 대운동회 2021 무궁화 꽃이 피었습니다 제작

 

 

시작하기 전 필요한 점수와 커맨드 목록입니다.

scoreboard objectives add A_Pos0 dummy
scoreboard objectives add A_Pos1 dummy
scoreboard objectives add A_Pos2 dummy

scoreboard objectives add B_Pos0 dummy
scoreboard objectives add B_Pos1 dummy
scoreboard objectives add B_Pos2 dummy

scoreboard objectives add Signal dummy

gamerule mobGriefing false

 


 

움직임 감지 부분

플레이어의 움직임을 감지하는 방법에 대해 많은 시도를 해봤는데

좌표값을 점수에 저장하는 것이 제일 만들기 편했습니다.

플레이어의 좌표를 A, B 돌아가면서 저장하고 A와 B가 다를 때마다 플레이어를 죽이는 방식입니다.

커맨드 블록은 처음만 반복으로 설정하고 다음은 전부 연쇄로 설정해둡시다.

 

execute as @a store result score @s A_Pos0 run data get entity @s Pos[0] 10
execute as @a store result score @s A_Pos1 run data get entity @s Pos[1] 10
execute as @a store result score @s A_Pos2 run data get entity @s Pos[2] 10

각 축의 좌표를 A에 저장합니다.

이 때 좌표의 정확도를 위해 10을 곱합니다.

너무 큰 숫자를 곱하면 관성때문에 가만히 있는 것처럼 보여도 죽어버릴 가능성이 있습니다.

 

execute as @a[scores={Signal=1}] unless score @s A_Pos0 = @s B_Pos0 run kill @s
execute as @a[scores={Signal=1}] unless score @s A_Pos1 = @s B_Pos1 run kill @s
execute as @a[scores={Signal=1}] unless score @s A_Pos2 = @s B_Pos2 run kill @s

각 축 A값과 B값이 다르면 플레이어를 죽입니다.

 

execute as @a store result score @s B_Pos0 run data get entity @s Pos[0] 10
execute as @a store result score @s B_Pos1 run data get entity @s Pos[1] 10
execute as @a store result score @s B_Pos2 run data get entity @s Pos[2] 10

이번엔 좌표를 B에 저장합니다.

 

execute as @a[scores={Signal=1}] unless score @s A_Pos0 = @s B_Pos0 run kill @s
execute as @a[scores={Signal=1}] unless score @s A_Pos1 = @s B_Pos1 run kill @s
execute as @a[scores={Signal=1}] unless score @s A_Pos2 = @s B_Pos2 run kill @s

이번에도 각 축 A값과 B값이 다르면 플레이어를 죽입니다.

 


 

각 단계 메시지 출력 부분

이 부분에선 각 단계에서 어떤 문구를 내보낼지 정합니다.

시간은 레드스톤 중계기로 조절하고 문구 출력은 title 명령어로 이용합니다.

 

title @a times 0 40 10
title @a title {"text":"무궁화 꽃이..."}
title @a subtitle {"text":"Green light..."}
scoreboard players set @a Signal 0

title @a title {"text":"3"}

title @a title {"text":"2"}

title @a title {"text":"1"}

title @a title {"text":"피었습니다!!!"}
execute store success score @a Signal run title @a subtitle {"text":"Red light!!!"}

Signal점수로 무슨 단계인지 구분합니다.

 


 

두 가지 핵심 기능이 완성되었으니 맵을 만듭시다.

그리고 커맨드에 조건을 더 추가하거나 게임시작/끝 버튼 등 추가 기능을 만들어봅시다.

마지막으로 구조물 파일을 올려둘테니 참고하시길 바랍니다.

파일은 ~\.minecraft\saves\"세이브파일 이름"\generated\minecraft\structures 에 저장합니다.

구조물은 총 3개로 우선 구조물 이름을 m1으로 설정하고 불러오기를 실행합니다.

그러면 자동으로 구조물 블록이 생성되는데 상대적위치와 방향을 수정하고 불러오기를 실행합니다.

그리고 구조물을 불러올 땐 개체 포함은 꼭 켜두셔야합니다.

 

 

무궁화 꽃이 피었습니다.zip
0.03MB

한국어 + 영어

 

だるまさんがころんだ.zip
0.03MB

日本語 + English

構造物を呼び出すときは、「オブジェクトを含む」を必ず「オン」にしてください。

 

 

 

'커맨드' 카테고리의 다른 글

아이템 액자 뒤의 상자 편하게 여는 커맨드  (0) 2021.11.22
execute  (0) 2021.11.17