プレイヤーの行動をカウントするscoreboardコマンドまとめ

今回は、プレイヤーの行動、Mobのキル数やアイテムの使用をカウントする方法を解説します。scoreboardコマンドの「stat」を使えば、統計に表示されるような様々な情報を数値化出来るんです。例えばジャンプをした回数、プレイ時間、特定のMobを倒した回数、特定のアイテムを落とした回数など... コマンドで作れる仕掛けの幅がさらに広がりますね。

※この記事は2015年1月30日に公開した記事を再編集したものです。

スポンサーリンク


プレイヤーの行動を判定する基本的な仕組み

プレイヤーがジャンプしたり、クラフトしたり、Mobを倒したり、逆に倒されたり... 「統計」に表示される物も含めて、プレイヤーの様々な行動を数値化できるのがscoreboardコマンド。今回は、scoreboardコマンドで判定できる様々な項目をまとめました。

プレイヤーの行動を判定する流れ
  • 先にscoreboardを作っておく。この時"種類"を「stat.○○」など判定する項目名にする。
    例: /scoreboard objectives add Test1 stat.jump ジャンプした回数
  • 先程作ったスコアを手掛かりにコマンドを実行する。
    例: /give @a[score_Test1_min=1] diamondなら"Test1"が1以上の人にダイヤモンドを与える。
  • 必要に応じて、アクションを起こした後スコアをリセットする。
    例: /scoreboard players reset @a[score_Test1_min=1] Test1
プレイヤーの行動などをカウントするscoreboardを作成するコマンド
/scoreboard objectives add <好きな名前(英数)> 判定する項目 <表示する名前>

▲最初に手動でスコアボードを作成する際、普段はdummyなどと入れている所にこれから解説する項目名を入力します。例えば「stat.jump」や「stat.killEntity.zombie」ですね。この「判定する項目」を設定することで、特定の行動でスコアを加算してくれます。そしてプレイヤーの行動に応じて増えたスコアを条件に、何か起こすことが出来るのです。便利な機能でしょ。


scoreboardの「stat」で判定/カウントできる項目一覧

ここからは、scoreboardの「判定する項目」一覧でまとめて解説します。表の左側の「判定する項目」を先ほどの「判定する項目名」の部分に書いて使います。


ジャンプなど、プレイヤーの基本的な行動をカウントする「stat」

