Руководства / Команды и данные
/summon с NBT: снаряжение, атрибуты и теги, которые заставляют моба вести себя правильно
Призвать моба — это одно слово. Чтобы он сохранил снаряжение, не исчез, не сгорел и не ушёл бродить, нужно ещё шесть конкретных тегов. Вот что делает каждый из них.
/summon zombie работает. Зомби, который сохраняет броню, стоит на месте, выживает под солнцем и никогда не исчезает, требует ещё шести тегов, и их не найти в справке по команде.
Шесть главных
/summon zombie ~ ~ ~ {PersistenceRequired:1b,NoAI:1b,Silent:1b,Invulnerable:1b,
CustomName:"Guard",CustomNameVisible:1b}
| Тег | Эффект |
|---|---|
PersistenceRequired:1b | Никогда не исчезает. Самый важный для создания карт |
NoAI:1b | Заморожен — не двигается, не атакует, на него не действует гравитация |
NoGravity:1b | Парит, но сохраняет ИИ |
Silent:1b | Без звуков моба |
Invulnerable:1b | Невосприимчив ко всему, кроме /kill, Ничто и игрока в творческом режиме |
Glowing:1b | Контур виден сквозь стены |
PersistenceRequired и присвоение имени связаны, но не одно и то же: бирка тоже предотвращает исчезновение, но CustomName, заданное через NBT, не предотвращает, если не добавить 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}]}
Установка max_health в том же NBT также призывает моба с этим полным здоровьем — 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 отличается
В Bedrock у /summon нет аргумента NBT. Синтаксис — /summon <entity> <pos> <yRot> <xRot> <spawnEvent> <name>, а поведение задаётся через события появления, а не через теги. Блок NBT из Java, вставленный в Bedrock, не сработает.
Выберите моба и переключайте эти теги наглядно — с уже учтённым порядком слотов брони — в Генераторе /summon.