マイクラ統合版(スイッチ・スマホ・PS5・PC)・教育版限定の/testforコマンドの解説です。このコマンドを使用すると、指定した条件(特定の名前、特定の範囲、モブの種類など)にぴったり合致するエンティティ(プレイヤー、モブ、ドロップアイテムなど)が何体存在するかをカウント・検知することができます。コマンドブロックと「レッドストーンコンパレーター」を組み合わせることで、「特定のエリアにプレイヤーが立ち入ったら回路を起動する」「部屋の中のゾンビを全滅させたら扉を開ける」といった、配布ワールドやミニゲームの自動化ギミックを作るための「センサー(引き金)」として絶大な威力を発揮する超定番コマンドです。
マイクラには「何かを検知する」テストコマンドが3種類あります。それぞれ「何を調べるか(調べる対象)」が全く異なりますので、作りたいギミックに合わせて使い分けましょう!
• /testfor(当ページ):「エンティティ(人・モブ・アイテム)」を数えます。
(例:この半径5マス以内にゾンビがいるか?プレイヤーが部屋に入ってきたか?)
• /testforblock:指定した「特定の1マス」にある「ブロックの種類・状態」を調べます。
(例:座標(10, 64, 10)の位置にあるのはチェストブロックか?)
• /testforblocks:指定した「広い範囲(直方体)」のブロックの並びが、別の場所のブロックの並びと「完全に一致しているか」を調べます。
(例:プレイヤーが作った建築の形が、お手本(正解)の形とぴったり同じか?=建築パズルゲームなど)
【実行例】コマンドを実行した場所(またはコマンドブロック)から、半径5ブロック以内にプレイヤー(@a)が1人でも存在するかどうかを調べます。
⚙️ /testfor コマンドの構文(書き方)
`/testfor` コマンドの構造は非常にシンプルで、調べたい対象(プレイヤー名や、条件を細かく指定したターゲットセレクター)を記述します。
💡 引数の詳しい意味と設定ルール
| 引数名 | 記述ルール・値の例 | 詳しい効果と役割(説明) |
|---|---|---|
| <victim: target> (検知対象) |
Alice (特定の個人名) @a[r=10] (半径10マス全員) @e[type=zombie] (全ゾンビ) |
必須項目です。カウント(検知)したい対象を指定します。プレイヤー名を直接書くか、ターゲットセレクターを使用します。セレクター内に大カッコ [...] を追加して条件を絞り込むことで、特定のモブだけを狙い撃ちしてセンサーにかけることができます。 |
🔌 コンパレーターを繋いでギミックを動かす仕組み
`/testfor` コマンドの真価は、「リピートコマンドブロック(常にアクティブ)」に入れて運用したときに発揮されます。
1. リピートコマンドブロック(紫色)の中に `/testfor @a[r=3]` を入れて設置する。
2. そのコマンドブロックの出力方向(矢印の先)に向けて「レッドストーンコンパレーター」を設置する。
3. 条件に合うプレイヤーが半径3マス以内に入ると、コマンドが「成功」に変わり、コンパレーターからレッドストーン信号がパッと出力されます!
4. 信号の先にレッドストーンダストやピコンドアを繋げば、近づくだけで自動で開くドアや、自動でゾンビが湧くトラップが完成します。条件から外れて誰もいなくなると、信号は自動で切れます。
🛠️ コピペで使える!実践コマンド実例集
コマンドブロック(リピート推奨)にそのまま貼り付けて検証できる、実用的なセンサーギミックの記述例です。
プレイヤー「Alice」がオンライン(ワールドにログイン中)であればコマンドが成功し、数を返します。オフラインだったりワールドに存在しない場合はコマンドが失敗します。
セレクター引数(引数の絞り込み)をフル活用した例です。座標 (X:0, Y:64, Z:0) を中心とした半径3マス(r=3)の球体範囲内に、サバイバルモード(m=0)のプレイヤーが侵入した瞬間にだけセンサーが反応します。クリエイティブモードのクリエイター自身がテスト中には反応させたくない場合に鉄板の記述です。
対象をプレイヤー以外(@e)に広げ、モブの種類をゾンビ(type=zombie)に指定した例です。指定範囲内にゾンビが1体でも残っていればコンパレーターの信号が「ON」になり、ゾンビが全滅して0体になると信号が「OFF」になります。信号が切れた瞬間に作動する反転回路(NOT回路・レッドストーントーチ)を組み合わせれば、「モンスターを全滅させると開くダンジョンの扉」が簡単に作れます!
🛑 コマンドが失敗・上手く検知できない時のチェックポイント
- 「対象が見つかりません」でエラーになる:これは仕様通りの正しい挙動です。`/testfor` は、指定した条件に合うエンティティが世界に1体もいない場合に「エラー(コマンドの失敗)」を出力します。誰もいないときにコンパレーターの電気が消えていれば、正常にセンサーとして機能しています。
- 名前指定したプレイヤーがオフライン:名前を直接指定して検知する場合、そのプレイヤーがワールドにログインしてオンライン状態でなければ、失敗扱いになります。
- Java版には存在しない:この `/testfor` コマンドは統合版(Bedrock Edition)専用の要素です。Java版では `/execute if entity …` という別の書き方に統合されているため、Java版のワールドに持って行っても動きません。
⚠️ 前提条件
※このコマンドを実行するには、世界の「チートの実行」がオンになっている必要があります。統合版の仕様上、実行制限はなくチートさえオンであれば一般プレイヤーのチャット欄からでも実行制限なしでテスト可能です(ただし、基本的にはコマンドブロックに埋め込んで自動ループさせて使用します)。構文の間違いや、大カッコ内の条件指定の記述ルール(カンマ区切りなど)に違反した場合は構文解析不能エラーになります。
💻️ マインクラフトでプログラミングが学べる教室
👇️KIDSPROプログラミング教室の公式サイトをチェック!

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

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




コメント