scoreboardコマンドで判定する項目のうち、統計に表示されるような行動をカウントするものをまとめました。
判定する項目判定される内容
stat.animalsBred動物を繁殖させるとスコアが増えます。
(1.8.2で追加) stat.armorCleaned大釜で防具を洗うと増えます。
(1.9で追加) stat.aviateOneCm新アイテム「elytra(エリトラ)」で飛んだ距離です。
(1.8.2で追加) stat.bannerCleaned大釜で旗を洗うと増えます。
(1.8.2で追加) stat.beaconInteractionビーコンの画面を開くと増えます。
stat.boatOneCmボートに乗っている間、スコアが増え続けます。
乗る瞬間に何故か200ほど一気に増えます。
(1.8.2で追加) stat.brewingstandInteraction醸造台の画面を開くと増えます。
stat.cakeSlicesEaten置いてあるケーキを食べると増えます。
stat.cauldronFilled大釜に水を入れると増えます。
(1.8.2で追加) stat.cauldronUsed大釜を使うと増えます。
(1.8.2で追加) stat.chestOpenedチェストを開くと増えます。
stat.climbOneCmハシゴやツタなどを登っている間、スコアが増え続けます。
(1.8.2で追加) stat.craftingTableInteraction作業台の画面を開くと増えます。
stat.crouchOneCmスニークしながら動くとスコアが増え続けます。1.9で追加された「stat.sneakTime」と違って移動しないと増えません。
stat.damageDealtプレイヤーがエンティティにダメージを与えた量だけスコアが増えます。
例えばダイヤの剣でゾンビを攻撃すると70増えます。
stat.damageTakenプレイヤーがダメージを受けた量だけスコアが増えます。
例えばハート1.5個分ダメージを受けるとスコアが30増えます。 
stat.deaths死んだらスコアが増えます。これ使わなくてもdeathCountでいいんじゃ?
(1.8.2で追加) stat.dispenserInspectedディスペンサーの画面を開くと増えます。
stat.diveOneCm水中を歩いた距離の分だけスコアが増えます。
stat.dropアイテムをドロップ(投げ捨てる)するとスコアが増えます。
バージョン1.9で強化され、特定のアイテムだけをカウント対象にできるようになりました。詳しい使い方はこちら
(1.8.2で追加) stat.dropperInspectedドロッパーの画面を開くと増えます。
(1.8.2で追加) stat.enderchestOpenedエンダーチェストを開くと増えます。
stat.fallOneCm高い場所から落ちるとスコアが増えます。ジャンプした場合はカウントされません。
stat.fishCaught魚を釣るとスコアが増えます。
(1.8.2で追加) stat.flowerPotted花瓶に花を挿すと増えます。
stat.flyOneCmクリエイティブモードなどで空を飛んだ距離の分だけスコアが増えます。
真上にとんでもスコアは増えず、横や斜めに上昇すると増えます。
(1.8.2で追加) stat.furnaceInteractionかまどの画面を開くと増えます。
(1.8.2で追加) stat.hopperInspectedホッパーの画面を開くと増えます。
stat.horseOneCm馬に乗っている間スコアが増え続けます。
(1.8.2で追加) stat.itemEnchantedアイテムをエンチャントすると増えます。
stat.jumpプレイヤーがジャンプするとスコアが増えます。
stat.junkFished釣り竿でゾンビ肉などのゴミを釣るとスコアが増えます。詳細な種類はこちら
stat.leaveGameワールドからプレイヤーが出るとスコアが増えます。
stat.minecartOneCmトロッコに乗っている間スコアが増え続けます。
stat.mobKillsMobを倒すとスコアが増えます。防具立てなどの非生物は含まれません。
(1.8.2で追加) stat.noteblockPlayed音符ブロックで音を再生すると増えます。
(1.8.2で追加) stat.noteblockTuned音符ブロックの音階を調節すると増えます。
stat.pigOneCmブタに乗っている間だけスコアが増え続けます。
stat.playerKillsプレイヤーが他のプレイヤーを倒すとスコアが増えます。
stat.playOneMinuteゲームを遊んでいる間、スコアが増え続けます。タイマーなどに使えるのでは?
(1.8.2で追加) stat.recordPlayedジュークボックスでレコードを再生すると増えます。
(1.9で追加) stat.sneakTimeスニークしている間増え続けます。「stat.crouchOneCm」と違ってスニークするだけで増えます。
stat.sprintOneCmプレイヤーがダッシュしている間、スコアが増え続けます。
stat.swimOneCmプレイヤーが泳いでいる間、スコアが増え続けます。
stat.talkedToVillager村人を右クリックするとスコアが増えます。これを利用した「右クリックすると何か起こるアイテム」についてはこちらの記事で解説しましたね。
stat.timeSinceDeathプレイヤーがリスポーンしてからの時間をカウントします。
(1.9で追加) stat.sleepInBedベッドで横になるだけで増えます。
stat.tradedWithVillager村人と取引するとスコアが増えます。
(1.8.2で追加) stat.trappedChestTriggeredトラップチェストを開くと増えます。
stat.treasureFished釣りで「お宝」アイテムを釣ると増えます。具体的なお宝アイテムの種類はこちら
stat.walkOneCmプレイヤーが歩いている間、スコアが増え続けます。歩数制限を設けたりできそう

配布ワールドの作成やマルチプレイに大活躍しそうなものばっかりですね。


特定のアイテムをクラフトしたらカウントする「stat.craftItem」

次にご紹介するのは、特定のアイテムをクラフトするとスコアが増える「stat.craftItem」です。例を挙げて解説します。

ダイヤの剣をクラフトした回数をカウントするSBを作成
2015-1-30_22-17-11
/scoreboard objectives add <好きな名前> stat.craftItem.minecraft.diamond_sword

▲このように、判定する項目「stat.craftItem.minecraft.アイテム名(ID)にします。

アイテムを作業台やインベントリ画面でクラフトして、完成したアイテムの数だけスコアが増えます。例えば棒64個と石炭64個で松明を作ると、256スコアが増えます。


特定のアイテムを使ったらカウントする「stat.useItem」

次は、特定のアイテムを使用したらスコアが増える「stat.useItem」をご紹介します。

火打ち石と打金を使った回数をカウントするSBを作成
/scoreboard objectives add <好きな名前> stat.useItem.minecraft.flint_and_steel

