Minecraftでコマンドブロックを触り始め、
「もっと複雑なミニゲームを作りたい」「特定の条件で動く自動装置を作りたい」
と思ったことはありませんか?
それを実現するための鍵となるのが、今回徹底解説する/scoreboardコマンドです。
/scoreboardは、一見すると地味ですが、実はMinecraftの世界に「変数」の概念をもたらす、非常に強力で奥深いコマンドです。
プレイヤーのキル数、死亡回数、特定の行動回数、あるいは架空のタイマーまで、あらゆる「数値」を記録し、操作できます。
この記事では、/scoreboardの基本的な使い方から、ミニゲームや自動装置に応用するための実践的なテクニックまで、わかりやすく解説します。
/scoreboardとは? なぜ「心臓部」なのか?
/scoreboardコマンドの主な役割は、「スコアボード(Objectives)」と呼ばれる目に見えない得点板を作成し、そこにプレイヤーやエンティティ(さらには架空の存在)の「スコア(Score)」を記録・管理することです。
これがなぜ「心臓部」と呼ばれるのか。それは、/executeコマンドと組み合わせることで、「もしスコアが〇〇以上なら、このコマンドを実行する」という、プログラミングにおける「if文(条件分岐)」のような動作を実現できるからです。
- プレイヤーのキル数が10になったらゲーム終了
- 特定のアイテムを使った回数が5回になったらエフェクトを付与
- タイマー用のスコアが200(10秒)になったらレッドストーン信号を送る
このような複雑な処理は、すべて/scoreboardによる数値管理が土台となっています。
まずは基本から!主要サブコマンド
/scoreboardコマンドは、主に「何を数えるか(Objectives)」と「誰の点数を操作するか(Players)」の2つのサブコマンド群で構成されています。
1.objectives (スコアボード本体の管理)
まずは、スコアを記録するための「計量基準(スコアボード)」自体を作成・管理します。
objectives add <名前> <基準>
新しいスコアボードを作成します。
- <名前>: スコアボードの内部的な名前(例:- Kills,- Timer)
- <基準>: スコアを何でカウントするかを指定します
よく使う主要な基準
- dummy
 最も汎用的。コマンドでしか操作できない、純粋な「変数」として使えます。タイマーやフラグ管理に最適です。
- trigger
 プレイヤーが- /triggerコマンドで自分で操作できる基準。ショップ機能などに使われます。
- playerKillCount
 プレイヤーをキルした回数。
- deathCount
 死亡回数。
- minecraft.used:アイテム名
 そのアイテム使った回数。
- minecraft.crafted:アイテム名
 そのアイテムをクラフトした回数。
例:プレイヤーのキル数を数えるスコアボード Kills を作成
/scoreboard objectives add Kills playerKillCount
例:鉄のツルハシを使った回数
/minecraft.used:minecraft.iron_pickaxe
例:作業台をクラフトした回数
/minecraft.crafted:minecraft.crafting_table
スコアボードを表示する
スコアボードを画面に表示します。
objectives setdisplay <場所> [スコアボード名]
- <場所>: スコアボードのを表示する場所
- [スコアボード名]: 非表示にする場合は、[スコアボード名]を省略します。
<場所>
- sidebar: 画面の右側
- list: Tabキーで表示されるプレイヤーリスト
- belowName: プレイヤーの頭上
例:Kills スコアボードを画面右側に表示
/scoreboard objectives setdisplay sidebar Kills
2.players (スコアの操作)
作成したスコアボードに対して、プレイヤー(やエンティティ)のスコアを操作します。
対象のスコアを指定した値に設定する
players set <対象> <スコアボード名> <値>
例:Player1 さんの Kills スコアを 10 に設定
/scoreboard players set Player1 Kills 10
対象のスコアに値を加算する
players add <対象> <スコアボード名> <値>
例:Player1 さんの Kills スコアに 1 を加算
/scoreboard players add Player1 Kills 1
対象のスコアから値を減算する
players remove <対象> <スコアボード名> <値>
例:Player1 さんの Kills スコアに 1 を減算
/scoreboard players remove Player1 Kills 1
対象のスコアをリセット(スコアボードからその対象の記録を削除)する
players reset <対象> [スコアボード名]
演算
スコア同士で四則演算などを行えます。
players operation <対象1> <スコアボード1> <演算> <対象2> <スコアボード2>
<演算>
- =- 対象1のスコアを- 対象2のスコアで上書き
- +=- 対象1に- 対象2を加算
- -=- 対象1から- 対象2を減算
- *=- 対象1に- 対象2を乗算
- /=- 対象1を- 対象2で除算(小数点以下切り捨て)
- %=- 対象1を- 対象2で割った余りを- 対象1に設定
例:Player1 の TotalScore に Player1 の Kills スコアを加算する
/scoreboard players operation Player1 TotalScore += Player1 Kills
実践!/scoreboard活用例
基本を学んだところで、具体的な活用例を見ていきましょう。
例1: ミニゲームのキルカウント(自動カウント)
最もシンプルかつ強力な例です。
- スコアボード作成 (初回のみ)
 /scoreboard objectives add Kills playerKillCount “キル数”
