【マイクラ統合版】/testfor(テストフォー)コマンドの使い方!特定のプレイヤーやモブの存在を検知してギミックを動かす方法

その他・開発者向け

マイクラ統合版(スイッチ・スマホ・PS5・PC)・教育版限定の/testforコマンドの解説です。このコマンドを使用すると、指定した条件(特定の名前、特定の範囲、モブの種類など)にぴったり合致するエンティティ(プレイヤー、モブ、ドロップアイテムなど)が何体存在するかをカウント・検知することができます。コマンドブロックと「レッドストーンコンパレーター」を組み合わせることで、「特定のエリアにプレイヤーが立ち入ったら回路を起動する」「部屋の中のゾンビを全滅させたら扉を開ける」といった、配布ワールドやミニゲームの自動化ギミックを作るための「センサー(引き金)」として絶大な威力を発揮する超定番コマンドです。

❓ 混乱しやすい!testfor・testforblock・testforblocksの違い

マイクラには「何かを検知する」テストコマンドが3種類あります。それぞれ「何を調べるか(調べる対象)」が全く異なりますので、作りたいギミックに合わせて使い分けましょう!

/testfor(当ページ):「エンティティ(人・モブ・アイテム)」を数えます。
(例:この半径5マス以内にゾンビがいるか?プレイヤーが部屋に入ってきたか?)
/testforblock:指定した「特定の1マス」にある「ブロックの種類・状態」を調べます。
(例:座標(10, 64, 10)の位置にあるのはチェストブロックか?)
/testforblocks:指定した「広い範囲(直方体)」のブロックの並びが、別の場所のブロックの並びと「完全に一致しているか」を調べます。
(例:プレイヤーが作った建築の形が、お手本(正解)の形とぴったり同じか?=建築パズルゲームなど)

/testfor(エンティティの存在検知・カウント) 統合版限定
/testfor @a[r=5]

【実行例】コマンドを実行した場所(またはコマンドブロック)から、半径5ブロック以内にプレイヤー(@a)が1人でも存在するかどうかを調べます。

⚙️ /testfor コマンドの構文(書き方)

`/testfor` コマンドの構造は非常にシンプルで、調べたい対象(プレイヤー名や、条件を細かく指定したターゲットセレクター)を記述します。

/testfor <victim: target>

💡 引数の詳しい意味と設定ルール

引数名 記述ルール・値の例 詳しい効果と役割(説明)
<victim: target>
(検知対象)
Alice (特定の個人名)
@a[r=10] (半径10マス全員)
@e[type=zombie] (全ゾンビ)
必須項目です。カウント(検知)したい対象を指定します。プレイヤー名を直接書くか、ターゲットセレクターを使用します。セレクター内に大カッコ [...] を追加して条件を絞り込むことで、特定のモブだけを狙い撃ちしてセンサーにかけることができます。

🔌 コンパレーターを繋いでギミックを動かす仕組み

`/testfor` コマンドの真価は、「リピートコマンドブロック(常にアクティブ)」に入れて運用したときに発揮されます。

【自動化の黄金セット】
1. リピートコマンドブロック(紫色)の中に `/testfor @a[r=3]` を入れて設置する。
2. そのコマンドブロックの出力方向(矢印の先)に向けて「レッドストーンコンパレーター」を設置する。
3. 条件に合うプレイヤーが半径3マス以内に入ると、コマンドが「成功」に変わり、コンパレーターからレッドストーン信号がパッと出力されます!
4. 信号の先にレッドストーンダストやピコンドアを繋げば、近づくだけで自動で開くドアや、自動でゾンビが湧くトラップが完成します。条件から外れて誰もいなくなると、信号は自動で切れます。

🛠️ コピペで使える!実践コマンド実例集

コマンドブロック(リピート推奨)にそのまま貼り付けて検証できる、実用的なセンサーギミックの記述例です。

実例1:特定の友達(例:Alice)が今このワールドにログインしているか確認する
/testfor Alice

プレイヤー「Alice」がオンライン(ワールドにログイン中)であればコマンドが成功し、数を返します。オフラインだったりワールドに存在しない場合はコマンドが失敗します。

