マイクラ統合版(スイッチ・スマホ・PS5・PC)・教育版限定の/testforblockコマンドの解説です。このコマンドを使用すると、指定した特定の座標(1マス)にあるブロックが、調べたいブロックの種類(ブロックID)やデータ値(色や向きなどの状態)と一致しているかをピンポイントで判定・検知することができます。リピートコマンドブロックやレッドストーンコンパレーターと組み合わせることで、「特定の場所にダイヤモンドブロックを設置したら隠し扉が開く」「特定の場所にレバーやボタンが設置されたら罠が発動する」といった、謎解き配布ワールドのギミックや自動化システムを構築する上で欠かせない最定番のセンサー系コマンドです。
マイクラの検知・テスト用コマンド3種類は、「何を検査対象にするか」で明確に使い分けます!
• /testforblock(当ページ):「特定の1マスにある1つのブロック」を検査します。
(例:座標(X, Y, Z)にあるのは金ブロックか? レバーの向きは合っているか?)
• /testfor:プレイヤーやモブなどの「エンティティの存在や数」を数えます。
(例:この半径5マス以内にプレイヤーが入ってきたか?)
• /testforblocks:指定した「広い範囲のブロックの並び(直方体)」が、お手本の並びと完全に一致しているかを一括検査します。
(例:パズルのお手本通りにブロックが並べられたか?)
【実行例】コマンドの実行場所(またはコマンドブロック)の「真下(~ ~-1 ~)」のブロックが、金ブロック(gold_block)であるかどうかを検査します。
⚙️ /testforblock コマンドの構文(書き方)
統合版の `/testforblock` コマンドの書き方は、座標、ブロックID、そしてオプションのデータ値をスペースで区切って並べるシンプルな構造です。
💡 各引数の詳しい意味と設定ルール
| 引数名 | 記述ルール・値の例 | 詳しい効果と役割(説明) |
|---|---|---|
| <position: x y z> (調査座標) |
0 64 0 (絶対座標) ~ ~-1 ~ (真下の1マス) |
必須項目です。ブロックを調べたい特定の場所を3次元座標で指定します。チルダ(~)を用いた相対座標も使用可能です。統合版での有効範囲は、X・Z座標が-30000000〜30000000、Y座標(高さ)はワールドの上限・下限の範囲内である必要があります。 |
| <tileName: string> (ブロックID) |
stone wool diamond_block |
必須項目です。調べたいブロックのIDを入力します。統合版(Bedrock Edition)では、minecraft:stone のように名前空間を付けても、省略して stone のように直接記述してもどちらでも動作します。 |
| [dataValue: int] (データ値) |
-1 (すべての状態) 1 (橙色・特定の状態) |
省略可能です(省略時、または -1 を指定した場合は「すべてのデータ値」を対象にします)。ブロックの「色」「向き」「種類」などを細かく指定したい場合に、-1〜15の数値を整数で入力します。例えば羊毛(wool)を調べる際、ここを1にすると「橙色の羊毛」だけを検知するようになります。 |
🔌 謎解きギミックを動かす:コンパレーター連携の仕組み
`/testforblock` は、「リピートコマンドブロック(常にアクティブ)」に設定し、すぐ隣に「レッドストーンコンパレーター」を繋いで使用するのが鉄板の組み合わせです。
ブロックが破壊されたり、別のブロックに置き換わったりすると自動的に信号がオフになるため、簡単に「特定のアイテムをはめ込むとはめ込んでいる間だけ作動する隠し扉」などが作れます。
🛠️ コピペで使える!実践コマンド実例集
コマンドブロック(リピート設定)にそのまま貼り付けてすぐに活用できる、実戦向けのギミック用実例です。
末尾のデータ値を `-1`(または省略)にしたパターンです。白色、橙色、赤色など、何色の羊毛(wool)が置かれてもセンサーが反応し、回路を起動させることができます。
統合版のブロックデータ値を指定したパターンです。羊毛IDの後ろに `1` を指定することで、同じ羊毛であっても「橙色の羊毛」が設置されたときだけ成功判定になります(白や赤の羊毛では反応しません)。正しい色のブロックをはめ込む謎解きパズルに最適です。
🛑 コマンドが失敗する・上手く動作しない時のチェックポイント
- 「ブロックが一致しません」でエラーになる:指定した座標にあるブロックが、IDや指定したデータ値(dataValue)と異なっている場合の正常なエラーメッセージです。正しいブロックが置かれれば自動的に成功に切り替わります。
- 調べたい場所がワールドの範囲外(描画外)にある:プレイヤーから離れすぎている遠くの座標(チャンクが読み込まれていない未描画エリア)を指定した場合、コマンドはブロックの状態をスキャンできないため失敗(エラー)になります。テストする際は必ずプレイヤーが近づくか、該当エリアを `/tickingarea` コマンド等で常時読み込み状態にしてください。
- Java版のブロック状態やNBTタグの構文を書いている:ご提示いただいた仕様にある通り、統合版(Bedrock Edition)の `/testforblock` では、Java版のような大カッコを使ったブロック状態(例:
[powered=true])や、中カッコを使ったデータタグ・NBTの配列(例:{RecordItem:...})を直接記述して検査することができません。統合版でブロックの詳細な状態を調べるには、必ず [dataValue: int] の整数(-1〜15)で指定してください。
⚠️ 前提条件
※このコマンドを実行するには、世界の「チートの実行」がオンになっている必要があります。統合版の仕様上、必要権限レベルの制限はなく、チートさえオンであれば一般プレイヤーのチャット欄からでも実行制限なしでテスト可能です(基本的にはコマンドブロックに埋め込んで自動検知させます)。引数の順序間違いや、存在しないブロックIDを指定した場合は失敗します。
💻️ マインクラフトでプログラミングが学べる教室
👇️KIDSPROプログラミング教室の公式サイトをチェック!

📖 おすすめの参考書 & YouTube解説動画
👇️KIDSPRO (mcguide) 出版のコマンド完全攻略本をAmazonでチェック!

👇️KIDSPRO (mcguide) のYouTube解説動画をチェックしよう!




コメント