マイクラでゲームを作るとき、プレイヤーの行動をポイントで計算したり、制限時間を表示したいなどすることは多いはず。この記事では、それを実現するコマンド「scoreboard」コマンドについて紹介します。
「scoreboard」はターゲットの状態を一覧化して管理・表示することができる
マイクラでゲームをしていると、多くの数値をスコア化したいことが多々あります。例えば、バトルロワイヤルであれば、キル数やデス数、タイムアタックであれば制限時間など、数値化したいものは多岐にわたります。
これらを管理して表示することができるのが、「scoreboard」コマンドです。このコマンドはスコアオブジェクトという塊を作成して、その中でプレイヤーごとにスコアを管理することができるので、使いこなすことができれば、様々な値を数値化して表示することが可能になります。
Scoreboardの使い方
「scoreboard objectives」コマンド(スコア変数管理コマンド)
「socerboard objectives」コマンドはスコア変数(スコアという箱)自体を操作するコマンドとなります。スコア変数を作成・表示・削除などの操作が基本となります。
スコアオブジェクトを作成する
スコアオブジェクト(≒スコアボード)を作成するコマンドです。スコアオブジェクトを作成するときにはデータ型(どのようなデータをスコアオブジェクトで管理・表示するかを)指定する必要があります。データ型には、死亡回数やMobの討伐回数など様々なデータ型を選択することができます。
scoreboard␣objectives␣add␣スコアオブジェクト名␣データ型␣スコアオブジェクト表示名
- スコアオブジェクト名
-
スコアオブジェクトを管理するための一意の名前(ID)
- データ型
-
スコアオブジェクトでどのような値を管理・表示するかのデータ型を指定。次のような値が指定可能となっています。(統合版はdummy型のみ使用可能)
データ型 説明 使用可能エディション dummy 特に意味を持たない型。ターゲットの行動で値が変化するものではないので、気軽に使える変数。 統合版
Java版trigger 「trigger」コマンドに沿った点数を集計するスコア Java版 deathCount プレイヤーが死亡したときに増加するスコア Java版 playerKillCount 他のプレイヤーを倒したときに増加するスコア Java版 totalKillCount 他のプレイヤーやMobを倒したときに増加するスコア Java版 health HP(ハート)の増減をカウントするスコア Java版 xp 取得した経験値をカウントするスコア(死んだら0に戻る) Java版 level プレイヤーのレベルを集計するスコア Java版 food お肉(満腹度)の増減をカウントするスコア Java版 - スコア表示名
-
スコアオブジェクトを画面表示するときの表示名
スコアオブジェクト一覧を表示する
現在作成済みのスコアオブジェクトの一覧を表示することができます。
scoreboard␣objectives␣list
スコアオブジェクトを削除する
指定したスコアオブジェクトを削除することができます。
scoreboard␣objectives␣remove␣スコアオブジェクト名
- スコアオブジェクト名
-
削除したいスコアオブジェクト名を指定する
スコアオブジェクトを画面表示する
指定したスコアオブジェクトを指定した場所に画面表示することができます。
scoreboard␣objectives␣setdisplay␣表示箇所␣スコアオブジェクト名␣表示順
- 表示箇所
-
画面のどこに表示するかを指定する。
コマンド 説明 belowname プレイヤー名の下に表示される list プレイヤー一覧に表示される sidebar 画面右中央に表示される
※「sidebar.teams.色」を使うと、指定した色のチームのプレイヤーのみに表示される - スコアオブジェクト名
-
画面表示したいスコアオブジェクト名を指定する。
- 表示順
-
スコアの表示順を指定する。
コマンド 説明 ascending スコアを昇順に並び替えて表示する descending スコアを降順に並び替えて表示する
「scoreboard players」コマンド(スコア変数値管理コマンド)
「socerboard players」は各ターゲットが持っているスコア値を管理するコマンドです。基本的には、スコアオブジェクト内に入っている変数や値を操作していくので、「scoreboard objectives」を使って先にスコアオブジェクトを作成しておきましょう。
ターゲットのスコア値を一覧表示する
ターゲットが持っているスコアを一覧表示できます。
scoreboard␣players␣list␣ターゲット
- ターゲット
-
表示したいターゲット(プレイヤー)を指定する
(「*」を指定した場合、すべてのプレイヤーのすべてのスコアを表示する)
ターゲットのスコア値を好きな値に置き換える
ターゲットのスコアに指定した好きな値を設定することができます。
scoreboard␣players␣set␣変数名␣スコアオブジェクト名␣置き換える値
- 変数名
-
スコア値を設定したい変数名を指定する
- スコアオブジェクト名
-
スコア値を設定したいスコアオブジェクト名を指定する
- 置き換える値
-
設定したい値を指定する
ターゲットが持っているスコア値に値を加算する
ターゲットの持っているスコアに好きな値を加算することができます。
scoreboard␣players␣add␣ターゲット␣スコアオブジェクト名␣加算する値
- ターゲット
-
スコア値を加算したいターゲットを指定する
- スコアオブジェクト名
-
スコア値を加算したいスコアオブジェクト名を指定する
- 加算する値
-
加算したい数値を指定する
ターゲットが持っているスコア値に値を減算する
ターゲットの持っているスコアに好きな値を減算することができます。
scoreboard␣players␣remove␣ターゲット␣スコアオブジェクト名␣減算する値
- ターゲット
-
スコア値を減算したいターゲットを指定する
- スコアオブジェクト名
-
スコア値を減算したいスコアオブジェクト名を指定する
- 減算する値
-
加算したい数値を指定する
ターゲットが持っているスコア値に様々な算術演算を実施する
指定した2つのスコア値を算術演算を使って計算し、スコアに代入することができます。(スコア1とスコア2を操作符号で演算し、スコア1に代入します。)※スコア1…ターゲット1のスコアオブジェクト1の値
scoreboard␣players␣operation␣ターゲット1␣スコアオブジェクト名1␣操作符号␣ターゲット2␣スコアオブジェクト名2
- ターゲット1
-
算術演算を行いたいターゲットを指定する。
- スコアオブジェクト名1
-
算術演算を行いたいスコアオブジェクトの名前を指定する。
(算術演算結果はターゲット1のスコアオブジェクト1に代入される)
- 操作符号
-
算術演算の式を記載する。使える操作符号は次の通り。
※スコア1…ターゲット1のスコアオブジェクト1の値
コマンド 説明 += スコア1とスコア2を加算する -= スコア1からスコア2を減算する *= スコア1とスコア2を乗算する /= スコア1からスコア2を除算する %= スコア1からスコア2を除算したときの余り = スコア1の値をスコア2に置き換える >< スコア1の値とスコア2の値を入れ替える < スコア1がスコア2よりも大きい場合、スコア1にスコア2の値を代入する > スコア1がスコア2よりも小さい場合、スコア1にスコア2の値を代入する - ターゲット2
-
算術演算を行いたいターゲットを指定する。
- スコアオブジェクト名2
-
算術演算を行いたいスコアオブジェクトの名前を指定する。
(操作演算が「><」以外の時は基本的に値の変化はなし)
ターゲットのスコアの値をランダムに変更する
ターゲットの持っているスコアをランダムな値に変更できます。
scoreboard␣players␣random␣ターゲット␣スコアオブジェクト名␣最小値␣最大値
- ターゲット
-
ランダムな値を設定したいターゲットを指定する
- スコアオブジェクト名
-
ランダムな値を設定したいスコアオブジェクト名を指定する
- 最小値
-
ランダム設定したい値の下限値を指定する
- 最大値
-
ランダム設定したい値の上限値を指定する
ターゲットのスコア値が指定範囲内に収まっているかを判定する
指定したターゲットのスコアが、特定の範囲内に収まっているか否かを判定できます。
scoreboard␣players␣test␣ターゲット␣スコアオブジェクト名␣最小値␣最大値
- ターゲット
-
スコア値判定したいターゲットを指定する
- スコアオブジェクト名
-
スコア値判定したいスコアオブジェクト名を指定する
- 最小値
-
スコアを判定する範囲の下限値を指定する
- 最大値
-
スコアを判定する範囲の上限値を指定する
ターゲットのスコア値を削除する
指定したターゲットのスコア値を削除します。
scoreboard␣players␣reset␣ターゲット␣スコアオブジェクト名
- ターゲット
-
スコア値を削除したいターゲットを指定する
- スコアオブジェクト名
-
スコア値を削除したいスコアオブジェクト名を指定する
コメント