- 画面に表示 (初回のみ)
 /scoreboard objectives setdisplay sidebar Kills
これだけで、プレイヤーが他のプレイヤーを倒すたびに、自動的にキル数がカウントされ、画面右側に表示されます。
応用として10キルしたプレイヤーを勝利させる リピートコマンドブロック(常時実行)に以下のコマンドを入れます。
/execute as @a[scores={Kills=10..}] run title @s title “あなたの勝利!”
/execute as @a[scores={Kills=10..}] run gamemode spectator @s
scores={Kills=10..} というターゲットセレクタが、「Killsスコアが10以上のプレイヤー」を指定しています。
例2: 自動装置のタイマー(dummy活用)
dummy基準を使い、コマンドでタイマーを作ります。
- スコアボード作成 (初回のみ)
 /scoreboard objectives add Timer dummy “タイマー”
- タイマー用の架空のプレイヤー(スコア保持者)を設定 (初回のみ)
 ※スコアは「誰か」に紐づく必要があるため、存在しないプレイヤー名(ここではGlobal)を使います
 /scoreboard players set Global Timer 0
- タイマーを進める (リピート・常時実行)
 リピートコマンドブロックに以下を設置します。Minecraftは1秒間に20回処理(20 Tick)が実行されるため、これで1Tickごとにスコアが1増えます。
 /scoreboard players add Global Timer 1
- 指定時間で処理実行 (リピート or チェーン・常時実行)
 10秒(20 Tick * 10 = 200)経過したら、何かを実行し、タイマーをリセットします。
 /execute if score Global Timer matches 200.. run say 10秒経過しました!
 /execute if score Global Timer matches 200.. run scoreboard players set Global Timer 0
if score Global Timer matches 200.. が、「GlobalのTimerスコアが200以上なら」という条件分岐の役割を果たしています。
例3: プレイヤーが操作できるショップ(trigger活用)
trigger基準を使い、プレイヤーがチャット欄からスコアを操作できるようにします。
- スコアボード作成 (初回のみ)
 /scoreboard objectives add BuyItem trigger “アイテム購入”
- プレイヤーにtriggerの使用を許可 (リピート・常時実行)triggerはセキュリティのため、デフォルトでは使用不可になっています。常に使用許可を与え続けます。
 /scoreboard players enable @a BuyItem
- スコアに応じてアイテムを渡し、スコアをリセット (リピート・常時実行)
 /execute as @a[scores={BuyItem=1}] run give @s diamond 1
 /scoreboard players set @a[scores={BuyItem=1}] BuyItem 0
これで、プレイヤーがチャット欄で以下のコマンドを実行すると、BuyItemスコアが 1 になり、即座にコマンドブロックが反応してダイヤが1個もらえ、スコアが 0 にリセットされます。
/trigger BuyItem set 1
まとめ
/scoreboardコマンドは、Minecraftのコマンドワールドの可能性を無限に広げる「心臓部」です。
- objectivesで「何を数えるか」を定義し、
- playersで「誰のスコアをどう操作するか」を決め、
- /executeの- scores={...}や- if scoreと組み合わせて「条件分岐」を作る。
この流れを掴めば、あなたも複雑なミニゲームや高度な自動装置を作れるようになります。まずは簡単なキルカウントやタイマーから、ぜひ挑戦してみてください。
 
  
  
  
  
コメント