【マイクラ】maxCommandChainLengthの意味・初期値・コマンド連鎖上限【Java/統合版】

この記事は、コマンドブロックやfunctionを使い始めた方向けの記事です
Java版1.21.11以降では、maxCommandChainLengthminecraft:max_command_sequence_length に名前が変わっています
これはコマンドの文字数制限ではありません
Java版と統合版で表記・初期値の見え方が少し違うので、そこも整理して解説します

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

マイクラでコマンドブロックを触っていると、ゲームルール一覧に突然出てくる、
maxCommandChainLength という設定があります。

ただし、Java版1.21.11以降ではゲームルール名の形式が変わり、現在の名前は、
minecraft:max_command_sequence_length です。

名前が長いので、初見だと、

コマンドの文字数上限?
チェーンコマンドブロックの個数?
functionにも関係あるの?
初期値の65536って何?

…となりやすい項目です。

結論から言うと、minecraft:max_command_sequence_length は、1回のコマンド実行の流れで、どこまで長いコマンド列を処理するかを決めるゲームルールです。
1.21.10以前のJava版では、同じ役割のゲームルールが maxCommandChainLength という名前でした。

特に、チェーンコマンドブロックを大量につなげる装置や、Java版のfunctionを使ったデータパック系の処理で関係してきます。

普段のサバイバルではほぼ触りません。
でも、コマンド装置を作る方・配布マップを作る方・サーバー管理で重いコマンド処理を調整したい方にとっては、かなり大事な設定です。

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

  • minecraft:max_command_sequence_length の意味が分かります👍
  • 旧名 maxCommandChainLength との違いが分かります👌
  • Java版と統合版での初期値・表記差が分かります
  • 変更していい場面、変更しない方がいい場面を判断できます
  • コマンドが途中で止まる、functionが全部動かない系の原因を切り分けやすくなります

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

※本記事では、マイクラJava版1.21.11以降、1.21.10以前のJava版1.21系列、および統合版1.21系列を前提に整理しています。
※ゲームルールの仕様はアップデートで変わる可能性があります。実際に使う前に、対象ワールドで /gamerule を実行して現在値を確認してください。
※コマンド仕様については、Minecraft Wiki英語版・公式リリースノート・Microsoft Learnを参考にしています。


目次

1. maxCommandChainLengthとは
2. 初期値と対応エディション
3. 現在値の確認方法と変更コマンド
4. 何に効くゲームルールなのか
5. Java版1.21.11での名前変更と、1.20.3以降の重要な変更点
6. 統合版で見る時の注意点
7. いくつに設定すればいい?おすすめ設定の考え方
8. よくある勘違い:これはコマンド文字数の上限ではありません
9. コマンドが途中で止まる時のチェックポイント
10. まとめ
11. 引用・参考文献

この記事で分かること
minecraft:max_command_sequence_length の意味
・旧名 maxCommandChainLength との違い
・Java版と統合版の初期値・表記差
・チェーンコマンドブロックやfunctionで上限に引っかかる時の考え方


1. maxCommandChainLengthとは

まず前提として、maxCommandChainLength はJava版において、 minecraft:max_command_sequence_length の旧名です。
本章では、 minecraft:max_command_sequence_length として解説していきますね。

minecraft:max_command_sequence_lengthの意味と機能について解説

minecraft:max_command_sequence_length は、マイクラのゲームルールのひとつです。

一言で言うと、コマンドブロックの連鎖やfunctionなどで、1回の処理として実行できるコマンド列の上限を決める設定です。

Java版1.21.10以前では、このゲームルールは maxCommandChainLength という名前でした。
Java版1.21.11以降では、ゲームルール名が名前空間付きのスネークケースに整理されたため、minecraft:max_command_sequence_length という名前になっています。

名前を分解すると、こんな感じですね。

  • max = 最大
  • command = コマンド
  • sequence = 並び・連続した処理
  • length = 長さ

つまり、コマンドの連続処理の最大長です。

マイクラには、普通のコマンドブロックのほかに、チェーンコマンドブロックがあります。
インパルスコマンドブロックやリピートコマンドブロックを起点にして、その後ろにチェーンコマンドブロックをつなげると、順番にコマンドを実行できます。

この順番に実行されるコマンド列が長くなりすぎた時、どこまで実行するかを制限するのが minecraft:max_command_sequence_length です。

超重要
minecraft:max_command_sequence_length は、コマンドブロックに入力できる文字数の上限ではありません。
あくまで、実行されるコマンド列の長さに関係するゲームルールです。

普段のワールドで、

  • /give を1回打つ
  • /time set day を使う
  • コマンドブロックを数個だけ使う

