投稿日:2021/01/16
最終更新日:2021/01/16
どうも、ユキミ大福です。
今回はMinecraft統合版のコマンドでも用いる、エンティティについて解説をしていきます。
ここで解説するコマンド等は、解説する注意事項等をよく読み、個人でより詳しく調べた上で、個人の責任において使用して下さい。コマンド等の使用によって如何なる損害が発生しても、筆者であり当ブログの管理者でもあるわたくしユキミ大福は一切の責任を負いかねますので、ご了承下さい。
ちょっとだけ振り返り
以前の記事ではエンティティについて、本当に軽くしか触れていませんでした。
まずは基本的な部分から振り返りつつ、詳しく解説していきましょう。
エンティティ
今までの解説でちょこちょこ登場していましたが、今まであまり説明がありませんでしたね。「エンティティとは何ぞ?」という方はおまたせしました。やっとちゃんと解説します。
まず、マイクラのワールドを構成する要素は大きく分けて4つあるというところからお話しします。
1. ブロック
マイクラの代名詞の様なもので、大半は立方体
2. エンティティ
プレイヤーやモブなど、ブロックでないものは大体これ
3. パーティクル
ブロックを壊した時に出るカスみたいなものや、敵を倒した時に出る煙みたいなものなど、ブロックでもエンティティでもないものは大体これ
4. その他
空や雲等はブロックでもエンティティでも、そしてパーティクルでもないので、当ブログではその他としている
今回はこれらマイクラ4大要素の内、エンティティの解説をします。
上にもある通り、エンティティとはプレイヤーやモブなど、ブロックでもパーティクルでもないものを指します。
他にはボートやトロッコ、経験値オーブや設置した防具立て、絵画、ドロップしたアイテムや発射された矢、果ては雷等も実はエンティティです。
ちなみに、Java版ではエンティティである額縁は、統合版ではエンティティではありません。マジで謎。
そして、エンティティの中には、アイテム・ブロックIDのエンティティ版とも言える『エンティティID』を持ったものもあります。
エンティティIDを持ったものは「/summon」で呼び出すこともできます。
エンティティIDを持っていない絵画やドロップアイテム等も、ターゲットセレクターでは引数として設定することが可能です。詳しくは以下の記事をご覧ください。
ここまでが以前の内容です。それでは、より深くエンティティについて解説していきましょう。
エンティティの種類
ブロックでもパーティクルでもないものがエンティティだとは言っても、具体的には何がエンティティなんだ?という疑問が湧くと思います。そんな方向けに、エンティティの名前とエンティティID、それからターゲットセレクターの type 引数をリストアップしてみます。
表記)
・エンティティ名
ID: エンティティID
type: type 引数
例)
・防具立て
ID: armor_stand
type: armor_atand
ーー 以下エンティティリスト( v1.16.201 現在) ーー
ポーション効果の雲
ID: (なし)
type: area_effect_cloud
・防具立て
ID: armor_stand
type: armor_atand
・矢
ID: arrow
type: arrow
・コウモリ
ID: bat
type: bat
・ハチ
ID: minecraft:bee
type: bee
・ブレイズ
ID: blaze
type: blaze
・木のボート
ID: boat
type: boat
・ネコ
ID: cat
type: cat
・洞窟グモ
ID: cave_spider
type: cave_spider
・黒板(Education Edition限定)
ID: (?)
type: chalkboard
・洞窟グモ
ID: cave_spider
type: cave_spider
・チェスト付きトロッコ
ID: chest_minecart
type: chest_minecart
・ニワトリ
ID: chicken
type: chicken
・タラ
ID: cod
type: cod
・コマンドブロック付きトロッコ
ID: command_block_minecart
type: command_block_minecart
・ウシ
ID: cow
type: cow
・クリーパー
ID: creeper
type: creeper
・イルカ
ID: dolphin
type: dolphin
・ロバ
ID: donkey
type: donkey
・エンダーチャージ(エンドラが吐く火の玉)
ID: (なし)
type: dragon_fireball
・ドラウンド(水中ゾンビ)
ID: drowned
type: drowned
・ニワトリの卵
ID: egg
type: egg
・エルダーガーディアン
ID: elder_guardian
type: elder_guardian
・(エルダーガーディアンゴースト?)
ID: elder_guardian_ghost
type: elder_guardian_ghost
・エンドクリスタル
ID: ender_crystal
type: ender_crystal
・エンダードラゴン
ID: ender_dragon
type: ender_dragon
・エンダードラゴン
ID: ender_dragon
type: ender_dragon
・エンダーパール
ID: (なし)
type: ender_pearl
・エンダーマン
ID: enderman
type: enderman
・エンダーマイト
ID: endermite
type: endermite
・エヴォーカーファング(トラバサミみたいなやつ)
ID: evocation_fang
type: evocation_fang
・エヴォーカー
ID: evocation_illager
type: evocation_illager
・エンダーアイ
ID: (なし)
type: eye_of_ender_signal
・落下中のブロック(砂や金床など)
ID: (なし)
type: falling_block
・ガストの火の玉
ID: (なし)
type: fireball
・ロケット花火
ID: firewarks_rocket
type: firewarks_rocket
・ガストの火の玉
ID: (なし)
type: fishing_hook
・キツネ
ID: fox
type: fox
・ガスト
ID: ghast
type: ghast
・ヤギ(エンティティそのものはv1.17.0で実装?)
ID: (?)
type: goat
・ガーディアン
ID: guardian
type: guardian
・ホグリン
ID: minecraft:hoglin
type: hoglin
・ホッパー付きトロッコ
ID: hopper_minecart
type: hopper_minecart
・ウマ
ID: horse
type: horse
・ハスク(砂漠ゾンビ)
ID: husk
type: husk
・氷の爆弾(Education Edition限定)
ID: (?)
type: ice_bomb
・アイアンゴーレム
ID: iron_golem
type: iron_golem
・ドロップアイテム
ID: (なし)
type: item
・フェンスに繋がれたリード
ID: leash_knot
type: leash_knot
・雷
ID: lighting_bolt
type: lighting_bolt
・残留ポーション
ID: (なし)
type: lingering_potion
・ラマ
ID: llama
type: llama
・ラマの唾
ID: (なし)
type: llama_spit
・マグマキューブ
ID: magma_cube
type: magma_cube
・トロッコ
ID: minecart
type: minecart
・NPC(Education Edition限定?)
ID: npc
type: npc
・ヤマネコ
ID: ocelot
type: ocelot
・絵画
ID: (なし)
type: painting
・パンダ
ID: panda
type: panda
・オウム
ID: parrot
type: parrot
・ファントム
ID: phantom
type: phantom
・ブタ
ID: pig
type: pig
・ピグリン
ID: minecraft:piglin
type: piglin
・ピグリンブルート
ID: minecraft:piglin_brute
type: piglin_brute
・ピリジャー(略奪者)
ID: pillager
type: pillager
・プレイヤー
ID: (なし)
type: player
・シロクマ
ID: polar_bear
type: polar_bear
・フグ
ID: pufferfish
type: pufferfish
・ウサギ
ID: rabbit
type: rabbit
・ラヴェジャー
ID: ravager
type: ravager
・サケ
ID: salmon
type: salmon
・ヒツジ
ID: sheep
type: sheep
・(盾?)
ID: (なし)
type: shield
・シュルカー
ID: shulker
type: shulker
・シュルカーの弾
ID: (なし)
type: shulker_bullet
・シルバーフィッシュ
ID: silverfish
type: silverfish
・スケルトン
ID: skeleton
type: skeleton
・スケルトンホース
ID: skeleton_horse
type: skeleton_horse
・スライム
ID: slime
type: slime
・小さな火の玉(ファイヤーチャージの火の玉)
ID: (なし)
type: small_fireball
・スノーゴーレム
ID: snow_golem
type: snow_golem
・雪玉
ID: snowball
type: snowball
・クモ
ID: spider
type: spider
・スプラッシュポーション
ID: splash_potion
type: splash_potion
・イカ
ID: squid
type: squid
・ストレイ(氷雪スケルトン)
ID: stray
type: stray
・ストライダー
ID: minecraft:strider
type: strider
・トライデント
ID: (なし)
type: thrown_trident
・着火状態のTNT
ID: tnt
type: tnt
ID: tnt_minecart
type: tnt_minecart
・熱帯魚
ID: tropicalfish
type: tropicalfish
・カメ
ID: turtle
type: turtle
・ヴェックス
ID: vex
type: vex
・村人
ID: villager
type: villager
・ヴィンディケーター
ID: vindicator
type: vindicator
・行商人
ID: wandering_trader
type: wandering_trader
・ウィッチ
ID: witch
type: witch
・ウィザー
ID: wither
type: wither
・ウィザースケルトン
ID: wither_skeleton
type: wither_skeleton
・ウィザーの弾(黒)
ID: (なし)
type: wither_skull
・ウィザーの弾(青)
ID: (なし)
type: wither_skull_dangerous
・オオカミ
ID: wolf
type: wolf
・経験値ポーション
ID: xp_bottle
type: xp_bottle
・経験値オーブ
ID: xp_orb
type: xp_orb
・ゾグリン
ID: minecraft:zoglin
type: zoglin
・ゾンビ
ID: zombie
type: zombie
・ゾンビ馬
ID: zombie_horse
type: zombie_horse
・ゾンビピッグマン
ID: zombie_pigman
type: zombie_pigman
・ゾンビ村人
ID: zombie_villager
type: zombie_villager
エンティティIDと type 引数の関係
上のリストをご覧いただければわかるのですが、エンティティの中にはエンティティIDがないのに type 引数上は存在するものがあります。マイクラ内の厳密な話をすれば、エンティティID=type 引数の名前で合っています。ですが、コマンド上では少し扱いが異なるため、このブログでは別のものとして扱います。
まず、エンティティIDですが、これは『 /summon 』で用いられます。詳しくは /summon の解説で説明しますが、エンティティIDのあるエンティティは /summon で自由に召喚できます。
続いて type 引数ですが、こちらはターゲットセレクターで用いるものです。詳しくは以下のターゲットセレクターの解説をご覧いただきたいのですが、ターゲットセレクターで特定のエンティティを指定する際にこの引数を使います。
エンティティIDは存在してないけど type 引数は存在するみたいなものもありますので、覚えておいてください。
エンティティでできること
さて、コマンド解説シリーズでなぜエンティティのお話をしたかというところですが、コマンド的な観点からの解説はここからが本番です。
コマンドでゲームを作る上で重要な点は、エンティティはターゲットセレクターで指定できるという点です。ターゲットセレクターで指定できるということは同時に『 /execute 』でコマンドを実行させられるということを意味します。これが非常に重要なのです。
少し以前の解説を見てみましょう。ターゲットセレクターの解説回では以下の様なコマンドを使いました。
/execute @e[type=armor_stand,dx=-5,dy=0,dz=-5] ~ ~ ~ setblock ~ ~2 ~ gold_block 0
このコマンドでは、/execute によって防具立てにコマンドを実行させています。type 引数の部分が「type=armor_stand」となっていますよね。
type 引数を変えれば、別のエンティティにコマンドを実行させることもできます。雷などのほぼ一瞬で消えてしまうごく一部のエンティティを除き、全てのエンティティにコマンドを実行させられます。
…とは言っても、何が凄いのか普通の人はよくわかりませんよね(よくわかるわたくしの様な人の方が稀だと思います)。例として実際に、わたくしのゲームで使われているコマンドをお見せしたいと思います。
『 / 』の前の記号はコマンドブロックの設定内容となっています。
RNR:反復、無条件、レッドストーンが必要
CCA:チェーン、条件付き、常にアクティブ
RNR/execute @e[c=1,type=eye_of_ender_signal] ~ ~ ~ effect @p speed 15 5
CCA/kill @e[type=eye_of_ender_signal]
このコマンドでは、エンダーアイにコマンドを実行させていて、エンダーアイを投げた(使った)人に速度上昇Lv.6が15秒間付きます。
ちなみに、その後の /kill は使用したエンダーアイを直ちに消去するものです(これがないとエンダーアイが無限にコマンドを実行してしまうため)。
これの何が凄いのかと言うと、実行座標を任意の場所に取ることができるため、ほぼ確実にアイテムの使用者だけに本来付かないポーション効果を与えることができるのです。特に、座標をコマンド側で指定する必要が無いのは非常に革新的です。
今回は、エンティティについて基礎的な部分のみをご紹介しました。正直言ってこれだけでは、ちょっと感覚的に理解ができないかもしれません。
コマンドにおけるエンティティの利用がどれだけ便利かは、今後のコマンド解説の応用編で解説していきたいと思いますので、お楽しみに!
今回のまとめ
- エンティティとはブロックやパーティクル以外のもの全て!
- エンティティIDを /summon で使えば自由にエンティティを召喚できる!
- ターゲットセレクターでは type 引数でエンティティを絞れる!
- エンティティにコマンドを実行させると色々面白いことができる!
関連記事
当記事及び当ブログへのご意見・ご質問はいつでも受け付けております。
お気軽にコメント欄までどうぞ!
↓良ければポチッとお願いします。