【マイクラ】コマンドチェーンとは?実行順・条件付き実行・遅延を解説【Java/統合版】

この記事は、コマンドブロックを使い始めた方向けの記事です
Java版・統合版(BE)の違いも含めて整理しています
Java版1.21.11以降では、ゲームルール名の形式が変更されています

こんにちは。ゆずかきです。

マイクラでコマンドブロックを触り始めると、かなり早い段階で出てくるのが、コマンドチェーンです。

コマンドを1個だけ動かすなら、インパルスコマンドブロックに /give/tp を入れれば済みます。
でも、実際にミニゲームや配布ワールド風のギミックを作ろうとすると、

プレイヤーを検知する
条件を満たしたら演出を出す
アイテムを渡す
タグを付ける
最後に状態をリセットする

…という感じで、複数のコマンドを順番に実行したくなるんですよね。

そこで使うのが、チェーンコマンドブロックをつないで処理を流す仕組みです。

ただ、このコマンドチェーンは初見だとかなり混乱しやすいです。
筆者も最初は、

  • 矢印の向きが逆で動かない
  • 条件付きにしたのに、なぜか後ろのコマンドが動く
  • Java版に遅延設定が見当たらない
  • 統合版の記事をJava版で真似して失敗する

…というミスを何度もやりました。

この記事では、マイクラのコマンドチェーンの基本仕様・実行順・条件付き実行・遅延の作り方を、Java版と統合版の違いも含めて解説していきますね。

この記事を読めば、次のことが分かります。

  • コマンドチェーンとは何かが分かります👌
  • インパルス・チェーン・リピートの使い分けが分かります
  • 条件付き実行で失敗しやすいポイントを避けられます
  • Java版と統合版の遅延の違いが分かります
  • コマンドブロックが動かない時のチェックポイントが分かります

それでは、やっていきましょう!

※本記事はコマンド初心者〜中級者向けです。
※コマンドの構文はバージョン差が出る場合があります。実際に使う時は、自分のワールドの補完候補も確認してください。
※Java版1.21.11以降では、ゲームルール名が従来のキャメルケースから、名前空間付きのスネークケース形式へ変更されています。


目次

1. コマンドチェーンとは
2. コマンドブロック3種類の役割
3. コマンドチェーンの実行順
4. 条件付き実行とは
5. Java版と統合版の遅延の違い
6. 実際に小さなチェーンを組んでみる
7. リピート起点のチェーンで毎tick処理を作る
8. 遅延を入れたい時の作り方
9. Java版と統合版で違う注意点
10. コマンドチェーンが動かない時のチェックポイント
11. まとめ
12. 引用・参考文献

この記事で分かること
・マイクラのコマンドチェーンの基本
・コマンドブロックの実行順と条件付き実行
・Java版と統合版の遅延仕様の違い
・初心者がやりがちなミスと対策


1. コマンドチェーンとは

コマンドチェーンとは、複数のコマンドブロックをつなげて、順番にコマンドを実行する仕組みです。

マイクラには、コマンドを実行できる特殊なブロックとしてコマンドブロックがあります。
その中でも、シアン系のチェーンコマンドブロックを使うと、前のコマンドブロックの実行をきっかけにして、次のコマンドへ処理を流せます。

イメージとしては、こんな感じですね。

起点のコマンドブロック
↓
チェーンコマンドブロック1
↓
チェーンコマンドブロック2
↓
チェーンコマンドブロック3

例えば、ボタンを押した時に、

  1. チャットにメッセージを出す
  2. プレイヤーにアイテムを渡す
  3. 効果音を鳴らす
  4. タイトルを表示する

こういう処理を順番に流したい時、コマンドチェーンが便利です。

ただし、ここで大事なのは、ただ横に並べれば動くわけではないということです。

コマンドチェーンで見るべきポイントは、主にこの4つです。

  • コマンドブロックの種類
  • 矢印の向き
  • 常時実行か、レッドストーンが必要か
  • 条件付きか、無条件か

この4つのどれかが間違っていると、見た目はつながっているのに動かない…ということが普通に起きます。

