コマンドブロック

提供: Minecraft Wiki
移動先: 案内検索
コマンドブロック
Impulse Command Block.gifChain Command Block.gifRepeating Command Block.gif
Conditional Impulse Command Block.gifConditional Chain Command Block.gifConditional Repeating Command Block.gif
コマンドブロックチェーンコマンドブロックリピートコマンドブロック
希少度

Epic

再生

不可

スタック

可(64)

回収道具

なし

爆発耐性

3,600,000

硬度

-1

発光

しない

透過

しない

可燃性

なし

溶岩からの引火

しない

Duncan Geere Mojang avatar.png

あなたがMinecraftのほとんどをサバイバルモードでプレイしていて「まるでチートのようだ」と思ったなら、その通りです。そう、これがサバイバルモードでコマンドブロックが入手できない理由です。コマンドブロックは、クリエイティブモードやアドベンチャーモードのマップ製作者向けに特別に作成した機能です。Jebは、2012年7月のツイートでコマンドブロックの追加をお知らせし、1.4.2(プリティー・スケアリー・アップデート)で、金床や植木鉢、ニンジン付きの棒とともにゲームに追加されました。

Duncan Geere[1]

コマンドブロック(英:Command Block)は、コマンドを実行することができるブロックである。サバイバルモードにおいてはチートなしでは入手できないため、主にマルチプレイサーバーやカスタムマップで使用される。

入手[編集 | ソースを編集]

コマンドブロックはクリエイティブインベントリから入手することはできず、ブロック選択操作、もしくは /give @s minecraft:command_block/setblock ~ ~ ~ minecraft:command_block のようなコマンドを使用することで入手できる。

他のブロックと同様に NBT データを保持することができ、CTRL を押しながらブロック選択を行うことで、コマンドブロックのコマンドや設定をコピーすることができる。これにより、コマンドの再入力をすることなく同じコマンドのコマンドブロックを別の場所に設置することができる。

コマンドブロックは、オペレーター権限のないプレイヤーはサバイバルモードでは破壊することができない。また、可燃性はなく、ピストンで移動させることもできない。さらに、岩盤と同じ爆発耐久値を持つ。

用途[編集 | ソースを編集]

コマンドブロックは、レッドストーン信号によって起動することでコマンドを実行できる。コマンドブロックはすべての権限を有するので、コマンドを使用できないプレイヤーが特定のコマンドを使用できるようにすることができる(例えば、/give を設定することで誰でも特定のアイテムを入手することができる)。

コマンドブロックの「向き」は、自身によってどのチェーンコマンドブロックが起動され、また「条件付き」モードのコマンドブロックが実行されるかどうかを決定する。[要改訳]

変更[編集 | ソースを編集]

コマンドブロックの GUI

コマンドブロックにコマンドを入力したり変更したりするには、コマンドブロックに対して使用操作をしてコマンドブロックの GUI(グラフィカルユーザーインターフェース)を開けばよい。GUI はクリエイティブモードかつ適切な権限を持つプレイヤーにのみ表示される。シングルプレイでは、コマンドブロックの編集にはチートを有効にしなければならない。マルチプレイでは、コマンドブロックの編集はクリエイティブモード、かつオペレーター権限を持つプレイヤーのみが行える。また、コマンドブロックを正しく動作させるには、server.properties ファイルの以下の値を設定する必要がある。

  • enable-command-blocktrue に設定する
  • op-permission-level2 以上に設定する(デフォルトは 4)
