マインクラフトでゲームを作る時、コマンドを利用するが、コマンドをただ実行するだけでは複雑なルールを実現することができません。複数のコマンドを組み合わせて、様々な状況に合わせてコマンドを実行するというロジックの作成が不可欠です。そのようなロジックの作成を実現するために利用不可欠なのが「コマンドブロック」です。
この記事ではそのコマンドブロックの作成方法から利用方法まで一通り紹介しますので、ぜひご覧ください。
コマンドブロックとは?
コマンドブロックは、好きな条件下で好きなコマンドを実行することのできるブロックです。
具体的には、「コマンドを実行するタイミング(トリガー)」「実行する処理」の2つに分かれていて、トリガーに合致したタイミングで処理を実行するという動作を行います。
また、このコマンドブロックは、複数個組み合わせて1連の動作として実行することも可能となっており、条件分岐も実現することができます。
事前準備
コマンドブロックを学んだり、コマンドブロックを利用する上で事前に準備しておかなければならないことがあります。もちろん環境が整っていなくても学ぶことはできると思いますが、理解度は大きく変わると思いますので、下記の内容を確認した上で次のコマンドブロックの説明に進んでいただけるとよいかと思います。
- コマンドの使い方を理解している
-
コマンドブロックはコマンドを実行するブロックのため、コマンドがどういうものか理解してしていること・コマンドが使えるように事前に設定する必要があります。下記ページでコマンドの使い方を簡単に説明しておりますので、コマンドとはなんぞや?という方はぜひご覧ください。
- マインクラフト(Java版)を所持している(必須ではない)
-
ベースはJava版の画面で説明をしますので、可能であればJava版のマインクラフトを用意いただけるとよいかと思います。ただ、文言は微妙に違いますが、根本的な仕様は同じですので、もしJava版をお持ちでない方でも十分参考になるはずです。
コマンドブロックの入手方法
コマンドブロックはデフォルトでは手に入れることができません。コマンドブロックを手に入れるためには、コマンドを利用して生成する必要があるため、コマンドを利用できる「チート機能」ONのワールドに入る必要があります。下記ページにて、コマンドが使えるように「チート機能」をONにする方法を記載しておりますので、こちらをご覧いただき、「チート機能」が有効化されたワールドに入りましょう。
コマンドブロックを手に入れるためにはアイテムをプレイヤーに渡すことのできる「give」コマンドを利用します。下記をチャットで入力して実行しましょう。(※「give」コマンドの具体的な使い方はこちらをご覧ください。)
give {ターゲットセレクター} minecraft:command_block
※{ターゲットセレクター}はコマンドブロックを付与したいプレイヤーを指定してください。単純にコマンド実行者にコマンドブロックを私場合は「@p」を入力してください。(詳しい設定方法はこちらをご覧ください。)
「STEP2」でコマンドを実行すると指定したプレイヤーのイベントりにコマンドブロックが入っているはずです。このアイテムを設置することでコマンドブロックを利用することが可能となります。
※実際に実行すると次のようにコマンドブロックがインベントリに追加されます。
コマンドブロックの使い方
続いてコマンドブロックの使い方を紹介します。コマンドブロックは、チェストのように中身を開くと、次の3つの指定が可能となります。
コンソールコマンド
以降で記載する「トリガー」の条件に合致したときに実行されるコマンドを記載します。
トリガーの分類
以降の「チェーンの条件」「起動の仕方」を含める3つの項目で処理を実行するタイミング(トリガー)を設定します。その中でも大枠を設定するのがこの「トリガーの分類」(正式名称ではない)となります。
- インパルス(衝撃)
-
レッドストーンやボタンなど信号を受け取ったときに1回処理が実行される。
- チェーン
-
他のブロックと組み合わせて使用する。1つ前のブロックが実行された後に処理を実行する。
- リピート
-
信号を受け取っている間、繰り返し処理を実行する(1秒間に20回)
チェーンの条件
矢印と反対側にあるブロックの処理の結果によって処理を行うか否かを設定します。
- 無条件
-
1つ前のブロックの処理が成功・失敗に関わらず処理を実行する。
- 条件付き
-
1つ前のブロックの処理が成功の時のみ処理を実行する
動力の必要・不要
処理を実行するか否かの条件に、動力の有無を加えるかを
- 動力が必要
-
(レッドストーン)信号を受け取ったときに処理を実行する
- 常時実行
-
(レッドストーン)信号なしでも処理を実行する。「トリガーの分類」の値で処理の仕方が変化する。
トリガーの分類 動作 インパルス 1度だけ処理が実行されてその後は実行されない チェーン 1つ前のブロックの処理の後実行する リピート 毎秒20回処理を実行する
動作別設定方法
ブロックの設定方法は紹介しましたが、細かい設定となるため、実際にやりたいことがあっても、どのように設定すればよいかわからなくなるかと思いますので、どのように設定するとどのような動作をするのかをまとめました。
実行タイミング(単体) | 実行タイミング(チェーン) | トリガーの分類 | チェーンの条件 | 動力の必要・不要 |
---|---|---|---|---|
信号受信時に実行 | 1つ前のブロック実行後に処理を実行(成功・失敗関係なし) | インパルス | 無条件 | 動力が必要 |
設定後すぐに1度だけ処理を実行 | 1つ前のブロックの実行は無関係 | インパルス | 無条件 | 常時実行 |
信号を受信しても実行されない | 1つ前のブロック実行後に処理を実行(成功したときのみ) | インパルス | 条件付き | 動力が必要 |
設定後すぐに1度だけ処理を実行 | 1つ前のブロックの実行は無関係 | インパルス | 条件付き | 常時実行 |
処理は実行されない | 1つ前のブロック実行後に処理を実行(成功・失敗関係なし) | チェーン | 無条件 | 動力が必要 |
処理は実行されない | 1つ前のブロック実行後に処理を実行(成功・失敗関係なし) | チェーン | 無条件 | 常時実行 |
処理は実行されない | 1つ前のブロック実行後に処理を実行(成功したときのみ) | チェーン | 条件付き | 動力が必要 |
処理は実行されない | 1つ前のブロック実行後に処理を実行(成功したときのみ) | チェーン | 条件付き | 常時実行 |
信号がONの間連続で処理を実行(毎秒20回) | 1つ前のブロック実行後に信号がONの間、連続で処理を実行(成功・失敗関係なし、毎秒20回) | リピート | 無条件 | 動力が必要 |
設定したタイミングから永遠に連続で処理を実行(毎秒20回) | 設定したタイミングから永遠に連続で処理を実行(毎秒20回) | リピート | 無条件 | 常時実行 |
処理は実行されない | 1つ前のブロック実行後に信号がONの間、連続で処理を実行(成功したときのみ、毎秒20回) | リピート | 条件付き | 動力が必要 |
処理は実行されない | 1つ前のブロック実行後から永遠に連続で処理を実行(成功したときのみ、毎秒20回) | リピート | 条件付き | 常時実行 |
リピート |
コメント