指定した場所に、指定したブロックがあるかどうかを調べる。
- 構文
- Java Edition
/testforblock <x> <y> <z> <ブロック> [データ値|状態] [データタグ]
- Bedrock Edition
/testforblock <position: x y z> <tileName: string> [dataValue: int]
- 引数
- x y z (BE: position: x y z)
- 調べる場所を指定する。x と z はそれぞれ -30000000~30000000、y は 0~255 の範囲内である必要がある。チルダ表記法で、コマンドを実行した場所に対する相対座標を指定することもできる。
- ブロック (BE: tileName: string)
- 調べたいブロックを ID で指定する。石なら
minecraft:stone
というように記述する。ブロックID についてはここを参照。
- 調べたいブロックを ID で指定する。石なら
- データ値 (BE: dataValue: int)(省略可能)
- 調べたいブロックのデータ値を指定する。-1~15 の範囲内である必要がある。省略するか
-1
とした場合、任意のデータ値になる。
- 調べたいブロックのデータ値を指定する。-1~15 の範囲内である必要がある。省略するか
- 状態(省略可能)[Java Edition限定]
- 調べたいブロックのブロック状態を指定する。有効なブロック状態はブロックによって異なるため、ブロック状態の記事を参照してほしい。省略するか、
*
とした場合、任意のブロック状態が対象となる。
- 調べたいブロックのブロック状態を指定する。有効なブロック状態はブロックによって異なるため、ブロック状態の記事を参照してほしい。省略するか、
- データタグ(省略可能)[Java Edition限定]
- 結果
- 次の場合、このコマンドは失敗する。
- 引数が正しくない。
- 指定した場所のブロックが調べたいブロックの ID、データ値、データタグと一致しない。
- 調べたいブロックがワールドの範囲外にある。
- 成功すると、チャット欄に「ブロックが <x>, <y>, <z> で見つかりました」と表示される。
- 使用例
- 0, 64, 0 にあるブロックが、任意の色の羊毛であるかを調べたい。
/testforblock 0 64 0 minecraft:wool
/testforblock 0 64 0 minecraft:wool -1
- 0, 64, 0 にあるブロックが、橙色の羊毛であるかを調べたい。
/testforblock 0 64 0 minecraft:wool 1
- 真下にあるジュークボックスに、"mall" のレコードが入っているかを調べたい。
/testforblock ~ ~-1 ~ minecraft:jukebox -1 {RecordItem:{id:"minecraft:record_mall"}}