コンソールコマンド
コマンドは、上部のテキストエリアに入力することができる。入力できるコマンドの長さは32,500文字までだが、テキストエリアでは一度にこのわずかな部分しか表示できない。Tab ↹ キーを押すことで、コマンドの補完や候補の選択ができる。
コマンドブロックのコマンドには、チャットウィンドウでの入力のように先頭にスラッシュ(/)を付ける必要はないが、付けても問題はない。
コンソールコマンドのテキストエリアの下には、ターゲットセレクターの使用方法に関するヒントが記載されている。
前回の実行結果
下部のテキストエリアには、前回実行されたコマンドから出力されたメッセージ(成功/失敗)が表示される(初期は空欄)。このテキストは編集できない。
テキストエリアの右に表示されているボタンには、前回の実行結果の出力を記憶しておくかどうかを設定できる。O(デフォルト)が表示されている時は出力は記憶され、X が表示されている時は記憶されない。コマンドの実行中に出力を追跡しているコマンドブロックによりブロック更新が発生し、同じチャンクにコマンドを実行しながら出力を追跡するコマンドブロックが64個ある場合、1つのチャンク内で64個のブロック更新が発生し1つ以上のチャンク更新が発生する。チャンク更新の量が多いと、チャンクの更新が受信されている場合、プレイヤーのFPSが急落する可能性がある。これを回避するには、一時的なデバッグ目的を除き、全てのコマンドブロックで出力を全く追跡しないようにする。[要改訳]
インパルス/チェーン/リピート
「インパルス/チェーン/リピート」のボタンをクリックすると、コマンドブロックの種類を変更できる。デフォルトの状態は「インパルス」だが、デフォルト以外の状態のコマンドブロックも設置できる。コマンドブロックの種類を変更すると、色も変わる:
  • 「インパルス」に設定されたコマンドブロックは橙色である。レッドストーン信号により起動される度に、一度だけ実行される。
  • 「チェーン」に設定されたコマンドブロックは緑色である。コマンドブロックの処理が終了すると、そのコマンドブロックが指す方向に隣り合ったコマンドブロックが実行される。これは単に隣り合っているだけでなく、どれを指しているのかを検出するという点で、条件付きオプションとは異なる。隣り合うコマンドブロックの種類は、チェーンである必要はない。
  • 「リピート」に設定されたコマンドブロックは紫色である。レッドストーン信号により起動している間は、1ゲームティックごとにコマンドが実行される(ラグなしで秒間20回)。
条件付き/無条件
上: 「無条件」モードのコマンドブロック
下: 「条件付き」モードのコマンドブロック
「条件付き/無条件」のボタンをクリックすると、コマンドブロックの実行条件を変更できる。
  • 「条件付き」:条件付きモードのコマンドブロックは、その前のコマンドブロック(チェーンの方向にかかわらず、そのコマンドブロックの方向とは反対にあるコマンドブロック)の実行が成功した場合にのみ実行される。
  • 「無条件」(デフォルト):無条件モードのコマンドブロックは、(正しく起動していれば)その前のコマンドブロックの実行が失敗していたとしても実行される。
常時実行/動力が必要
「常時実行/動力が必要」のボタンをクリックすると、コマンドブロックの起動条件を変更できる。
  • 「動力が必要」(インパルス、およびリピートコマンドブロックのデフォルト):「動力が必要」に設定されたコマンドブロックは、コマンドの実行にレッドストーン信号によって起動する必要がある。
  • 「常時実行」(チェーンコマンドブロックのデフォルト):「常時実行」に設定されたコマンドブロックは、レッドストーン信号なしに起動することができる。
    • チェーンコマンドブロックは、チェーンした際にコマンドが実行される。
    • リピートコマンドブロックは、毎ゲームティックごと、すなわち秒間20回コマンドが実行される。
    • インパルスコマンドブロックは、一度だけ起動され、その後再び起動されない。
完了
「完了」ボタンをクリックするか、↵ Enter キーを押すと、コマンドが保存され、コマンドブロックの GUI が閉じる。
キャンセル
「キャンセル」ボタンをクリックするか、Esc キーを押すと、コマンドは保存されず、コマンドブロックの GUI が閉じる。

起動[編集 | ソースを編集]

コマンドブロックはレッドストーンの機械部品であり、以下の動力によって起動される。

音符ブロックを除くすべてのレッドストーン要素とは異なり、コマンドブロックはゲームティック毎に起動できる。(1秒間に20ティック、ラグを除く)。ただし、[レッドストーンが必要]に設定されている場合、2ティック連続で起動させるには、同じティックの間に(例えばsetblockのクロック回路で)オンの状態からオフの状態に一回戻る必要がある。