くらいであれば、ほぼ気にしなくて大丈夫です。

気にする必要が出てくるのは、

  • チェーンコマンドブロックを大量につなげる
  • リピートコマンドブロックから大規模な処理を走らせる
  • Java版でfunctionを何段も呼び出す
  • データパックで大量のコマンドを1tick内に処理する
  • 統合版のコマンド装置で長いチェーンを組む

こういう場面ですね。

つまりどういうこと?:
普通にコマンドを触っているうちは空気みたいな設定です。
でも、巨大なコマンド装置を作り始めると、急に存在感を出してきます。


2. 初期値と対応エディション

まず、minecraft:max_command_sequence_length と旧名 maxCommandChainLength の見え方を整理します。

👇Java版・統合版での見え方を表にまとめました。

エディション ゲームルール名 初期値の目安 主な対象
Java版1.21.11以降 minecraft:max_command_sequence_length 65536 チェーンコマンドブロック・function
Java版1.21.10以前 maxCommandChainLength 65536 チェーンコマンドブロック・function
統合版 maxcommandchainlength 環境の現在値を確認 チェーンコマンドブロック

Java版1.21.11以降では、maxCommandChainLength ではなく minecraft:max_command_sequence_length を使います。
初期値は、基本的に 65536 と見て大丈夫です。

Java版1.21.10以前の解説記事や配布マップでは、旧名の maxCommandChainLength が出てくることがあります。
これは古い名前なので、Java版1.21.11以降でそのまま打つと通らない可能性があります。

統合版については、Java版1.21.11の新しい名前にはなっていません。
Microsoft Learnの /gamerule コマンド一覧では、統合版のゲームルールとして maxcommandchainlength が掲載されています。

そのため、統合版で正確に確認したい場合は、記事や一覧だけで判断せず、自分のワールドで次のコマンドを打って現在値を確認するのが一番安全です。

/gamerule maxcommandchainlength

注意ポイント
Java版1.21.11以降は minecraft:max_command_sequence_length、Java版1.21.10以前は maxCommandChainLength、統合版の /gamerule では maxcommandchainlength と見るのが基本です。
同じような意味でも、バージョンとエディションで名前が違います。

古いJava版の記事を見て、1.21.11以降で旧名のまま打つと分かりにくいので、ここは覚えておくと楽です。


3. 現在値の確認方法と変更コマンド

このゲームルールは、/gamerule コマンドで確認・変更できます。

Java版1.21.11以降で確認する

/gamerule minecraft:max_command_sequence_length

現在の値を確認できます。
初期状態なら、基本的に 65536 が返ってきます。

Java版1.21.11以降で変更する

/gamerule minecraft:max_command_sequence_length 65536

初期値に戻すなら、このコマンドでOKです。

一時的に上限を下げて、長すぎるコマンドチェーンの暴走を抑えたい場合は、例えば次のようにできます。

/gamerule minecraft:max_command_sequence_length 1000

ただし、既存のコマンド装置やデータパックがあるワールドで急に下げると、途中から処理が止まる可能性があります。
本番ワールドでいきなり変更するのではなく、コピーした検証ワールドで試すのがおすすめです。

Java版1.21.10以前で確認・変更する

Java版1.21.10以前では、旧名の maxCommandChainLength を使います。

/gamerule maxCommandChainLength
/gamerule maxCommandChainLength 65536

配布マップや古いデータパックの説明にこの名前が出てきた場合は、Java版1.21.10以前向けの書き方だと考えると分かりやすいです。

統合版で確認する

/gamerule maxcommandchainlength

統合版では、/gamerule の候補として小文字の maxcommandchainlength が表示されます。

統合版で変更する

/gamerule maxcommandchainlength 65535

統合版で初期値に戻したい場合は、まず現在値を確認して、その値に戻すのが安全です。
環境によって見え方が違うことがあるため、固定で絶対にこれと覚えるより、自分の環境の現在値を確認してから戻すという運用をおすすめします。

初心者さん向けメモ
/gamerule の変更には、チート許可や管理者権限が必要です。
サーバーの場合は、OP権限やコンソール権限がないと変更できないことがあります。


4. 何に効くゲームルールなのか

minecraft:max_command_sequence_length が関係する代表例は、主に次の2つです。

  • チェーンコマンドブロック
  • Java版のfunction

順番に見ていきましょう。

チェーンコマンドブロックに効く

チェーンコマンドブロックは、前のコマンドブロックからつながる形で順番に実行されます。

例えば、

  1. リピートコマンドブロックで起点コマンドを実行
  2. その先のチェーンコマンドブロック1個目を実行
  3. さらに次のチェーンコマンドブロック2個目を実行
  4. さらに次へ…