先ほどの「stat.craftItem」と似ていますね。同じようにアイテム名(ID)を書けばいいだけです。しかし、「アイテムを使った」と言っても、どうすれば「使った」ことになるのか分かりにくいですね。そこで表を用意しました。

使うアイテムの種類判定される条件など
シャベル、ツルハシ、斧、火打ち石と打金、ハサミ、クワ、弓、剣持ってブロックを破壊するとスコアが増えます。
耐久値が減らなくても「使った」事になります。
ピッケルで松明を壊してもスコアが増えるのです。
釣り竿と棒付きのニンジン右クリックしただけでスコアが増えます。
防具類耐久値が減ってもスコアは増えません。 
数々のブロック設置するとスコアが増えます。
絵画、スポーンエッグ、トロッコ類、額縁、ボート、卵、雪球、弓、スプラッシュポーション、経験値ボトルそれらを使って、エンティティが生成されれば「使った」とみなされスコアが増えます。
カカオの種、骨粉それぞれ原木に設置した植物の成長を促進したらスコアが増えます。
バケツに入った牛乳、ポーション、素材の食料、ケーキクラフトする時などに設置しただけでスコアが増えます。
ボウルとバケツそれぞれ、きのこシチューや牛乳バケツになってもスコアは増えません。
各種レコードジュークボックスに入れるとスコアが増えます。
レコードの種類によって別々に数えられます。 


アイテムの耐久値が無くなった(装備品が壊れた)回数をカウントする「stat.breakItem」

ツルハシや防具など耐久値を持つアイテムを壊した回数をカウントする「stat.breakItem」をご紹介します。例えば「防具が壊れるとゲームオーバー」とかいう仕掛けが作れますね。

ダイヤのブーツが壊れた回数をカウントするSBを作成
/scoreboard objectives add <好きな名前> stat.breakItem.minecraft.diamond_boots
stat.breakItem.minecraft.アイテム名 の順番です。
「stat.breakItem」で使えるアイテム名一覧
  • fishing_rod (釣り竿)
  • flint_and_steel (火打ち石と打ち金)
  • bow (弓)
  • carrot_on_a_stick (ニンジン付きの棒)
  • shears (ハサミ)
  • wooden_axe (木の斧)
  • wooden_hoe (木のクワ)
  • wooden_pickaxe (木のツルハシ)
  • wooden_shovel (木のシャベル)
  • wooden_sword (木の剣)
  • stone_axe (石の斧)
  • stone_hoe (石のクワ)
  • stone_pickaxe (石のツルハシ)
  • stone_shovel (石のシャベル)
  • stone_sword (石の剣)
  • iron_axe (鉄の斧)
  • iron_hoe (鉄のクワ)
  • iron_pickaxe (鉄のツルハシ)
  • iron_shovel (鉄のシャベル)
  • iron_sword (鉄の剣)
  • iron_boots (鉄のブーツ)
  • iron_chestplate (鉄のチェストプレート)
  • iron_helmet (鉄のヘルメット)
  • iron_leggings (鉄のレギンス)
  • golden_axe (金の斧)
  • golden_hoe (金のクワ)
  • golden_pickaxe (金のツルハシ)
  • golden_shovel (金のシャベル)
  • golden_sword (金の剣)
  • golden_boots (金のブーツ)
  • golden_chestplate (金のチェストプレート)
  • golden_helmet (金のヘルメット)
  • golden_leggings (金のレギンス)
  • diamond_axe (ダイヤの斧)
  • diamond_hoe (ダイヤのクワ)
  • diamond_pickaxe (ダイヤのツルハシ)
  • diamond_shovel (ダイヤのシャベル)
  • diamond_sword (ダイヤの剣)
  • diamond_leggings (ダイヤのレギンス)
  • diamond_boots (ダイヤのブーツ)
  • diamond_chestplate (ダイヤのチェストプレート)
  • diamond_helmet (ダイヤのヘルメット)
  • leather_boots (革のブーツ)
  • leather_chestplate (革のチェストプレート)
  • leather_helmet (革のヘルメット)
  • leather_leggings (革のレギンス)
  • chainmail_boots (チェーンのブーツ)
  • chainmail_chestplate (チェーンのチェストプレート)
  • chainmail_helmet (チェーンのヘルメット)
  • chainmail_leggings (チェーンのレギンス)

特定のブロックを掘ったらカウントする「stat.mineBlock」

次は、特定のブロックを壊したらスコアが増える「stat.mineBlock」をご紹介します。