「常にアクティブ」モードのコマンドブロックは常にアクティブになる。デフォルトの状態は「レッドストーンが必要」であり、動力がオンの状態にのみ実行される。

起動すると、コマンドブロックはそのコマンドを実行しようとする。コマンドブロックの種類に応じて:

  • コマンドブロック("インパルス")はコマンドを一回実行しようとする
  • チェーンコマンドブロック("チェーン")はそれの方向を向いている別のコマンドブロックがそのコマンドを実行するまでコマンドを実行しようとしない
  • リピートコマンドブロック("リピート")は動力が無くなるまでゲームティックごとにコマンドを実行しようとする

連鎖実行[編集 | ソースを編集]

起動したコマンドブロックがチェーンコマンドブロック(「チェーン」モードのコマンドブロック)の方を向いている場合、実行するようチェーンコマンドに通知される。チェーンコマンドブロックは起動された場合、「条件付き」モードだとその背後のコマンドブロックが正常に実行された場合にのみコマンドを実行する(どのコマンドブロックが繋がっているかではなく、それが向いている方向)。

繋がったコマンドブロックは繋がっている順序で同じゲームティックで実行される。連鎖実行は、そのゲームティックで既に実行されているコマンドブロックに繋がることはできない(ループは一回だけ実行される)

出力[編集 | ソースを編集]

起動したコマンドブロックは複数の種類の信号を出力できる:

レッドストーンコンパレータ―
コマンドブロックで最後に実行されたコマンドの特定の(例えば、コマンドにあてはまるプレイヤーの数)信号強度を、ブロックと反対方向を向いているレッドストーンコンパレーター(ブロック越しでも可能)に出力できる
コマンドブロックが無効になっても信号強度は常に最後に実行されたコマンドを反映する
メッセージ
出力メッセージは、実行されたコマンドの成功または失敗を通知し、複数の場所に送られる場合もある:
前回の実行結果: 出力メッセージは常にコマンドブロックのGUIの「前回の実行結果」欄に表示される。
チャット: 出力メッセージは/gamerule commandBlockOutput falseで制限されていなければシングルプレイヤーモードではチャットテキストに表示され、マルチプレイヤーモードではすべてのオペレーター権限を持ったプレイヤーに表示される。コマンドによっては出力メッセージとは別に通常の機能として制限されずに追加でテキストがチャットに表示されることがある(例えば/sayコマンドではすべてのプレイヤーのチャットにメッセージが表示される) 。/me, /say, /tellコマンドのようなプレイヤーが前に就くチャットメッセージではプレイヤー名として@が使用される。コマンドブロックが設置前に金床で名前を付けられていた場合はその名前が使用される。
ログ:/gamerule logAdminCommands falseで制限されていなければ出力メッセージはマルチプレイヤーのサーバーログに表示される。
コマンド統計
コマンドブロックは、様々な成功結果をスコアボードのobjectiveに含めることができる:
  • SuccessCount: 成功回数(以前はレッドストーンコンパレーターの出力でも利用できたがスコアボードだと16以上も出力できる)
  • AffectedBlocks: 変更されたブロックの数
  • AffectedEntities: 変更されたエンティティ(プレイヤーを含む)の数
  • AffectedItems: 変更されたアイテムの数
  • QueryResult: コマンドが返した値
使用するobjectiveを指定するには/statsコマンドを実行するか/blockdataコマンドを使用してコマンドブロックのNBTデータを直接変更する

備考[編集 | ソースを編集]

コマンドブロックでは使用できないコマンド:/ban, /banlist, /ban-ip, /debug, /deop, /kick, /op, /pardon, /pardon-ip, /publish, /save-all, /save-off, /save-on, /stop, /whitelist (/debug, /publish, /listを除くすべてのマルチプレイヤー専用コマンド)

使用できるが、機能が制限されている(出力がチャットに表示されずコマンドブロックの[前回の実行結果]欄にのみ表示される)コマンド:/help, /seed, /list, /scoreboard objectives, /scoreboard players, /scoreboard teams list

出力でコマンドブロックの名前(デフォルトでは@)を使用するコマンド:/me, /say, /tell

