※コマンドブロックの入手方法など、基本的なコマンドを知っている前提で解説します。
※この記事では反復のコマンドブロックを使用するため、「/gamerule commandblockoutput false」を実行することをお勧めします。
【この記事で使用するコマンド】
・scoreboard
・tag
・execute
・title
1.できること
プレイヤーやモブの数をスコアボードに入れることで、ミニゲームなどの終了処理を人数で判定することができます!
例:「逃走者が0人になったらハンターの勝ち」「フィールドのスライムが10体未満ならスポーンさせる」など
2.作り方
この記事では、赤チームの人数をスコアボードに入れる処理を紹介します!
- 赤チーム:タグ「red」が付与されているプレイヤー
①人数を入れるスコアボードを作成
/scoreboard objectives add Counter dummy 人数②スコアボードを画面右に表示
/scoreboard objectives setdisplay sidebar Counter
③コマンドブロックに入力

▼反復/無条件/常時実行/遅延0
scoreboard players set red Counter 0
▼鎖/無条件/常時実行/遅延0
execute as @a[tag=red] at @s run scoreboard players add red Counter 1↓こんな感じに表示されればok!

これで、「Counter」というスコアボードに、赤チームに所属している(タグredが付与されている)プレイヤーの人数を「red」という名前に入れることができます。
3.使い方(表示編)
①プレイヤーの人数
自分(@s)に赤チーム(タグred)を付与してみます。
/tag @s add red↓自動でスコアボードに1が入った!

自分から赤チーム(タグred)を削除してみます。
/tag @s remove red↓自動でスコアボードが1減った!

上記の解説ではプレイヤーを対象に人数をカウントしましたが、モブの数を数えることもできます!
②モブの数
▼反復/無条件/常時実行/遅延0
scoreboard players set husk Counter 0▼鎖/無条件/常時実行/遅延0
execute as @e[type=husk] at @s run scoreboard players add husk Counter 1↓ハスクの数がスコアボードに入った!

【原理の解説】理解しなくても 読まなくても ok!「execute as 対象 at @s」でコマンドの実行者を人数カウントしたい対象とすることで、一人一人が各自でスコアボードに1を足す処理となる。反復のコマンドブロックにより、まったく同じタイミングの実行となることで、対象となる実行者の数に応じて1が足されるので、対象の人数がスコアボードに反映される。
3.使い方(判定編)
ここからは、ハスクが1匹以上であれば「ハスクが出現しています」、そうでなければ「世界は平和です」というように判定して表示する方法を解説します!
①コマンドブロックに入力
▼反復/無条件/常時実行/遅延0
execute if score husk Counter matches 1.. run title @a actionbar ハスクが出現しています▼鎖/無条件/常時実行/遅延0
execute unless score husk Counter matches 1.. run title @a actionbar 世界は平和です②判定を確認
↓ハスクが1体以上いると「ハスクが出現しています」と表示された!

↓ハスクを全て倒すと「世界は平和です」と表示された!

こんな感じでプレイヤーやモブの人数を表示・判定することができます!
最後に
ここまで読んでいただきありがとうございます!
これからもマップ制作に役立つ便利なコマンドを紹介していくので参考にしていただければ幸いです。
是非、楽しいマップを作って投稿してください!遊びに行きます!



コメント