ここ大事です
コマンドチェーンは、コマンドブロックを並べる作業というより、実行の流れを矢印でつなぐ作業です。

初心者さんはまず、コマンドの内容よりも、矢印の向きと設定を見た方が上達が早いと思います。


2. コマンドブロック3種類の役割

コマンドチェーンを理解するには、まずコマンドブロックの種類を整理しておきましょう。

コマンドブロックには、主に3種類あります。

種類 主な役割 よく使う場面
インパルス オレンジ 起動した時に1回だけ実行 ボタン・レバーで1回動かす処理
チェーン シアン系 前のコマンドブロックから処理を受けて実行 複数コマンドを順番に流す処理
リピート 起動中、繰り返し実行 常時検知・毎tick処理


インパルスコマンドブロック

インパルスは、1回だけ実行する起点としてよく使います。

ボタンを押した時に1回だけ動かしたい。
レバーを入れた瞬間に1回だけ処理したい。

こういう時は、インパルスが分かりやすいです。

初心者さんが最初に触るなら、まずはインパルスからで大丈夫です。

チェーンコマンドブロック

チェーンは、この記事の主役です。

前のコマンドブロックから処理が流れてきた時に、自分のコマンドを実行します。
そのため、単体で置いても基本的には使いにくいです。

チェーンを使う時は、基本的に、

インパルス → チェーン → チェーン → チェーン

または、

リピート → チェーン → チェーン → チェーン

という形で使います。

リピートコマンドブロック

リピートは、起動している間、繰り返しコマンドを実行します。

Java版では、基本的に1ゲームtickごとに実行されます。
マイクラは通常、1秒あたり20tickで動くので、1tickはだいたい0.05秒です。

統合版では、GUI上の遅延設定を使うことで、リピートコマンドブロックの実行間隔を調整できます。
ここはJava版と統合版でかなり違うので、後半で詳しく解説しますね。

筆者のおすすめ
初心者さんは、まず「インパルス起点のチェーン」から始めるのがおすすめです。
リピート起点は便利ですが、失敗すると毎tickでエラーを出し続けるので、最初は少し扱いに注意です。


3. コマンドチェーンの実行順

コマンドチェーンで一番大事なのは、実行順です。

コマンドブロックは、置いた順番ではなく、矢印の向きで処理が流れます。

つまり、横にきれいに並んでいても、矢印が逆を向いていたら動きません。
ここが最初のつまずきポイントです。

基本の流れ

例えば、次のようにコマンドブロックを並べるとします。

[インパルス] → [チェーン1] → [チェーン2] → [チェーン3]

この場合、実行順は、

  1. インパルス
  2. チェーン1
  3. チェーン2
  4. チェーン3

になります。

ここで重要なのは、インパルスの矢印がチェーン1を向いていることです。
さらに、チェーン1の矢印がチェーン2を向き、チェーン2の矢印がチェーン3を向いている必要があります。

初心者さん向けの覚え方
コマンドは、コマンドブロックの矢印が向いている方向へ流れます。
配線というより、ベルトコンベアみたいに見ると分かりやすいです。

チェーンコマンドブロックは常時実行にする

チェーンコマンドブロックを使う時は、基本的に常時実行にしておくのがおすすめです。

Java版では、コマンドブロックの設定で、

  • 動力が必要
  • 常時実行

のような切り替えがあります。

統合版でも、レッドストーン設定で、

  • レッドストーンが必要
  • 常時実行

のような切り替えがあります。

チェーンコマンドブロックを「動力が必要」のままにすると、前から処理が流れてきても、自分のコマンドが実行されないことがあります。

なので、最初はこう覚えておけばOKです。

チェーンコマンドブロックは、基本的に常時実行にする

もちろん、高度な装置ではあえてレッドストーン制御することもあります。
ですが、初心者さんがコマンドチェーンの練習をする段階では、常時実行の方が圧倒的に分かりやすいです。

同じtick内で順番に実行される

Delay in Ticksを使わない通常のチェーンでは、チェーンコマンドブロックは基本的に同じゲームtick内で順番に処理されます。

