/bossbarは、マイクラで体力ゲージを自作できるコマンドです。プレイヤーやMobの残り体力を、エンダードラゴンの体力ゲージと同じように表示できます。ほかのコマンドと組み合わせると、タイマーとしても使用可能。基本的な使い方や実際の入力例を、コマンド初心者にもわかりやすく解説します。
/bossbarコマンドの基本的な使い方
ゲージを作成する
自作の体力ゲージ(ボスバー)を表示するには、まずは表示するゲージを作るコマンドを実行します。コマンド構文は以下のとおりです。
/bossbar add <id> <name>
<id>には自分で決めたゲージのIDを入力し、<name>にはゲージの上に表示する文字列を「"(ダブルクォーテーション)」で挟んで入力します。<name>はあとから変更も可能です。
実際の入力例は次のようになります。
/bossbar add test1 “テストゲージ”
上記のコマンドを実行すると、test1というIDの体力ゲージ(ボスバー)が作成され、チャット欄に「カスタムボスバー[テストゲージ]を作成しました」と表示されます。
この時点では、画面にゲージは表示されません。次に紹介するコマンドを実行して、ゲージを表示します。
ゲージを表示する
作成したゲージは、コマンドで指定した対象にだけ表示されます。以下のコマンドを使って対象を登録しましょう。
/bossbar set <id> players [<targets>]
<id>には表示したいゲージのidを入力します。すでにゲージが作成してあれば、コマンドの入力途中で候補にidが出てくるはずです。入力候補は「minecraft:○○」という形で出ますが、「minecraft:」の部分は省略しても実行可能です。
<targets>で、ゲージを表示するプレイヤーを指定します。@aや@sなどのターゲットセレクターやプレイヤー名などで指定できます。<targets>を入力せずにコマンドを実行すると、ゲージが誰にも表示されない初期状態に戻ります。
例えば、以下のように入力すると、ゲージ(ボスバー)test1が、すべてのプレイヤーに表示されるようになります。
/bossbar set minecraft:test1 players @a
ここまでのコマンドでゲージは表示できたものの、中身が空っぽです。次のコマンドを使って、ゲージの値を指定していきます。
ゲージの値を指定する
作成したばかりのゲージは空っぽです。次のコマンドを使って、ゲージの値を指定しましょう。
/bossbar set <id> value <value>
<id>で値をセットしたいゲージを指定し、<value>でセットする値を指定します。新しく作成したゲージは最大値が100になっているので、例えば<value>に80を入力すればゲージの80%が、30を入力すればゲージの30%が満たされます。
試しに次のようにコマンドを入力してみます。
/bossbar set test1 value 100
すると、表示されているゲージが満タンになりました。
ゲージは満タンになりましたが、エンダードラゴンの体力バーと違って白いバーになっています。実は、ゲージは装飾することが可能です。次はゲージを装飾するコマンドを紹介します。
ゲージの色・区切り・テキストの装飾
ゲージの色を変える
ゲージの色は次のコマンドを使うと変更できます。選べるのは7色。デフォルトではwhiteになっています。
/bossbar set <id> color (blue|green|pink|purple|red|white|yellow)
<id>で操作したいゲージを指定し、colorに続けて色を入力します。例えば以下のように入力すると、ゲージの色がピンクになります。
/bossbar set test1 color pink
ゲージに区切りを表示する
以下のコマンドで、ゲージの区切りを表示させることが可能です。6、10、12、20の区切りが選べます。デフォルトではprogress(区切りなし)になっています。
/bossbar set <id> style (notched_6|notched_10|notched_12|notched_20|progress)
<id>で操作したいゲージを指定し、styleに続けて区切りの種類を入力します。例えば以下のように入力すると、ゲージに20等分の区切りが入ります。
/bossbar set test1 style notched_20
表示名を装飾する
以下のコマンドで表示名を変更することができます。
/bossbar set <id> name <name>
<id>で操作したいゲージを指定し、nameに続けて新たな表示名をダブルクォーテーションではさんで入力します。
装飾する場合は、JSON形式で表示名を記述します。例えば以下のように入力すると、表示名を装飾されたテキストに変更できます。指定しているのは太字(bold)、斜体(italic)、下線(underlined)、文字色(color)です。
/bossbar name test1 {“text”:”装飾された表示名”,”bold”:true,”italic”:true,”underlined”:true,”color”:”yellow”}
ゲージの最大値を変更する
以下のコマンドでゲージの最大値を変更できます。
/bossbar set <id> max <max>
<id>で操作したいゲージを指定し、maxに続けて最大値を入力します。デフォルトでは100です。以下のコマンドを実行すると、ゲージの最大値が200に変更されます。
/bossbar set test1 max 200
ゲージを削除する
以下のコマンドで作成したゲージを削除することができます。
/bossbar remove <id>
以下のコマンドを実行すれば、ボスバーtest1が削除されます。
/bossbar remove test1
/bossbarコマンドでタイマーを作る方法
/bossbarコマンドは、他のコマンドと組み合わせて使うことがほとんどです。ここでは、bossbarのゲージをタイマーとして使う方法を紹介します。だいたいの流れは、次のようになります。
- /bossbarでゲージを作成
- /bossbarでゲージを表示
- /bossbarでゲージの最大値を変更
- /scoreboardでスコアを作成
- /scoreboardでスコアの値をセット(コマンドブロック)
- /execute、/scoreboardでスコアの値を減らす(コマンドブロック)
- /execute、/scoreboardでスコアの値を代入(コマンドブロック)
ここで紹介する/bossbarのタイマーは、/scoreboardコマンドや/executeコマンドを使います。一緒に使うコマンドの効果や入力例については、マイクラのコマンド一覧で紹介しているので、ぜひ合わせてチェックしてください。
/bossbarのゲージを作成する
手順1:/bossbarでゲージを作成する
/bossbar add timer “残り時間”
上記の/bossbarコマンドを実行してゲージを作成します。この例ではidを「timer」に、表示名を「残り時間」にしていますが、自分の好きなidと名前を入力してOKです。
手順2:/bossbarでゲージを表示する
/bossbar set minecraft:timer players @a
上記の/bossbarコマンドを実行して、一つ前のコマンドで作ったゲージを表示します。@aで全プレイヤーに表示しています。
手順3:/bossbarで最大値を指定する
/bossbar set minecraft:timer max 3600
上記の/bossbarコマンドを実行して、ゲージの最大値を変更します。指定するのは、タイマーの制限時間(秒)×20の値です。ここでは3分のタイマーを作るので3600を指定していますが、5分(300秒)にするなら6000、10分なら12000になります。
タイマー用のスコアを作成する
手順4:/scoreboardでスコアを作成する
/scoreboard objectives add TM dummy
上記の/scoreboardコマンドを実行して、残り時間の表示に使うスコア(dummy)を作成します。例ではスコア名をTMとしていますが、自分がわかりやすい名前をつけてOKです。
コマンドブロックを設置しコマンドを入力する
続いて、コマンドブロックを下の画像のように3つ用意します。
左から、インパルス(無条件、動力が必要)、リピート(無条件、常時実行)、チェーン(条件付き、常時実行)となっています。インパルスのコマンドブロックには、動力源となるスイッチをつけておきます。
手順5:コマブロ(インパルス)にコマンドを入力する
scoreboard players set @a TM 3600
インパルスのコマンドブロック(無条件、動力が必要)に、上記の/scoreboardコマンドを入力します。スコアの値(数字の部分)は、ゲージの最大値と同じものを入力します。今回は3分なので3600です。
手順6:コマブロ(リピート)にコマンドを入力する
execute if score @p TM matches 1.. run scoreboard players remove @a TM 1
リピートのコマンドブロック(無条件、常時実行)に、上記の/executeコマンドを入力します。「最も近いプレイヤーのスコアTMが1以上のとき、全プレイヤーのスコア(TM)を1減らす」というコマンドです。このコマンドは1秒間に20回実行されるので、先ほどセットしたスコア3600がすべて消化されると、ちょうど3分(180秒)になります。
手順7:コマブロ(チェーン)にコマンドを入力する
execute store result bossbar minecraft:timer value run scoreboard players get @p TM
チェーンのコマンドブロック(条件付き、常時実行)に、上記の/executeコマンドを入力します。ゲージ(ボスバー)に、現在のスコアTMの値を代入するコマンドです。
ここまで、/bossbarを使ったタイマーは完成です。コマンドブロックにつけたスイッチを押すと、ゲージが満タンになったあと時間の経過とともに少しずつ減っていきます。
残り30秒のテキストを表示させるコマンドを設定する
残り時間が10秒になったときや、残り時間がなくなったときにテキストを表示させたい場合は、さらにコマンドブロックを追加して、/titleコマンドを設定しておきましょう。例えば、以下のように設定します。
上の画像のように、コマンドブロックを2つ追加します。どちらも「チェーン、条件付き、常時実行」です。ボタンに近い方のコマンドブロックには、次のコマンドを入力します。
execute if score @p TM matches 600 run title @a title “残り30秒”
このコマンドが実行されると、「残り30秒」というタイトルが表示されます。時間を変えたいときは「600」の値を、タイトルのテキストを変えたいときは、「残り30秒」の部分を編集すればOKです。
続いて、最後のコマンドブロックに次のコマンドを入力します。
execute if score @p TM matches 0 run title @a title “終了”
このコマンドが実行されると、画面に「終了」というタイトルが表示されます。これで、タイマーだけではわかりづらい終了のタイミングが、はっきりとわかるようになります。
/bossbarにMobの体力を表示する方法
プレイヤーからもっとも近い場所にいるMobの体力をボスバーに表示する方法を紹介します。流れは次のような感じ。
- /bossbarで表示用ゲージの作成・表示・最大値の設定
- /execute、/dataでMobの体力を取得(コマンドブロック)
- /bossbarで表示名を取得(コマンドブロック)
以下で詳しい手順を解説します。
/bossbarでゲージ作成
次のコマンドを実行し、ゲージを作成します。
手順1:/bossbarでゲージを作成する
/bossbar add hp “体力”
idを「hp」、表示名を「体力」にしています。表示名はあとから変更するので、何でもOK。作ったゲージを、次のコマンドで表示しておきます。
手順2:/bossbarでゲージを表示する
/bossbar set minecraft:hp players @a
ゲージの最大値は、ゾンビやスケルトンに合わせて20としておきましょう。次のコマンドを実行します。
手順3:/bossbarで最大値を指定する
/bossbar set minecraft:hp max 20
次は、コマンドブロックの設定です。
体力の値を取得するコマブロを設置
コマンドブロックを2つ使います。一つ目はリピートコマンドブロック(条件無し、動力が必要)、もう一つはチェーンコマンドブロック(条件無し、常時実行)です。リピートコマンドブロックには、動力源となるレバーをつけておきます。
リピートコマンドブロックには、次のコマンドを設定しておきます。
手順4:コマブロ(リピート)にMobの体力を取得するコマンドを設定する
execute at nishi10 run execute store result bossbar minecraft:hp value run data get entity @e[type=!minecraft:player,type=!minecraft:item,sort=nearest,limit=1] Health
リピートコマンドブロック(無条件、動力が必要)に、上記のように/executeコマンド、/dataコマンドを使ったMobの体力取得用コマンドを入力します。自分からもっとも近いMobの体力を取得してゲージに表示するコマンドです。「nishi10」を自分のプレイヤー名に変更して使ってください。
execute at~でコマンド実行位置をプレイヤーの現在地に指定し、execute store result bossbar~run data~で、ゲージに代入するMobの体力を取得しています。レバーONで常時実行されるので、プレイヤーやMobが動けば、表示されるMobの体力が自動的に切り替わります。
手順5:コマブロ(チェーン)にゲージの表示名を変えるコマンドを設定する
execute at nishi10 run bossbar set minecraft:hp name {“selector”:”@e[type=!minecraft:player,type=!minecraft:item,sort=nearest,limit=1]”}
ゲージに表示される体力が変わったときに表示名も変わったほうがわかりやすいので、上記のコマンドでMobの名前が表示されるようにします。もっとも近くのMobがウシのときは、ウシの体力がゲージに表示され表示名が「ウシ」に、ゾンビのときは「ゾンビ」と表示されます。
以上、/bossbarコマンドの基本的な使い方と、使用例の紹介でした。タイマーや、Mobの体力表示いがいにも、様々な値が表示できます。他のコマンドも使うので少し難易度は高いですが、ぜひ紹介した例を参考にして、いろいろと試してみてください!