マインクラフトJavaEditionにおけるコマンドブロックについて解説します。
本記事はバージョン1.21.1の情報をもとに記載しています。
コマンドブロックとは
コマンドブロックは、コマンドを設定することができ、レッドストーン信号によって任意のタイミングで実行することができるブロックです。
予めコマンドブロックを設定しておくことで、大規模なコマンドの実行やよく使うコマンドを楽に実行することができます。
なお、コマンドブロックは通常クリエイティブインベントリからは入手することができません。
一例として、以下のgiveコマンドをチャット欄に入力することで入手できます。
/give @s minecraft:command_block
使用方法
コマンドブロックは設置後、右クリックすることで下図の画面を開きます。
コンソールコマンドの欄は、コマンドブロックに実行させたいコマンドを入力します。
(コマンドブロックに入力する際、最初のスラッシュ”/”は不要)
表示された画面の中央にある①~③のボタンは、クリックすることで切り替え可能です。
それぞれ以下の項目を設定することができます。
①コマンドブロックの種類
②実行の条件
③動力の要否
コマンドブロックの種類
色の異なる3種類のコマンドブロックが存在します。
それぞれ挙動が異なるため1つずつ解説します。
インパルス
レッドストーン信号を受け取った際に1度だけコマンドを実行します。
チェーン
レッドストーン信号を受け取っている状態で、繋がっている他のコマンドブロックが実行された際に、コマンドを実行します。
そのため単体では利用せずに、インパルスやリピートが起点となるコマンドブロック群と組み合わせて使います。
コマンドブロックを繋げるには、コマンドブロックが向いている方向にリピートコマンドブロックを設置する必要があります。
上図の矢印の通りコマンドブロックを設置すると、向いてる方向のコマンドブロックが連鎖的に発動します。
リピート
レッドストーン信号を受け取っている間、コマンドを実行し続けます。
コマンドは毎tick実行され、レッドストーン信号が停止するまで止まりません。
(1秒=20tick)
実行の条件
無条件
特に条件はなく、コマンドブロックの種類に応じてコマンドが実行されます。
条件付き
条件付きの設定にすると、その前に設置されているコマンドブロックの実行が成功した場合に限りコマンドを実行します。
例えば下図の場合、
②の条件付きのコマンドブロックは、①のコマンドブロックの実行が成功した場合のみコマンドを実行します。
同様に、③の条件付きのコマンドブロックも、②のコマンドブロックが成功した場合のみコマンドを実行します。
動力の要否
動力が必要
デフォルトの設定で、レッドストーン信号を受け取ることでコマンドが実行されます。
常時実行
常にレッドストーン信号を受け取っている状態となるため、
以下の通りコマンドブロックが実行されます。
インパルス:一度だけコマンドが実行され、以降は動力が必要に戻さない限り実行されません
チェーン:繋がっている他のコマンドブロックが実行されるとコマンドが実行されます
リピート:常にコマンドが実行されます
注意事項
条件付きの参照先
条件付きのコマンドブロックは向きの反対側を参照します。
一直線上に配置している場合はあまり考える必要はありませんが、一つ前に繋がっているコマンドブロックが対象ではありません。
画像で示すと以下の通りで、青色の矢印が参照先です。
右下に位置するコマンドブロックは下にあるブロックを参照しており、この場合は左のコマンドブロックが実行に成功していても、右下のコマンドブロックはコマンドを実行することはできません。
実行者と実行座標について
普段チャット欄でコマンドを実行していた際は、実行者がコマンドを入力しているプレイヤー自身でしたが、通常コマンドブロックは実行者を識別することができませんので注意が必要です。
実行座標はコマンドブロックが設置されている座標となるため、相対的な座標を指定することができます。
※別記事で紹介予定のexecuteコマンドを利用することで実行者を指定することができます。
コメント