つまり、

1番目でタグを付ける
2番目でそのタグを持つプレイヤーに効果を付ける
3番目でタグを消す

というような処理もできます。

ただし、ここでやりすぎると、コマンドが重くなります。
特に、@e で大量のエンティティを対象にしたり、リピートで毎tick動かしたりすると、ワールドが重くなりやすいです。

コマンドチェーンは便利ですが、何でも毎tickで流せば良いわけではありません。
サバイバルワールドで使うなら、対象を絞る・処理を分ける・必要な時だけ動かす、という意識が大事です。


4. 条件付き実行とは

コマンドチェーンで次に大事なのが、条件付き実行です。

コマンドブロックには、

  • 無条件
  • 条件付き

という設定があります。

無条件は、前のコマンドが成功しても失敗しても、自分のコマンドを実行しようとします。
条件付きは、背中側のコマンドブロックが成功している時だけ、自分のコマンドを実行します。

「前のブロック」ではなく「背中側」を見る

ここ、かなり大事です。

条件付き実行は、なんとなく「前のコマンドが成功したら動く」と説明されがちです。
初心者向けにはそれで良いのですが、正確には、コマンドブロックの背中側にあるブロックの成功状態を見ます。

つまり、矢印の向きがズレていると、思っているブロックを条件にしていないことがあります。

背中側  →  コマンドブロック  →  矢印の向き

この向きで考えると分かりやすいです。

ここでミスりやすいです
条件付きは「自分の左にあるブロック」や「自分の直前に置いたブロック」を見るわけではありません。
そのコマンドブロックの向き基準で、背中側を見ます。

条件付きは「チェーン全体を完全停止」ではない

これも、かなり大事です。

条件付きコマンドブロックは、前の成功条件を満たさない時、自分のコマンド本文を実行しません。
ただし、チェーンの流れそのものは後ろへ進む場合があります。

そのため、例えば、

[検知] → [条件付き:報酬を渡す] → [無条件:完了メッセージ]

という形にすると、検知に失敗して報酬を渡していないのに、完了メッセージだけ出る可能性があります。

これを防ぐには、成功時だけ動かしたい部分をまとめて条件付きにします。

[検知] → [条件付き:報酬を渡す] → [条件付き:完了メッセージ]

こうしておくと、検知が成功した時だけ、後ろの成功処理も動く形にしやすいです。

条件付きと無条件の使い分け

分かりやすいよう、使い分けを表にするとこんな感じです。

設定 意味 使う場面
無条件 前の成功・失敗に関係なく実行を試みる 必ず最後にリセットしたい処理など
条件付き 背中側のコマンドブロックが成功した時だけ実行 検知成功時だけ報酬・演出を出したい時


例えば、プレイヤーが特定の場所に来た時だけアイテムを渡したいなら、

[検知:無条件]
↓
[アイテム付与:条件付き]
↓
[メッセージ表示:条件付き]

という形にすると分かりやすいです。

逆に、処理の最後で一時タグを消す場合は、失敗しても実行したいことがあるため、あえて無条件にすることがあります。

[検知]
↓
[条件付き:効果付与]
↓
[無条件:一時タグを削除]

このように、条件付きはただ全部ONにすれば良いわけではありません。
成功した時だけ動かしたい処理か、必ず動かしたい処理かで分けるのがコツです。


5. Java版と統合版の遅延の違い

コマンドチェーンでかなり質問が多いのが、遅延です。

例えば、

ボタンを押してから3秒後にテレポートしたい
メッセージを出してから2秒後に効果音を鳴らしたい
リピート処理を毎tickではなく1秒ごとにしたい

こういう時ですね。

ここで注意が必要なのは、Java版と統合版で遅延の扱いが違うことです。

項目 Java版 統合版(BE)
GUI上の遅延設定 基本的になし Delay in Ticks がある
リピートの間隔調整 基本は毎tick。別の仕組みで調整 遅延tickで調整可能
よく使う遅延方法 スコアボード・レッドストーン・function Delay in Ticks・Execute on First Tick
初心者向けの扱いやすさ 少し工夫が必要 GUIで設定しやすい