イースターエッグ[編集 | ソースを編集]

"/"を前に付けずにコマンドブロックのコマンドで"Searge"を実行すると、前回の実行結果が"#itzlipofutzli"に設定される。また、/helpがコマンドブロックで実行されると"Searge says: "と様々なメッセージの前に表示される

技術的情報[編集 | ソースを編集]

ID[編集 | ソースを編集]

名前 ID名 ブロックID もしくはアイテムID
コマンドブロック minecraft:command_block 137
リピートコマンドブロック minecraft:repeating_command_block 210
チェインコマンドブロック minecraft:chain_command_block 211

データ値[編集 | ソースを編集]

データ値」も参照

Bedrock Editionでは、コマンドブロックのブロックデータはコマンドブロックが現在起動しているかどうかを指定する

ビット
0x1
0x2
0x4

コマンドブロックの向きを指定する:

  • 0: 下向き
  • 1: 上向き
  • 2: 北向き
  • 3: 南向き
  • 4: 西向き
  • 5: 東向き

6と7は未使用だが、コマンドブロックは下向きおよび上向きになる。

0x8 条件付きであるかどうか
DV 詳細
0 下向き
1 上向き
2 北向き
3 南向き
4 西向き
5 東向き
8 下向き、条件付き
9 上向き、条件付き
10 北向き、条件付き
11 南向き、条件付き
12 西向き、条件付き
13 東向き、条件付き

ブロック状態[編集 | ソースを編集]

ブロック状態」も参照
名前 初期値 説明
conditionalfalsetrue
false
条件付きの場合、trueになる
facingnorthnorth
south
east
west
up
down
コマンドブロックの向き

ブロックエンティティ[編集 | ソースを編集]

コマンドブロックには、ブロックに関する追加データを持つブロックエンティティが関連付けられている。ブロックのブロックエンティティIDはcommand_block

  • ブロックエンティティデータ
    • すべてのブロックエンティティに共通するタグ テンプレート:Nbt inherit/blockentity/templateを参照
    •  CustomName: 任意で可能。/say/tellなどのコマンドを使用する場合、名前は通常「@」で置き換えられる
    •  CustomName: 任意で可能。The name will replace the usual '@' when using commands such as /say and /tell.
    •  Command: サーバーに送信するコマンド
    •  SuccessCount: このコマンドブロックに接続されたレッドストーンコンパレーターによって出力されるアナログ信号の強度。コマンドブロックがレッドストーン信号でオンにあった場合にのみ更新される
    •  LastOutput: コマンドブロックによって表示された出力の最後の行。gamerule commandBlockOutputがfalseでも保存される。右クリックするとブロックのGUIに表示され、出力が表示された際のタイムスタンプが含まれる
    •  TrackOutput: 1 / 0 (true/false) - LastOutputを保存するかどうか。GUIの「前回の実行結果」欄の近くのボタンをクリックして切り替えられる。ボタンの題名は現在の状態を示す:"O"はtrue, "X"はfalse
    •  powered: 1 / 0 (true/false) - コマンドブロックにレッドストーン信号が入力されているかどうか。
    •  auto: 1 / 0 (true/false) - レッドストーン信号を入力せずにコマンドを実行できる
    •  conditionMet: 1 / 0 (true/false) - 条件付きコマンドブロックが最後に起動された際に条件が満たされていたかどうか。条件付きコマンドブロックでない場合はtrue
    •  UpdateLastExecution: 1 / 0 (true/false) - デフォルトはtrue。falseに設定すると1つのティックで同じコマンドブロックのループを複数回実行できる
    •  LastExecution: チェーンコマンドブロックが最後に実行されたティックを保存する

歴史[編集 | ソースを編集]

