マイクラでミニゲームの得点をカウントしたいと思ったことはありませんか?
そんな時に便利なのがスコアボードです。応用するとタイマーや通貨まで作れてしまいます。そんな便利なスコアボードについて分かりやすく解説するのでぜひ最後まで見ていってください。
スコアボードを追加する
スコアボードを使うにはまず、スコアボードを新規作成する必要があります。
方法は簡単です。追加したい分だけコマンドを打ち込むだけです。
構文は
/scoreboard objectives add <スコアボード名> dummy <表示名(省略可能)>
です。
dummyというのはスコアボードを変更する条件のことでこの場合、コマンドで変更する指示があったら変更するという意味です。統合版には今のところ残念ながらdummyしかありません。
下のようなメッセージが出れば追加成功です。今回はscoreという名前にします。
スコアボードを消す
もし打ち間違いをして違う名前のスコアボードを追加してしまった場合、オブジェクトを消すこともできます。
/scoreboard objectives remove <消したいスコアボード名>
です。
スコアボードの一覧を表示する
もし今まで追加したスコアボードの名前が分からなくなった時はコマンドを打つと見ることが出来ます。
/scoreboard objectives list
これでこのように表示されます。
これで今まで追加したスコアボードが一目瞭然ですね。
スコアボードを表示する
スコアボードを作ったら表示させてみると良いでしょう。
これは絶対やるべきことではありません。
なぜなら裏で計算をする用のスコアを必ずしも表示する必要はないからです。
ですが、最終的に何かしらの得点や所持金などをスコアボードで表し表示したい場合はそのスコアボードを表示させてみるといいでしょう。
コマンドの構文は
/scoreboard objectives setdisplay <表示形式> <表示したいスコア名>
です。表示形式は下の表の通りです。
表示形式 | 表示される場所 |
sidebar | 画面右側 |
list | ポーズ画面のプレイヤーのリスト |
below_name | マルチプレイで表示されるプレイヤーのネームタグの下(シングルプレイでは非表示) |
sidebarとlistでは<表示したいスコア名>の後に降順(大きい順)か昇順(小さい順)かを入れることが出来ます。
descendingが大きい順、ascendingが小さい順です。無表記の場合はdescending(大きい順)になります。
スコアボードを”持たせる”
スコアボードの性質
スコアボードは変数のような性質を持ちます。つまり数字を入れる入れ物のようなものです。
そしてその数値は誰かがスコアボードを持っていないと動かすことが出来ません。
スコアボードを動かすには「”誰かの”スコアボードを○○する」という風にしか使えません。
※初期状態ではそもそもプレイヤーはスコアを持っていませんが分かりやすく0にしています。
つまりプレイヤーAのスコアを変えてもプレイヤーBのスコアは変わりません。
プレイヤーのスコアを変更するコマンドを打つと自動でプレイヤーにスコアが与えられます。
プレイヤーのスコアを表示する場合一度もスコアが変更されていない(つまりスコアボードを持っていない)エンティティは表示されません。
プレイヤーのスコアを設定・変更する
プレイヤーのスコアを変更する方法は複数あります。setやadd,removeなどで数値を変更すると、同時にスコアを持っている状態になります。
set
文字通り、プレイヤーのスコアを決定するコマンドです。
構文は
/scoreboard players set <対象のエンティティ> <スコアボード名> <変更後の数字>
です。例文で見ていきましょう。
例えば以下のようなコマンドを入力すると、
このようにスコアが10になりました。
add・remove
簡単に言えばaddは足し算、removeは引き算です。
構文は
/scoreboard players add(もしくはremove) <対象のエンティティ> <スコア名> <足す・引く数字>
です。
これは単純にスコアを足し引きできるコマンドですね。
たとえば
/scoreboard players add @s score 50
と打てばscoreという名前のスコアが自分に50足されます。
また、
/scoreboard players remove @s score 50
と打てばscoreという名前のスコアが自分から50引かれます。
random
次はスコアを指定の範囲内の内のランダムな数字に変更するものです。構文は
/scoreboard players random <対象のエンティティ> <スコア名> <最小値> <最大値>
です。スコアボードを最小値から最大値の間の数字のどれかに変更します。
reset
これはスコアそのものをエンティティから剥奪します。スコアの存在自体は残りますが対象のエンティティが指定したスコアを持たなくなります。構文は
/scoreboard players reset <対象のエンティティ> <スコア名>
です。
test
これは対象のエンティティが指定した範囲内のスコアを持っているかを調べることが出来ます。
構文は
/scoreboard players test <対象のエンティティ> <対象のスコア名> <最小値> <最大値>
です。使い道としてはコマンドブロックに入力し、別の条件付きコマンドブロックに繋げ、スコアが指定の範囲に入った時だけ条件付きコマンドブロックのコマンドを実行させるといったところでしょうか。
例えば、
①に
/scoreboard players test @p score 1 10
を入れリピート、無条件、常時実行で実行
②に
/say あいうえお
を入れ、鎖、条件付き、常時実行で実行します。
そうするとコマンドブロックから1番近いプレイヤーのスコア(今回はscoreという名前)が1~10のときはコマンドブロックが「あいうえお」と言います。
operation
これは少し複雑です。
簡単に言えば「誰かのスコア」を別の「誰かのスコア」(同じ人の同じスコアでも可能)で演算します。構文は
/scoreboard players operation <対象エンティティA> <スコアA> <演算符> <対象エンティティB> <スコアB>
です。
対象エンティティのところには使用するスコアの持ち主を入れます。
演算符は種類が多いため一覧で表示します。
演算符 | 演算符の意味 |
= | スコアAの数値をスコアBの数値に置き換える |
+= | スコアAの数値にスコアBの数値を足す |
-= | スコアAの数値からスコアBの数値を引く |
*= | スコアAの数値にスコアBの数値を掛ける |
/= | スコアAの数値をスコアBの数値で割る(小数点以下切り捨て) |
%= | スコアAの数値をスコアBの数値で割ったあまりにする |
< | スコアAの数値よりスコアBの数値が小さい場合スコアBの数値に置き換える |
> | スコアAの数値よりスコアBの数値が大きい場合スコアBの数値に置き換える |
>< | スコアAの数値をスコアBの数値に スコアBの数値をスコアAの数値にする |
あくまで変更するのはスコアAの数値です。スコアBの数値は変化しません。(><を除く)
またスコアを持たないプレイヤーのスコアを対象にした場合、計算上は0であるとして扱われます。
実は…
実は先ほどまでに紹介したスコアボードを持たせるエンティティは、必ずしもプレイヤーである必要はありません。
例えば防具立てや豚や牛などのようなプレイヤー以外のエンティティにもスコアを持たせることが出来ますし、スコアを設定・変更する際に他のすでにマイクラに存在するエンティティの名前以外を、対象のエンティティのところに入力すれば、架空の名前のプレイヤーを使うこともできます。例えばexampleという名前の架空のプレイヤーにscoreという名前のスコアを10足します。
/scoreboard players add example score 10
すると
このようにexampleという名前の架空のプレイヤーに点数を上げることが出来ました。このように実在しないプレイヤーに点数を上げることも可能です。
終わりに
スコアボードを使えると出来ることの幅が大きく広がります。応用すれば時間を測ることもできます。今後、スコアボードを応用したものの作り方も投稿する予定です。楽しみにしていてください!
それでは!
マイクラの習い事【Tech Teacher Kids】 はマイクラを通じてITスキルやプログラミング思考を身に着けることが出来ます!
コマンドコース ならマイクラのコマンド操作や文法や構文についてマイクラに詳しい講師の方が教えてくれます!コマンドについてまだあまりよく分からないという方におすすめです!
さらにプログラミングコース ではコマンドを活用してミニゲームを作成することが出来ます!
ミニゲームをコマンドを活用してマイクラで作ってみたいという方におすすめです!
まずは60分の無料体験会を検討してはいかがでしょうか!