tickとは?

マイクラでは、通常、20tick = 1秒です。

そのため、統合版の遅延設定で、

  • 20tick = 約1秒
  • 40tick = 約2秒
  • 60tick = 約3秒
  • 100tick = 約5秒

という感覚で設定できます。

ただし、ワールドが重くてTPSが落ちている場合、体感の時間は伸びることがあります。
これはJava版でも統合版でも、重いワールドでは起きる現象です。

統合版のDelay in Ticks

統合版では、コマンドブロックの設定にDelay in Ticksがあります。

インパルスやチェーンでは、起動・トリガーされてから指定tick待って実行するような使い方になります。
リピートでは、繰り返し実行する間隔の調整に使えます。

さらに、統合版のリピートコマンドブロックには、Execute on First Tickという設定もあります。
これは、リピートが起動した直後にすぐ1回実行するか、最初の遅延が終わってから実行するかを決める設定です。

Java版はスコアボードなどで遅延を作る

Java版のコマンドブロックには、統合版のようなDelay in TicksのGUI設定が基本的にありません。

そのため、Java版で遅延を作る場合は、

  • レッドストーンリピーターで遅らせる
  • スコアボードでタイマーを作る
  • データパックのfunctionでスケジュール処理を使う

といった方法を使います。

初心者さんがコマンドブロックだけで作るなら、まずはスコアボードタイマーが分かりやすいと思います。
後半で実例を紹介しますね。

注意!
統合版の記事で「Delay in Ticksを40にする」と書いてあっても、Java版のコマンドブロック画面には同じ設定がありません。
Java版では、別の方法で2秒遅延を作る必要があります。


6. 実際に小さなチェーンを組んでみる

ここからは、実際に小さなコマンドチェーンを組むイメージで解説します。

まずは一番シンプルな、ボタンを押したら複数の処理を順番に実行する形です。

作るもの

今回は、ボタンを押したら、

  1. チャットに開始メッセージを出す
  2. 一番近いプレイヤーにダイヤを1個渡す
  3. 完了メッセージを出す

という流れを作ります。

配置

配置はこのようにします。

[インパルス] → [チェーン1] → [チェーン2]

設定はこうです。

位置 種類 条件 動力 コマンド例
1個目 インパルス 無条件 動力が必要 say コマンドチェーン開始
2個目 チェーン 条件付き 常時実行 give @p minecraft:diamond 1
3個目 チェーン 条件付き 常時実行 say ダイヤを配布しました


この状態で、1個目のインパルスコマンドブロックにボタンを付けます。
ボタンを押すと、インパルスが実行され、その矢印の先にあるチェーンへ処理が流れます。

この構成で確認したいこと

この小さな練習で確認したいのは、次の3つです。

  • チェーンコマンドブロックの矢印が正しい方向を向いているか
  • チェーン側が常時実行になっているか
  • 条件付きにした時、前の成功状態を見て動いているか

もし動かない場合は、まずコマンド本文ではなく、向きと設定を見ましょう。

体験談
筆者は最初、チェーンコマンドブロックの矢印を逆向きに置いていて、コマンド自体が悪いと思い込んでいました。
でも実際は、コマンドではなく向きが原因でした。
コマンドチェーンでは、矢印確認が本当に大事です。

Java版と統合版でコマンド名が違う場合がある

上の例はJava版寄りの書き方です。
統合版では、コマンド構文やアイテムIDの補完表示が異なる場合があります。

そのため、統合版で使う場合は、コマンドブロック内で補完される候補を見ながら調整してください。

特に、Java版の記事から統合版へそのままコピーする時は注意です。
コマンドチェーンの考え方は似ていますが、コマンド構文は完全一致しないことがあります。


7. リピート起点のチェーンで毎tick処理を作る

次は、リピートコマンドブロックを起点にしたチェーンです。

リピート起点は、

  • プレイヤーが特定ブロックの上にいるか検知する
  • 特定範囲に入ったら効果を付ける
  • ミニゲームの状態を常時監視する

