Minecraft【テクニック】エンティティをグループで選択しよう。3-1

2025-09-09

Java版1.21.8-、統合版v1.21.101-で動作確認。

ターゲットセレクターの、引数を使ってエンティティを絞り込む。

エンティティをグループで選択しよう。

エンティティは種類も多く、個別で選ぶのは手間がかかります。コマンドで武器や道具を作り、敵対モブや動物だけを対象にしたい時、グループ選択が出来ると便利です。Java版はデータパックの「プレディケート(predicate)」、統合版はビヘイビアー要素の「タイプファミリー(type_family)」を使って、エンティティをグループで選択出来るようにします。

 

 

目次

1.【Java版】フォルダ構造
・保存場所。

2.プレディケートの作成
・使い方。
・ファイルの読み込み。

3.【統合版】ファミリーの選択
・グループを作成。

 

 

【Java版】フォルダ構造

「predicate」を使うには、データパックが必要です。導入がまだの方は、関連記事を参考にフォルダ構造を作成してください。※一部のフォルダ名に「s」が不要なので注意。

 

 

保存場所。

フォルダ構造例を参考に「json」形式のファイルを設置します。「json」形式のファイルは、ジェネレーターサイトで作成。ファイル名は半角英数小文字。

◻︎フォルダ構造 例

ItaiWani(データパックの名前)
├ pack.meta
├ pack.png
└ deta
 └ itaiwani(名前空間)
  └ predicate
   └ mobs.json(ジェイソンファイル)

名前空間の直下に「predicate」フォルダを作成。

 

プレディケートの作成

多機能なプレディケートですが、今回はエンティティのリスト作成に使います。ジェネレーターサイトは、misodeがおすすめです。プレディケート以外にもルートテーブルやアドバンスメントなども作成出来ます。

使い方。

難しそうに見えますが、決まった項目にエンティティIDを追加していくだけです。日本語のままだと使いにくいので、翻訳せずに使用。一度作成したルートテーブルは、ブラウザを閉じても保存されます。リセットは、中央上の「…」メニューから「Reset to default」を選択。ダウンロードは右下の「↓」を選択。

Predicate Generator ジェネレーターサイト。

「json」ファイルを確認しながら作成出来ます。

◻︎作成 例

①バージョンを確認し、Conditionは「Entity proerties」を選択。
②Entityは「This」を選択
③Typeは「List」を選択。
④EntryにエンティティのIDを記入。
⑤緑の「+」ボタンでEntryを追加。赤の「ゴミ箱」アイコンで削除。

ダウンロードした「draft.json」をフォルダ構造の「predicate」フォルダへ移動。ファイル名も変更しておきます。※テキストエディタでも編集出来ます。

 

ファイルの読み込み。

ターゲットセレクタの引数を使って「json」ファイルを読み込みます。※名前空間とファイル名はコマンドガイドに表示されません。

リストにあるモブに、帽子を被せた様子。

◻︎コマンド 例(リピートコマンド:常時実行)

item replace entity @e[predicate=itaiwani:mobs] armor.head with leather_helmet

「mobs.json」に記入したエンティティに、革の帽子を被せます。※ゾンビ、スケルトン。

初回作成時はやや手間ですが、コマンドも短縮出来るので作っておくと便利です。

 

【統合版】ファミリーの選択

統合版ではビヘイビアー要素で、あらかじめグループ化された11種類のファミリーから選択出来ます。詳しくは公式サイトのEntity Documentationを確認してください。

グループを作成。

「family」コマンドで「monster」を選択すると、敵対モブ全てを対象にする事が出来ます。Java版のようなリストは作れませんが、「!」を使って対象(種類やファミリー)を除外すれば、コマンドだけで自由にグールプを作成出来ます。

グループ分けしたモブに、帽子を被せた様子。

◻︎コマンド 例(リピートコマンド:常時実行)

replaceitem entity @e[family=monster,type=!husk] slot.armor.head 0 keep leather_helmet

ハスク以外の敵対モブに、革の帽子を被せる。※帽子を装備出来るモブが対象。

◻︎応用 例(引数)

@e[family=mob,family=!monster]

全てのモブから、敵対モブを除く。※全ての友好モブを選択。

「family」や「type」などの同じ引数は、重ねて使う事は出来ません。※ただし「!」を使う除外は、複数追加する事が出来ます。