ダイヤモンドを採掘した回数をカウントするSBを作成
/scoreboard objectives add <好きな名前> stat.mineBlock.minecraft.diamond_ore
stat.mineBlock.minecraft.ブロック名 の順番です。
18

注意点として、クリエイティブモードで壊してもカウントされません。サバイバルモードで自力で壊した時のみカウントされます。また、ブロックに対して適切なツールで壊さないとカウントされません。例えば砂利を素手で壊してもスコアは増えません。(※スコアボードを作成しただけでは、右のスコアは表示されませんのでご安心下さい。)


特定のエンティティを倒したらカウントする「stat.killEntity」

次にご紹介するのは、特定のエンティティ(Mob)を倒したらスコアが増える「stat.killEntity」です。これを活用すれば、ゾンビ狩り対決とかできるのでかなり役に立ちますよ。

ゾンビを倒した回数をカウントするSBを作成
/scoreboard objectives add <好きな名前> stat.killEntity.Zombie

▲とっても単純で、「stat.killEntity.エンティティID」と書くだけです。エンティティIDは、以下のものが使えます。

「stat.killEntity.○○」に入るエンティティ名一覧
  • Bat (コウモリ)
  • Blaze (ブレイズ)
  • CaveSpider (洞窟グモ)
  • Chicken (ニワトリ)
  • Cow (牛)
  • Creeper (クリーパー)
  • Enderman (エンダーマン)
  • Endermite (エンダーマイト)
  • EntityHorse (馬)
  • Ghast (ガスト)
  • Guardian (ガーディアン)
  • LavaSlime (マグマキューブ)
  • MushroomCow (ムーシュルーム)
  • Ocelot (ネコ)
  • Pig (ブタ)
  • PigZombie (ゾンビピッグマン)
  • Rabbit (ウサギ)
  • Sheep (ヒツジ)
  • Silverfish (シルバーフィッシュ)
  • Skeleton (スケルトン)
  • Slime (スライム)
  • Spider (クモ)
  • Squid (イカ)
  • Villager (鼻がでかく臭くて大きなオモチャ、村人)
  • Witch (魔女)
  • Wolf (オオカミ)
  • Zombie (ゾンビ)

ほとんど全てのMobに対して設定できます。例として、ゾンビを先に20体倒した方が賞品をもらえる、とか良さそうですね。


特定のエンティティに倒されたらカウントする「stat.entityKilledBy」

最後にご紹介するのは、プレイヤーが特定のエンティティに倒されたらスコアが増える、その名も「stat.entityKilledBy」です。倒されたら増えます。面白い機能ですね。

ゾンビに倒された回数をカウントするSBを作成
2015-1-30_22-23-51
/scoreboard objectives add <好きな名前> stat.entityKilledBy.Zombie

「stat.entityKilledBy.エンティティID」の順番に書きます。エンティティIDは、先述した一覧のものを使って下さい。当たり前ですが、ヒツジなどの動物に設定しても永遠にスコアが増えることはないでしょう。


(バージョン1.9から) 特定のアイテムを拾った回数をカウントする「stat.pickup」

バージョン1.9で「stat.pickup」が追加され、「特定のアイテムを拾った回数」をカウントできるようになりました。例えば「ハズレアイテムを拾ってしまったらゲームオーバー」などのミニゲームが作れますね。

ダイヤモンドを拾った回数をカウントするSBを作成
/scoreboard objectives add <好きな名前> stat.pickup.minecraft.diamond
stat.pickup.minecraft.アイテム名 の順番です。

(バージョン1.9から) 特定のアイテムを落とした回数をカウントする「stat.drop.○○」

バージョン1.9で「stat.drop」が強化され、後ろにアイテム名を追記して特定のアイテムをドロップした回数のみカウントできるようになりました。例えば「ダイヤモンドを落とした人は死亡」などの仕掛けが作れますね。

ダイヤモンドを落とした回数をカウントするSBを作成
/scoreboard objectives add <好きな名前> stat.drop.minecraft.diamond
stat.drop.minecraft.アイテム名 の順番です。

参考にさせて頂いたページ

Scoreboard - Minecraft Wiki
Statistics - Minecraft Wiki
スポンサーリンク

毎度毎度ツイート、コメント等ありがとうございます。Twitterではブログの更新状況など色々呟いてます。気軽にフォロー下さい。

この記事を読んだ人は、こんな記事も読んでいます

スポンサーリンク

コメント