こういう時に使います。

ただし、毎tickで動くため、処理が重くなりやすいです。
最初は小さい範囲・少ない対象で試すのがおすすめです。

例:金ブロックの上に乗ったプレイヤーに移動速度上昇を付ける

Java版の例として、金ブロックの上にいるプレイヤーへ短い移動速度上昇を付ける処理を考えます。

配置はこうです。

[リピート] → [チェーン1] → [チェーン2]

設定例はこちらです。

位置 種類 条件 動力 コマンド例
1個目 リピート 無条件 常時実行 execute as @a at @s if block ~ ~-1 ~ minecraft:gold_block run tag @s add on_gold_block
2個目 チェーン 条件付き 常時実行 effect give @a[tag=on_gold_block] minecraft:speed 1 1 true
3個目 チェーン 無条件 常時実行 tag @a[tag=on_gold_block] remove on_gold_block


この構成では、1個目で金ブロック上のプレイヤーに一時タグを付けます。
2個目で、そのタグを持つプレイヤーに効果を付けます。
3個目で、最後に一時タグを消します。

3個目を無条件にしているのは、タグが残りっぱなしになる事故を避けるためです。

ここがポイント
コマンドチェーンでは、途中で付けた一時タグを最後に消す設計にしておくと、事故が減ります。
特にリピート起点では、タグの消し忘れに注意しましょう。

毎tick処理は必要最小限にする

リピートコマンドブロックは便利ですが、何でも毎tickで動かすと重くなります。

例えば、

execute as @e at @s run ...

のように、全エンティティを毎tick対象にする処理は、ワールドによっては負荷が大きいです。

できるだけ、

  • @a でプレイヤーだけにする
  • 距離指定で範囲を絞る
  • タグで対象を絞る
  • 毎tickではなく数tickごとにする

といった工夫をしましょう。

コマンドは動けばOKではなく、軽く動くかも大事です。


8. 遅延を入れたい時の作り方

ここでは、実際に遅延を入れる考え方を整理します。

結論から言うと、

  • 統合版:Delay in Ticksを使う
  • Java版:スコアボードやレッドストーンで作る

この理解で大丈夫です。

統合版:Delay in Ticksで2秒後に実行する

統合版では、コマンドブロックの設定にDelay in Ticksがあります。

2秒後に実行したいなら、

20tick × 2秒 = 40tick

なので、Delay in Ticksを40にします。

例えば、ボタンを押してから2秒後にメッセージを出したい場合、インパルスコマンドブロックに遅延を入れる、またはチェーン側に遅延を入れる形で調整できます。

統合版ではGUIで設定できるため、短い遅延ならかなり扱いやすいです。

統合版:リピートで1秒ごとに実行する

リピートコマンドブロックで毎tickではなく1秒ごとに動かしたい場合も、Delay in Ticksを使えます。

1秒ごとなら、Delay in Ticksを20にします。

ただし、Execute on First Tickの設定によって、起動直後にすぐ動くか、最初の20tick後に動くかが変わります。

  • すぐ1回動かしたい:Execute on First Tickを有効
  • 最初から待たせたい:Execute on First Tickを無効

この違いを覚えておくと、演出のタイミング調整が楽になります。

Java版:スコアボードで2秒遅延を作る

Java版では、統合版のようなDelay in TicksのGUI設定がないため、スコアボードでタイマーを作る方法が便利です。

まず、チャットでスコアボード目標を作ります。

/scoreboard objectives add cb_delay dummy

次に、コマンドブロックをこのように組みます。

[リピート] → [チェーン1] → [チェーン2]

設定例はこちらです。

位置 種類 条件 動力 コマンド例
1個目 リピート 無条件 常時実行 scoreboard players add #timer cb_delay 1
2個目 チェーン 無条件 常時実行 execute if score #timer cb_delay matches 40 run say 2秒経過しました
3個目 チェーン 条件付き 常時実行 scoreboard players set #timer cb_delay 0


40tickで2秒なので、スコアが40になった時にメッセージを出し、その直後にタイマーを0へ戻す形です。

