【マイクラ統合版】/scoreboardコマンドの使い方【任意の値を管理する】

コマンドの使い方
※本サイトはPRリンクを含みます。

備忘録としてMnecraft BEのscoreboardコマンドの使い方をまとめます。

なおscoreboardコマンドの使い方は動画でもご覧いただけます。

/scoreboardコマンドとは

/scoreboardコマンドを使用することで、特定のエンティティに任意の値を付与して管理したり、画面に表示したりすることができます。

ただしJavaEditionの/scoreboardコマンドほど多機能ではなく、基本的にはコマンドによって値を設定しコマンドによって値を管理する、くらいの機能しか現状では実装されていないようです。

/scoreboardコマンドの構文

/scoreboard␣objectives␣add/list/remove/setdisplay~

1-①スコアボードを作成する
/scoreboard␣objectives␣add␣スコア名␣dummy␣スコア表示名

新規でスコアボードを作成します。

例)
/scoreboard␣objectivesaddtestdummyテスト

test(表示名はテスト)というスコアボードを追加する。

スコアボードとは、特定の値を記入するための『掲示板』のような概念です。
例えば「Player1に来店ポイントを3与える。」といった場合はまず「来店ポイント」という掲示板を作成し、そこに「Player1 +3」と書き入れるようなイメージ。
そのための掲示板作成に該当するのが「/scoreboard objectives add ~」です。

なお「スコア表示名」はコマンドログなどに表示される際の表示名を指しますが、不要な場合は記入しなくてもOK。

dummyとは?
「dummy」はスコアの形式を指定する言葉で、結果として『dummy型スコアボード』が追加されます。なおBE(統合版)ではdummy型以外のスコアボードは未実装のため、形式指定が必ずdummyとなります。
dummy型のスコアボードはコマンドでのみ値を操作することができる形式です。

1-②スコアボードの一覧を確認する
『/scoreboardobjectiveslist

存在しているスコアボードの一覧を表示し確認します。

作成済みのスコアボード「test1,test2,test3」が存在していることを確認できる。

1-③スコアボードを削除する
『/scoreboardobjectivesremoveスコア名』

スコアボードを削除します。

1-④スコアボードを表示する
『/scoreboard␣objectivessetdisplay表示タイプスコア名昇順/降順』

スコアボードを表示します。

例)
/scoreboard␣objectives␣setdisplaysidebartestascending

testスコアを昇順サイドバー表示する

表示タイプは(belowname/list/sidebar)から選択可能。
昇順/降順は(ascending/descending)で指定します。

「list」メニュー表示のプレイヤー欄にスコアが表示される
「sidebar」プレイ画面の右端にスコアが表示される

/scoreboard␣players␣add/list/operation/random/remove/reset/set/test␣~

2-①ターゲットにスコアの値を加算する。
『/scoreboard␣players␣add␣ターゲット␣スコア名␣加算する値』

指定したターゲットの指定したスコアに任意の値を加算します。

例)
/scoreboard␣players␣add@ptest3

最も近くのプレイヤーtestスコアを3加算する。

2-②ターゲットのスコアの値を一覧表示する。
『/scoreboard␣players␣list␣ターゲット』

ターゲットを指定しない場合、何らかのスコアを持つすべてのエンティティを表示します。
ターゲットを指定した場合、指定したターゲットが持つスコアの値を一覧表示します。

player[subbacchi]はtest1:1,test2:10,test3:100のスコアを持っている

またターゲット指定に「*」を記入した場合、すべてのエンティティのすべてのスコア値を一覧表示します。

2-③ターゲットのスコアの値を算術演算で変更する。
『/scoreboard␣players␣operation␣ターゲット1␣スコア名1␣操作符号␣ターゲット2␣スコア名2』

ターゲット1の指定したスコアの値をターゲット2の指定したスコアの値を用いて操作します。
とってもややこしいので数学的な知識が必要になるかもしれませんが、とってもややこしい計算が必要な時くらいしか「operation」は使いません。

値を操作する符号は以下。

  • %=』・・・剰余除算
    (ターゲット1のスコア1の値をターゲット2のスコア2の値で割った余りの数に置き換える。)
  • *=』・・・乗算
  • +=』・・・加算
  • -=』・・・減算
  • /=』・・・整数除算
    (ターゲット1のスコア1の値をターゲット2のスコア2の値で割った商の値に置き換える。)
  • <』・・・最小比較
    (ターゲット1のスコア1の値がターゲット2のスコア2の値よりも大きい場合、ターゲット1のスコア1の値をターゲット2のスコア2の値に設定する。)
  • =』・・・等号
    (ターゲット1のスコア1の値をターゲット2のスコア2の値に置き換える。)
  • >』・・・最大比較
    (ターゲット1のスコア1の値がターゲット2のスコア2の値よりも小さい場合、ターゲット1のスコア1の値をターゲット2のスコア2の値に設定する。)
  • ><』・・・交換
    (ターゲット1のスコア1の値をターゲット2のスコア2の値と入れ替える。)

2-④ターゲットのスコアの値を指定した範囲内でランダムに置き換える。
『/scoreboard␣players␣random␣ターゲット␣スコア名␣最小値␣最大値』

ターゲットのスコアの値を、指定した範囲でランダムに決定することができます。

例)
/scoreboard␣players␣randomplayer1test110

プレイヤー1testスコアを1から10の範囲でランダム置換する。

2-⑤ターゲットのスコアの値を減算する。
『/scoreboard␣players␣remove␣ターゲット␣スコア名␣減算する値』

指定したターゲットの指定したスコアの値から任意の値を減算します。

例)
/scoreboard␣players␣removeplayer2test100

プレイヤー2からtestスコアの値を100減算する

2-⑥ターゲットのスコアの値を削除する。
『/scoreboard␣players␣reset␣ターゲット␣スコア名』

スコア名を指定しない場合はターゲットの持つすべてのスコアの値を削除します。
スコア名を指定する場合は指定したスコアの値を削除します。

例)
/scoreboard␣players␣reset@atest

全プレイヤーtestスコアの値を削除する

値を0に置き換えるのではなく、該当するスコアの値が無くなることに注意してください。
0に置き換えた場合はスコアボード表示に「0」が表示されますが、resetの場合は表示から除外されます。

2-⑦ターゲットのスコアの値を置き換える。
『/scoreboard␣players␣set␣ターゲット␣スコア名␣置き換える値』

指定したターゲットの指定したスコアの値を任意の値に置き換えます。
元の値は関係なく好きな値に書き換えたい場合に使用します。

2-⑧ターゲットのスコアの値が指定範囲内にあるかを判定する。
『/scoreboard␣players␣test␣ターゲット␣スコア名␣最小値␣最大値』

指定したターゲットの指定したスコア値が、任意の最小値~最大値の範囲に収まっているかどうかを判定することができます。

スコア値が設定した最小値~最大値の間にあるかどうかを判定する。

/scoreboardコマンドはこんな時に使う

基本的にサバイバルモードで遊んでいるときに『/scoreboard』を使うことはありません。
使うとすれば、クリエイティブモードでオリジナルゲームを作ったり、かなり込み入った検証をしたりといった限定的なケースで使用することになると思います。

スコアボードを活用した配布ワールド9minigames』『迷宮~ラビリンス~

scoreboardコマンドで人数を数える

scoreboardコマンドで値が大きい順に順位を付ける

scoreboardコマンドでランダム抽選する

ゲーム参加プレイヤーの得点を表示したり、コマンド実行の回数をカウントして制御したりといったレッドストーン回路だけでは困難な機能を構築することができます。

▶『コマンドの使い方』カテゴリTOPへ