更新日:
3種類の違い
| 種類 | 色 | 動き方 | 向いている用途 |
|---|---|---|---|
| インパルス | オレンジ | 信号を受けたときに1回だけ実行 | ボタンで1回アイテムを配る、スタート合図 |
| チェーン | 緑 | 矢印の後ろにあるブロックが動いた直後に実行 | 複数のコマンドを順番に実行 |
| リピート | 紫 | 動いている間、毎ティック(1秒に20回)実行 | 常に状態を監視する、エフェクトをかけ続ける |
入手方法
コマンドブロックはクリエイティブのインベントリには出てきません。チートを許可したワールドで、次のコマンドで入手します。
/give @p minecraft:command_block
種類はブロックを右クリックして開く画面で切り替えます。サーバーではserver.propertiesのenable-command-blockをtrueにしないと動きません(1.21.8以前)。Java版1.21.9以降はこの設定がなくなり、コマンドブロックは最初から動きます。止められているときは /gamerule command_blocks_work true で戻します(1.21.9〜1.21.10は commandBlocksEnabled)。
「動力が必要」と「常時実行」
- 動力が必要:レッドストーン信号(ボタン、レバー、感圧板など)を受けたときだけ動きます。
- 常時実行:信号なしで動きます。リピートを常時実行にすると、置いた瞬間から動き続けます。チェーンはふつう常時実行にして、前のブロックの動きに合わせます。
「条件付き」と「無条件」
条件付きにすると、矢印の後ろ側にあるブロックのコマンドが成功したときだけ実行します。たとえば「ダイヤを持っているか調べる → 持っていたら報酬を渡す」という流れが作れます。
[リピート・常時実行] execute if entity @p[distance=..3] run say 近くにいます
[チェーン・条件付き] give @p[distance=..3] minecraft:emerald 1
1つ目が成功(近くにプレイヤーがいる)したときだけ、2つ目が動きます。ただしリピートなので毎ティック実行される点に注意してください。1回だけ渡したいときは、タグやスコアで「もう渡した」印を付けます。
チェーンの向きに注意
チェーンは、矢印が自分の方を向いているブロックから順番につながります。置くときの向きで矢印の向きが決まるので、前のブロックから次のブロックへ矢印がつながるように並べます。向きが1つずれていると、途中から先が動きません。
チャットに実行結果が出て邪魔なとき
# Java版1.21.11以降
/gamerule minecraft:command_block_output false
# Java版1.21.10以前
/gamerule commandBlockOutput false
# 統合版
/gamerule commandblockoutput false
リピートでsayやgiveを使うと、チャットが結果で埋まることがあります。上のコマンドで表示を止められます。
統合版だけの設定
統合版のコマンドブロックには「ティック遅延」があり、実行までの待ち時間を指定できます。Java版で同じことをするときは、スコアボードでカウントするか、データパックの/scheduleを使います。
動かないときの確認ポイントはコマンドブロックが動かない原因、組み立ての手順は失敗しにくい作り方にまとめています。
よくある質問
コマンドブロックを置いても画面が開きません。
クリエイティブモードでOP権限(シングルプレイならチート許可)が必要です。サバイバルモードでは右クリックしても開けません。
リピートで1回だけ実行したいです。
リピートは止めない限り動き続けます。1回だけならインパルスにするか、実行後にタグを付けて@a[tag=!done]のように「まだ実行していない人」だけを対象にします。
チェーンを長くつなげると途中で止まります。
向きのずれのほかに、途中のブロックが「動力が必要」になっていないか確認します。チェーンは前のブロックが実行されても、自分に信号がないと動きません。