この仕組みを使えば、Java版でも疑似的に遅延や周期処理を作れます。

Java版:単発の遅延ならレッドストーンでもOK

コマンドだけで完結させたい場合はスコアボードが便利ですが、単純な遅延ならレッドストーンでも大丈夫です。

例えば、

ボタン → リピーターを数個 → インパルスコマンドブロック

という形にすれば、物理的に遅延を作れます。

複雑なミニゲームではスコアボード、ちょっとした演出ならレッドストーン、という使い分けで良いと思います。

初心者さん向けの結論
統合版はDelay in Ticks。
Java版はスコアボードタイマー。
まずはこの2つで覚えれば大丈夫です。


9. Java版と統合版で違う注意点

コマンドチェーンの考え方自体は、Java版と統合版で似ています。

ただし、細かい仕様やコマンド構文は違います。
同じ記事を読んでいるのに動かない場合、エディション差が原因のことも多いです。

1. 遅延設定は統合版にある

まず一番分かりやすい違いは、先ほど解説した遅延です。

統合版には、コマンドブロックGUIにDelay in Ticksがあります。
Java版には、同じ見た目の設定は基本的にありません。

そのため、Java版で「Delay in Ticksが見つからない」となっても、それは設定を見落としているわけではありません。
仕様の違いです。

2. コマンド構文が違うことがある

Java版と統合版では、/execute やブロック指定、アイテム指定などの構文が違う場合があります。

統合版では、1.19.50以降に /execute の構文が大きく変わり、条件指定などが以前より細かく扱えるようになりました。
それでも、Java版のコマンドをそのままコピーして必ず通るわけではありません。

特に、次のような部分は注意です。

  • ブロックIDやアイテムID
  • /execute の書き方
  • NBT・コンポーネント周り
  • セレクター引数
  • コマンドの補完候補

迷ったら、コマンドブロック内で途中まで入力し、ゲーム内の補完候補を見ながら組むのがおすすめです。

3. Java版1.21.11以降はゲームルール名が変わっている

Java版1.21.11以降では、ゲームルール名が従来のキャメルケースから、minecraft: で始まる名前空間付きのスネークケース形式へ変わっています。

コマンドチェーン周りで関係しやすいものを挙げると、例えば次のような変更があります。

Java版1.21.10以前 Java版1.21.11以降 意味
maxCommandChainLength minecraft:max_command_sequence_length 1回の流れで実行できるコマンド列の上限
commandBlocksEnabled minecraft:command_blocks_work コマンドブロックが動作するかどうか


古い記事や動画では、まだ maxCommandChainLength と書かれていることがあります。
Java版1.21.11以降で調べる時は、minecraft:max_command_sequence_length という新しい名前も覚えておくと安全です。

例えば、現在値を確認するなら、Java版1.21.11以降では次のような形です。

/gamerule minecraft:max_command_sequence_length

コマンドブロックが動かない時に確認するなら、次のような形です。

/gamerule minecraft:command_blocks_work

注意!
Java版の古いバージョンでは新しい名前が使えません。
逆に、Java版1.21.11以降では古い名前のままだと通らないことがあります。
自分のバージョンに合わせて確認しましょう。

4. 統合版ではワールド設定も見る

統合版では、ワールド設定側でコマンドブロックが無効になっていると、そもそもコマンドブロックが動きません。

また、統合版では maxcommandchainlength のようなゲームルールも関係します。
これが0など極端な値になっていると、チェーンが思うように動かない原因になります。

統合版で動かない場合は、

  • チートが有効か
  • コマンドブロックが有効か
  • コマンドブロックの設定が常時実行になっているか
  • maxcommandchainlength が変な値になっていないか

このあたりを確認しましょう。


10. コマンドチェーンが動かない時のチェックポイント

ここまで読んでも、実際に作ると動かないことはあります。
コマンドチェーンは、設定項目が多いので、ちょっとしたミスで止まります。

困った時は、下のチェックリストを順番に見てください。