という流れです。

この連鎖がものすごく長い場合、minecraft:max_command_sequence_length の上限に達したところで、それ以上の処理が止まります。

通常の装置なら、初期値のままで十分すぎるほど大きいです。
65536という数字はかなり大きいので、普通の建築補助・ミニゲーム・簡単な配布ワールド用ギミック程度なら、まず引っかかりません。

逆に言えば、ここに引っかかる時は、

  • チェーンが長すぎる
  • ループ構造になっている
  • 毎tickで大量のコマンドを回している
  • functionの呼び出しが多すぎる

といった可能性が高いです。

Java版のfunctionにも効く

Java版では、functionで実行されるコマンド数にも minecraft:max_command_sequence_length が関係します。

functionとは、データパックなどで使う .mcfunction ファイルのことですね。
中にコマンドを1行ずつ書いておくと、/function コマンドなどでまとめて実行できます。

このfunction内で大量のコマンドを実行する場合、上限を超えた分は処理されないことがあります。

つまり、Java版でコマンド装置やデータパックを作る場合、minecraft:max_command_sequence_length はチェーンコマンドブロックだけの話ではありません。
function側の大量処理にも関係すると覚えておきましょう。

ここ大事です
コマンドブロック勢だけでなく、Java版データパック勢にも関係するゲームルールです。


5. Java版1.21.11での名前変更と、1.20.3以降の重要な変更点

Java版1.21.11では、ゲームルール名の形式が大きく整理されました。
以前のような maxCommandChainLength というキャメルケースの名前ではなく、名前空間付きのスネークケースである minecraft:max_command_sequence_length が現在の名前です。

旧名と新名を並べると、こうです。

maxCommandChainLength → minecraft:max_command_sequence_length

効果そのものの主旨は変わっていませんが、コマンドに打ち込む名前が変わっているので、Java版1.21.11以降で調べる時は注意してください。

/gamerule minecraft:max_command_sequence_length

古い記事や古いデータパックの説明に maxCommandChainLength と書かれている場合は、Java版1.21.11以降では minecraft:max_command_sequence_length に読み替えるのが基本です。

Java版1.20.3以降のfunctionまわり

Java版では、1.20.3でfunctionまわりの上限処理も整理されています。

特に大事なのは、function内の単純な行数だけでなく、実行の文脈やfunction呼び出しなどを含む操作単位で数えられるようになったという点です。

かなり技術寄りの話なので、初心者さん向けに言い換えると、こうです。

Java版1.20.3以降は、functionの大量実行に対する制限が以前よりきちんと効くようになっています。
特に execute as @e などで大量の対象に対して処理を広げると、見た目のコマンド行数以上に上限へ近づくことがあります。

例えば、単純な1行のコマンドでも、@e で大量のエンティティを対象にしたり、functionを別のfunctionから何度も呼んだりすると、処理量は一気に増えます。

execute as @e run function sample:heavy_process

こういうコマンドは、対象エンティティが少ない時は問題なくても、Mobや防具立てが増えたワールドでは急に重くなることがあります。

minecraft:max_command_sequence_length は、こうした大規模なコマンド処理が無制限に走り続けないようにする、安全装置のような役割もあります。

1.20.3以降の感覚

Java版1.20.3以降の感覚としては、

  • コマンドブロックの長いチェーン
  • function内の大量コマンド
  • functionからfunctionを呼ぶ処理
  • execute で対象を大量に増やす処理

このあたりは、全部まとめてコマンド処理量として見ておくのが安全です。

体験談風メモ
コマンド行数はそんなに多くないのに重いという時は、execute as @e やfunction呼び出しの広がりが原因になっていることがあります。
行数だけを見るより、実際に何体・何か所・何回に対して実行しているかを見る方が大事です。


6. 統合版で見る時の注意点

統合版でも、maxcommandchainlength はゲームルールとして用意されています。

ただし、Java版と完全に同じ感覚で読むと少し混乱します。

統合版では小文字表記で見ることが多い

統合版では、Microsoft Learn上でも maxcommandchainlength のように小文字表記で掲載されています。

Java版1.21.11以降では、

/gamerule minecraft:max_command_sequence_length

統合版では、

/gamerule maxcommandchainlength

と覚えると分かりやすいです。

Java版1.21.11以降は、旧名の maxCommandChainLength ではなく minecraft:max_command_sequence_length に注意。
統合版は補完に従って maxcommandchainlength と入力しておけば、まず迷いません。

統合版のfunctioncommandlimitと混同しない