Java Edition
2012年7月27日Jebがアドベンチャーモードの拡張の開始のため作成した新しいブロックのツイートを開始。ブロックでできる事の写真、アイデア、ヒントを投稿した。
2012年7月31日NotchのAMA中、ブロックが1.4にあるかもしれないと示唆した
1.4.212w32aImpulse Command Block JE1.png コマンドブロックを追加。
1.513w03aコマンドブロックの成功をレッドストーンコンパレーターが検出できるようになった
13w04a金床で改名されたコマンドブロックがチャットで@ではなくその名前を使用するようになった
1.6.113w19aコマンドブロックはサバイバルでは破壊できなくなった
コマンドブロックは青いウィザーの頭蓋骨以外の爆発でダメージを受けなくなった
1.7.213w37aコマンドブロックに前回の実行結果のバーを追加
コマンドブロックにコマンドを挿入する文字数制限が256から16,369に増加。サードパーティのエディターを使用すると32,767文字にすることもできる。
1.814w07aディスペンサーがコマンドブロックを発射せずに設置するようになった
14w20aゲーム内の文字数制限である16,369が削除され、32,767文字すべてにアクセスできるようになった。
14w27aCommandStats NBTタグを追加
1.8.6ディスペンサーがコマンドブロックを設置しなくなった[2]
1.915w33aコマンドブロックの文字制限が32,767ではなく32,500になった
15w34aChain Command Block JE1.png Repeating Command Block JE1.png チェーンコマンドブロックとリピートコマンドブロックを追加
コマンドブロックの向きを追加
Impulse Command Block JE2.png コマンドブロックのテクスチャを変更
15w34bコマンドブロックに条件付きモードを追加
コマンドブロック内のタブ補完を追加
15w35aImpulse Command Block.png Chain Command Block.png Repeating Command Block.png 3つのコマンドブロックのテクスチャを更新
コマンドブロックに常にアクティブとレッドストーンが必要のオプションを追加
コマンドブロックのレッドストーンオプションを制御するauto NBTタグを追加
コマンドブロックを条件付きに設定すると矢印テクスチャの後ろが曲がるようになった
15w36aプレイヤーコマンドブロック内で/giveなどのコマンドを使用できなくなった
コマンドを使用できないプレイヤーはコマンドブロックを設置できなくなった
15w36dそれぞれのコマンドブロックの種類が地図上で違う色で表示されるようになった
16w02aコマンドブロック内で/helpを実行すると前回の実行結果として様々な文章の1つのがランダムに使用されるようになった
16w04a"/"を付けずにコマンドブロック内でコマンドとして"Searge"を実行すると前回の実行結果が"#itzlipofutzli"に設定されるようになった
1.1116w32aブロックエンティティIDをControlからcommand_blockに変更
1.1217w16aコマンドブロックのチェーンのコマンドが「次の」tickで実行されるなくなりったが、読み込まれた同じティックですべて実行されるようになった。これにより、チェーン内の後のブロックを前のブロックで変更できるようになり、すべて同じティックで分岐やループなどの手法が可能になった。
チェーンの最大長などを制御するmaxCommandChainLength game ruleを追加
17w17aチェーンコマンドブロックが最後に実行したティックの追跡を制御するUpdateLastExecutionLastExecutionNBT タグを追加
pre6最初に/を付けなくてもタブ補完のコマンド名が機能するようになった
1.1317w47a平坦化以前は、コマンドブロック、リピートコマンドブロック、チェーンコマンドブロックの数字IDはそれぞれ137,210,211だった
pre1プレイヤーが再びコマンドブロック内でタブ補完できるようになった
1.1418w47bImpulse Command Block JE5 BE2.png Repeating Command Block JE4 BE2.png インパルスとリピートコマンドブロックのテクスチャを変更
Pocket Edition
1.0.5build 1Impulse Command Block.png Chain Command Block.png Repeating Command Block.png全種類のコマンドブロックを追加
Bedrock Edition
1.8beta 1.8.0.8コマンドブロックのデフォルト名を@から!に変更
Legacy Console Edition
TU19CU71.12Patch 1Impulse Command Block JE1.png コマンドブロックを追加
機能はない

ギャラリー[編集 | ソースを編集]

問題点[編集 | ソースを編集]

「コマンドブロック」に関する問題点は、バグトラッカーにて管理されている。問題点の報告はそちらで行ってほしい。

脚注[編集 | ソースを編集]