実例2:特定の座標(例: 0, 64, 0)から半径3マス以内にいる「サバイバルモードのプレイヤー」を検知する(ステージ進入センサー)
/testfor @a[x=0,y=64,z=0,r=3,m=0]

セレクター引数(引数の絞り込み)をフル活用した例です。座標 (X:0, Y:64, Z:0) を中心とした半径3マス(r=3)の球体範囲内に、サバイバルモード(m=0)のプレイヤーが侵入した瞬間にだけセンサーが反応します。クリエイティブモードのクリエイター自身がテスト中には反応させたくない場合に鉄板の記述です。

実例3:特定の部屋(半径20マス以内)にゾンビがまだ残っているか調べる(全滅検知ギミック)
/testfor @e[x=0,y=64,z=0,r=20,type=zombie]

対象をプレイヤー以外(@e)に広げ、モブの種類をゾンビ(type=zombie)に指定した例です。指定範囲内にゾンビが1体でも残っていればコンパレーターの信号が「ON」になり、ゾンビが全滅して0体になると信号が「OFF」になります。信号が切れた瞬間に作動する反転回路(NOT回路・レッドストーントーチ)を組み合わせれば、「モンスターを全滅させると開くダンジョンの扉」が簡単に作れます!

🛑 コマンドが失敗・上手く検知できない時のチェックポイント

  • 「対象が見つかりません」でエラーになる:これは仕様通りの正しい挙動です。`/testfor` は、指定した条件に合うエンティティが世界に1体もいない場合に「エラー(コマンドの失敗)」を出力します。誰もいないときにコンパレーターの電気が消えていれば、正常にセンサーとして機能しています。
  • 名前指定したプレイヤーがオフライン:名前を直接指定して検知する場合、そのプレイヤーがワールドにログインしてオンライン状態でなければ、失敗扱いになります。
  • Java版には存在しない:この `/testfor` コマンドは統合版(Bedrock Edition)専用の要素です。Java版では `/execute if entity …` という別の書き方に統合されているため、Java版のワールドに持って行っても動きません。

⚠️ 前提条件

※このコマンドを実行するには、世界の「チートの実行」がオンになっている必要があります。統合版の仕様上、実行制限はなくチートさえオンであれば一般プレイヤーのチャット欄からでも実行制限なしでテスト可能です(ただし、基本的にはコマンドブロックに埋め込んで自動ループさせて使用します)。構文の間違いや、大カッコ内の条件指定の記述ルール(カンマ区切りなど)に違反した場合は構文解析不能エラーになります。

💻️ マインクラフトでプログラミングが学べる教室

👇️KIDSPROプログラミング教室の公式サイトをチェック!

「やりたい!」を楽しく学べる教室 | キッズ・プログラミング教室KIDSPRO
自分で考え、デジタル化する力を育むキッズ・プログラミング教室KIDSPRO。マイクラ、Roblox、Scratchのほか、本格的なBlenderやUnreal Engineも個別指導で楽しく学べます!土日のオンライン授業も無料。まずは無料体...

📖 おすすめの参考書 & YouTube解説動画

👇️KIDSPRO (mcguide) 出版のコマンド完全攻略本をAmazonでチェック!

【最新版2025】マインクラフト コマンド完全攻略技術書(統合版/教育版): 新executeコマンド詳解とNPC設定方法も分かる完全ガイド | 栗木 洸大, 岡田 哲郎, 岡田 哲郎 |本 | 通販 | Amazon
Amazonで栗木 洸大, 岡田 哲郎, 岡田 哲郎の【最新版2025】マインクラフト コマンド完全攻略技術書(統合版/教育版): 新executeコマンド詳解とNPC設定方法も分かる完全ガイド。アマゾンならポイント還元本が多数。栗木 洸大...

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

KIDSPRO キッズ・プログラミング教室
「だれもがクリエイターになれる世界を」KIDSPRO(キッズプロ)は、日本e-Learning大賞の受賞歴を持つプログラミング教室の公式チャンネルです。初心者のお子様から、身体に障害を持つ方、将来ゲームクリエイターに挑戦したい方まで、誰もが...

コメント

タイトルとURLをコピーしました