統合版には、functioncommandlimit という別のゲームルールもあります。

名前が似ているので紛らわしいですが、役割は別物として見た方が安全です。

  • maxcommandchainlength:主にコマンドチェーンの上限
  • functioncommandlimit/function で一度に実行できるコマンド数に関係する設定

統合版でfunctionが途中までしか動かないと感じる場合、maxcommandchainlength だけでなく、functioncommandlimit 側も確認した方が良いです。

確認コマンドは次の通りです。

/gamerule functioncommandlimit

注意
Java版のデータパックfunctionと、統合版のfunctionは、内部仕様や周辺ルールの扱いが同じではありません。
ネット上の解説を読む時は、必ずJava版向けか、統合版向けかを確認しましょう。


7. いくつに設定すればいい?おすすめ設定の考え方

基本的には、初期値のままでOKです。

Java版1.21.11以降なら、minecraft:max_command_sequence_length65536
Java版1.21.10以前なら、maxCommandChainLength65536
統合版なら、自分の環境で表示される現在値のまま。

これで困る場面は、普通のプレイではほとんどありません。

上げるべき場面

minecraft:max_command_sequence_length を上げたくなるのは、主に次のような場合です。

  • 配布マップで巨大なコマンド装置を使っている
  • Java版データパックで大量のfunctionを処理している
  • 明確に上限に引っかかっていて、処理を分割できない
  • 検証用ワールドで、上限の挙動を調べたい

ただし、何でもかんでも上げれば良いわけではありません。
上限を上げるほど、暴走したコマンド処理が長く走れるようになります。

つまり、ワールドが固まるリスクも上がります。

筆者のおすすめ
まずはコマンドを分割する、対象を絞る、毎tick処理を減らす。
それでも足りない時だけ、minecraft:max_command_sequence_length の変更を検討するのが安全です。

下げるべき場面

逆に、上限を下げる場面もあります。

  • サーバーでコマンド装置の暴走を防ぎたい
  • 検証ワールドで、長すぎるチェーンをわざと止めたい
  • 配布マップ制作中に、無限ループっぽい処理を早めに発見したい

例えば、検証用に一時的に 1000 へ下げると、異常に長い処理が走った時に気づきやすくなります。

/gamerule minecraft:max_command_sequence_length 1000

Java版1.21.10以前なら、次の書き方です。

/gamerule maxCommandChainLength 1000

ただし、本番ワールドで下げる場合は要注意です。
既存のコマンド装置や配布マップのギミックが、途中で止まる可能性があります。

初心者さんは触らなくて大丈夫

コマンド初心者さんが、サバイバル補助で少しコマンドブロックを使うくらいなら、触らなくて大丈夫です。

むしろ、よく分からないまま変更すると、

  • 装置が途中までしか動かない
  • 配布マップが壊れる
  • functionが一部だけ実行される
  • 原因が分かりにくくなる

という事故につながります。

何かの解説で見たから変えるのではなく、上限に引っかかっている根拠がある時だけ変更するくらいで大丈夫です。


8. よくある勘違い:これはコマンド文字数の上限ではありません

minecraft:max_command_sequence_length で一番多い勘違いが、これです。

minecraft:max_command_sequence_length を上げれば、コマンドブロックにもっと長いコマンドを書ける?

これは違います。

minecraft:max_command_sequence_length は、コマンド文字数の上限ではありません
コマンドブロックに入力できるコマンドの長さとは別の話です。

文字数制限とは別物

コマンドブロックには、入力できるコマンドの文字数制限があります。
長すぎる /summon/give のNBT付きコマンドなどを入れようとして困る場面がありますよね。

その問題は、minecraft:max_command_sequence_length を変更しても解決しません。

minecraft:max_command_sequence_length が見るのは、

  • コマンド1個の文字数

ではなく、

  • 連鎖して実行されるコマンド処理の長さ

です。

よくある誤解まとめ

👇混同しやすい項目を整理しました。

困っていること minecraft:max_command_sequence_lengthで解決する? 見るべきポイント
コマンドブロックに長い文字列が入らない 解決しません コマンド文字数・NBTの分割
チェーンコマンドブロックが途中で止まる 関係する可能性あり チェーン数・向き・条件付き設定
Java版functionが全部実行されない 関係する可能性あり functionの処理量・execute対象数
統合版のfunctionが途中で止まる 別ルールも確認 functioncommandlimitも見る

この表の通り、minecraft:max_command_sequence_length は万能な上限解除コマンドではありません。

特に長いコマンドを入れたい問題と、長いコマンド列を実行したい問題は、完全に別物です。
ここを間違えると、調べても調べても解決しないので注意してくださいね。


