/summonとNBT:装備、属性、そしてMobを思い通りに動かすタグ
Mobを召喚するだけならコマンド1つ。しかし装備を保持させ、デスポーンさせず、燃えさせず、勝手に歩き回らせないためには、6つの特定のタグが必要です。ここではそれぞれのタグの役割を解説します。NoAIやInvulnerableも含まれます。
/summon zombieは機能します。しかし、防具を装備したままにし、その場に留まり、日光の下でも生き残り、決してデスポーンしないゾンビにするには、さらに6つのタグが必要です。しかもそれらはコマンドのヘルプからは見つけられません。
重要な6つのタグ
/summon zombie ~ ~ ~ {PersistenceRequired:1b,NoAI:1b,Silent:1b,Invulnerable:1b,
CustomName:"Guard",CustomNameVisible:1b}
| タグ | 効果 |
|---|---|
PersistenceRequired:1b | デスポーンしない。 マップ制作で最も重要なタグ |
NoAI:1b | 凍結 — 移動も攻撃もせず、重力も受けない |
NoGravity:1b | 浮遊するが、AIは維持される |
Silent:1b | Mobの効果音を出さない |
Invulnerable:1b | /kill、奈落、クリエイティブモードのプレイヤー以外のすべてに対して無敵 |
Glowing:1b | 壁越しにアウトラインを表示 |
PersistenceRequiredと名札は関連していますが同じものではありません。名札もデスポーンを防ぎますが、NBTで設定したCustomNameは、PersistenceRequiredを追加しない限りデスポーンを防ぎません。これはショップNPCを作るほぼ全員がつまずくポイントです。
ドロップしない装備
{equipment:{mainhand:{id:"minecraft:diamond_sword",count:1},
head:{id:"minecraft:diamond_helmet",count:1}},
drop_chances:{mainhand:0f,head:0f}}
装備はスロット名をキーとするマップです — mainhand、offhand、head、chest、legs、feet、body、saddle — つまりスロットの順番を間違えることも、空のプレースホルダーを入れる必要もありません。埋めるスロットだけを列挙します。古いガイドではHandItemsとArmorItemsの配列(足、脚、胴、頭の順)が使われていますが、これは1.21.5で置き換えられ、現在は何の効果もありません。
ドロップ率はdrop_chances内のスロットごとの浮動小数点数で、0fから1fの範囲です。1fを超える値にするとドロップが確実になり、さらにアイテムのエンチャントと耐久値もそのまま保持されます。
属性
{attributes:[{id:"minecraft:max_health",base:40},
{id:"minecraft:movement_speed",base:0.35}]}
同じNBT内でmax_healthを設定すると、その体力でMobがスポーンします — Healthは新しい最大値がデフォルトになります。ダメージを受けた状態でスポーンさせたい場合にのみHealth:…fを追加してください。
よく使うID:max_health、movement_speed、attack_damage、armor、knockback_resistance、follow_range、scale。
乗客は下向きに積み重なる
{Passengers:[{id:"minecraft:skeleton",Passengers:[{id:"minecraft:chicken"}]}]}
最も外側のエンティティが一番下になります。Passengersの中にPassengersをネストすると、タワーが上方向に構築されます。設定を行いたい場合、各乗客にはそれぞれ独自の完全なNBTが必要です。
Bedrock Editionは異なる
Bedrock Editionの/summonにはNBT引数がありません。構文は/summon <entity> <pos> <yRot> <xRot> <spawnEvent> <name>で、挙動はタグではなくスポーンイベントで設定します。Java EditionのNBTブロックをBedrock Editionに貼り付けても動作しません。
Mobを選んでこれらのタグを視覚的に切り替えましょう — 防具スロットの順番も自動で処理されます — /summon Generatorで。