「コマンドブロック≪リピート・常時実行≫」と言われたとき、どこをどう触るか。先に表で置いておきます。
種類は「いつ動き出すか」、動力設定は「redstoneが要るか」、条件付きは「直前のチェーンが成功したときだけ動くか」。実際に使う組み合わせは、だいたい5つです。
よく使う組み合わせ
迷ったら、この5つのどれかです。
| 種類 | 動力設定 | 条件 | 使いどころ |
|---|---|---|---|
| インパルス | 動力が必要 | 無条件 | ボタン・レバーで1回だけ |
| リピート | 常時実行 | 無条件 | 毎ティック判定し続ける |
| リピート | 動力が必要 | 無条件 | レバー等でオン/オフ |
| チェーン | 常時実行 | 無条件 | 前の成否に関わらず続けて |
| チェーン | 常時実行 | 条件付き | 前が成功したときだけ |
メモ「コマンドブロック≪A・B≫」という書き方は、この表の「種類」と「動力設定」を指しています。
3つの種類
| 種類 | 動き出す合図 |
|---|---|
| インパルス(オレンジ) | redstoneの信号を受けたとき、1回だけ |
| チェーン(緑) | 矢印でつながった前のブロックが実行された直後 |
| リピート(紫) | 合図を待たず、条件を満たすかぎりずっと |
メモチェーンは1個だけ置いても動きません。前のブロックの矢印が、自分のほうを向いている必要があります。
条件付き/無条件
これは実質チェーン専用の設定です。ここ大事。
| 設定 | 動き |
|---|---|
| 無条件 | 自分の番が来たら、とにかく実行 |
| 条件付き | 直前のブロックが成功したときだけ実行 |
execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run playsound minecraft:block.note_block.pling master @s ~ ~ ~
execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run playsound note.pling @s ~ ~ ~
execute as @a at @s run tp @s ~ ~5 ~
注意2個目を無条件にすると、1個目の結果に関係なく全員が毎ティックテレポートし続けます。条件付きが効くのは、直前の1個との関係だけです。
常時実行/動力が必要
| 設定 | 動き |
|---|---|
| 常時実行 | redstoneの信号が無くても、条件を満たせば動く |
| 動力が必要 | 信号が来ているあいだだけ動く |
メモ「インパルス・常時実行」はほとんど使いません。外部の合図を待たず毎ティック動いてしまい、実質リピートと同じになります。
置き方で、矢印の向きが決まる
上面のマークが「○」か「矢印」かで、つながるかどうかが分かります。
- Java版:置きたいマスのすぐ近く(1マス程度)に立って置く
- 統合版/BE:ジャンプしながら、自分の足元に置く
- 置きたいマスから2〜3マス離れて置くと、自分のほうを向いた矢印になる
- しゃがみながら(Shift)置くと、距離に関係なく自分のほうを向いた矢印になる
注意インパルス同士は、上面が「○」でも隣り合っていると一緒に実行されることがあります。別々に動かしたいものは、1マス以上あいだを空けて置いてください。
動かないとき
チェーンをつなげたのに反応しない
上面が「○」のままか、矢印の向きがそろっていない可能性があります。置き方を見直してください。
別々のつもりのインパルスが一緒に動く
隣接していると連動することがあります。1マス以上あいだを空けてください。
条件付きにしたのに思ったように止まらない
条件付きが見ているのは、直前の1個だけです。2つ以上前の結果は見ていません。
常時実行にしたのに動かない
if や unless の条件そのものを満たしていないかもしれません。条件なしで動くか先に試すと切り分けられます。
置く順番を変えたら動かなくなった
チェーンは並び順どおりに同じ瞬間に実行されます。「まだ〜でなければ」の判定は、印を付けるコマンドより前に置いてください。