9. コマンドが途中で止まる時のチェックポイント

minecraft:max_command_sequence_length が気になる時は、だいたいコマンドが最後まで動かない時だと思います。

ただ、原因が本当に minecraft:max_command_sequence_length とは限りません。
まずは下記を順番に見ていくのがおすすめです。

チェーンコマンドブロックの場合

  • [ ] チェーンコマンドブロックの向きは合っているか?
  • [ ] 起点のインパルス・リピートコマンドブロックは動いているか?
  • [ ] チェーン側が常時実行、または正しく起動する状態になっているか?
  • [ ] 条件付きになっていて、前のコマンド失敗で止まっていないか?
  • [ ] Java版1.21.11以降なら minecraft:command_blocks_work やサーバー設定でコマンドブロックが無効化されていないか?
  • [ ] 統合版なら commandBlocksEnabled やワールド設定でコマンドブロックが無効化されていないか?
  • [ ] コマンドブロックの設置チャンクが読み込まれているか?
  • [ ] チェーン数が異常に長くなっていないか?
  • [ ] ループ構造になっていないか?

初心者さんが一番やりがちなのは、minecraft:max_command_sequence_length ではなく、チェーンコマンドブロックの向きミスです。

チェーンコマンドブロックは、向きが違うと次へつながりません。
上限を疑う前に、まずは向きと条件付き設定を確認しましょう。

Java版functionの場合

  • [ ] function内で大量のコマンドを実行していないか?
  • [ ] functionから別のfunctionを何度も呼んでいないか?
  • [ ] execute as @e などで対象が増えすぎていないか?
  • [ ] 防具立て・アイテム・Mobなど、対象エンティティが増えすぎていないか?
  • [ ] 毎tick実行する必要がない処理まで毎tickにしていないか?
  • [ ] 1tickで全部やろうとせず、数tickに分散できないか?
  • [ ] Java版1.21.11以降なのに、旧名 maxCommandChainLength で確認していないか?

Java版1.20.3以降では、functionの上限処理がより細かく見られるようになっています。
そのため、単純に行数が少ないから大丈夫とは言い切れません。

execute で処理対象を広げている場合は、見た目の1行より実処理が重くなると思っておくと安全です。

統合版の場合

  • [ ] maxcommandchainlength の現在値を確認したか?
  • [ ] functioncommandlimit も確認したか?
  • [ ] コマンドブロックが有効になっているか?
  • [ ] ワールド設定やサーバー設定でチート・コマンド関連が制限されていないか?
  • [ ] Java版向けのコマンドを、そのまま統合版で使っていないか?
  • [ ] Java版1.21.11以降の minecraft:max_command_sequence_length を、統合版にそのまま持ち込んでいないか?

統合版は、Java版とコマンド構文や仕様が違う場面があります。
Java版の記事のコマンドをそのまま持ってくると、別の理由で失敗していることも多いです。

トラブル時のコツ
いきなり巨大な装置を動かすのではなく、3個くらいのコマンドブロックで小さく動作確認しましょう。
小さい構造で動くことを確認してから、少しずつチェーンを増やす方が失敗しにくいです。


10. まとめ

以上、minecraft:max_command_sequence_length の意味・初期値・Java版と統合版での違いを解説しました。

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

  • minecraft:max_command_sequence_length は、コマンド列の実行上限を決めるゲームルール
  • Java版1.21.11以降では、旧名 maxCommandChainLength から minecraft:max_command_sequence_length に変わっている
  • Java版の初期値は基本的に 65536
  • 統合版では maxcommandchainlength と小文字表記で見ることが多く、実際の値は自分の環境で確認するのが安全
  • Java版では、チェーンコマンドブロックだけでなく functionにも関係する
  • Java版1.20.3以降は、functionの上限処理が操作単位で見られるようになっている
  • これは コマンド文字数の上限ではない
  • 初心者さんや普通のサバイバルでは、基本的に初期値のままでOK

minecraft:max_command_sequence_length は、普段のプレイではほぼ触らないゲームルールです。
ですが、コマンドブロック装置やデータパックを作り込む人にとっては、トラブル原因の切り分けに役立つ大事な知識です。

特に、

チェーンコマンドブロックが途中で止まる
functionが最後まで動かない
大量の execute 処理でワールドが重い

こういう時は、minecraft:max_command_sequence_length だけでなく、チェーンの向き・条件付き設定・function呼び出し・対象数も一緒に見直してみてください。

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


11. 引用・参考文献

この記事を書くにあたり、以下の公式情報・Minecraft Wiki英語版・技術情報を参考にしています。