基本チェック

  • [ ] コマンドブロックを使える権限・チート設定になっているか?
  • [ ] コマンドブロックが無効化されていないか?
  • [ ] 起点はインパルスまたはリピートになっているか?
  • [ ] チェーンコマンドブロックの矢印は次のブロックを向いているか?
  • [ ] チェーンコマンドブロックは常時実行になっているか?
  • [ ] 条件付きと無条件を間違えていないか?
  • [ ] 前のコマンドが本当に成功しているか?
  • [ ] コマンドブロックの出力ログにエラーが出ていないか?

実行順チェック

  • [ ] 起点から最後まで、矢印が一直線につながっているか?
  • [ ] 途中で矢印が横や逆向きになっていないか?
  • [ ] 条件付きブロックの背中側に、成功判定したいブロックがあるか?
  • [ ] 成功時だけ動かしたい処理が、全部条件付きになっているか?
  • [ ] 必ず実行したいリセット処理を、間違って条件付きにしていないか?

Java版チェック

  • [ ] Delay in Ticksを探していないか?(Java版には基本的にありません)
  • [ ] 遅延はスコアボードやレッドストーンで作っているか?
  • [ ] Java版1.21.11以降で、古いゲームルール名を使っていないか?
  • [ ] minecraft:max_command_sequence_length が極端に小さくなっていないか?
  • [ ] 毎tickで重い @e 処理を走らせていないか?

統合版チェック

  • [ ] ワールド設定でコマンドブロックが有効になっているか?
  • [ ] Delay in Ticksの値が想定通りか?
  • [ ] Execute on First TickのON/OFFを間違えていないか?
  • [ ] Java版のコマンド構文をそのまま入れていないか?
  • [ ] maxcommandchainlength が0などになっていないか?

よくある原因ベスト3

筆者の感覚では、コマンドチェーンが動かない原因は、だいたいこの3つです。

  1. 矢印の向きが違う
  2. チェーンが常時実行になっていない
  3. 条件付きにした結果、前の失敗で止まっている

コマンド本文を疑う前に、まずこの3つを見てください。
かなりの確率でここに原因があります。

トラブル時のコツ
いきなり長いチェーンを作らず、まずは3個だけで動作確認しましょう。
3個で動くことを確認してから、1個ずつ増やす方が失敗原因を見つけやすいです。


11. まとめ

以上、マイクラのコマンドチェーンについて、実行順・条件付き実行・遅延を中心に解説しました。

要点を整理すると、次の通りです。

  • コマンドチェーンは、複数のコマンドブロックを順番に実行する仕組み
  • 処理は、コマンドブロックの矢印の向きへ流れる
  • チェーンコマンドブロックは、初心者さんなら基本的に常時実行がおすすめ
  • 条件付き実行は、背中側のコマンドブロックの成功状態を見る
  • 条件付きは「チェーン全体を完全停止」ではなく、後ろのチェーンへ流れる場合がある
  • 統合版にはDelay in Ticksがある
  • Java版で遅延を作るなら、スコアボードやレッドストーンを使う
  • Java版1.21.11以降では、ゲームルール名が新形式に変わっている
  • 動かない時は、まず矢印・常時実行・条件付き設定を確認する

コマンドチェーンは、最初こそ難しく見えます。
でも、一度仕組みが分かると、できることが一気に増えます。

例えば、

  • ミニゲームの開始処理
  • ダンジョンの報酬演出
  • ワールド内の便利装置
  • プレイヤー検知ギミック
  • タグ管理やスコアボード処理

こういうものを、かなり自由に作れるようになります。

初心者さんは、まずは短いチェーンから始めてみてください。

インパルス → チェーン → チェーン

この3個だけでも、コマンドチェーンの基本はかなり掴めます。

慣れてきたら、リピート起点やスコアボードタイマーにも挑戦すると、コマンド装置づくりがかなり楽しくなります。

では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にもマイクラのコマンド・ゲームルール・便利装置について解説しているので、是非ご覧くださいね(^^♪


12. 引用・参考文献

この記事を書くにあたり、以下の公式情報・コミュニティWikiを参考にしています。