Создание контента EliteMobs
EliteMobs использует YAML для боссов, предметов, заданий и других определений, а Lua — для способностей, скриптов NPC и нативного поведения. Поместите каждый файл в соответствующую папку внутри plugins/EliteMobs/.
Типы контента
Этот обзор охватывает восемь основных типов контента, а также вспомогательные определения и скрипты ниже:
- Кастомные боссы — создавайте уникальных элитных мобов с кастомными способностями, снаряжением и умениями
- Кастомные предметы — проектируйте кастомное оружие, броню и предметы с зачарованиями
- Кастомные задания — стройте цепочки заданий с целями и наградами
- Кастомные события — настраивайте боссовые события по таймеру или по триггеру
- Кастомные NPC — добавляйте раздающих задания, магазины и интерактивных NPC
- Сундуки с сокровищами — размещайте сундуки с добычей с кастомными наградами и механикой мимиков
- Арены — проектируйте волновые боевые испытания со столкновениями с боссами
- Червоточины — создавайте телепортационные порталы между местами
У каждого типа контента есть своя конфигурационная папка и структура полей.
Быстрый старт
Для определения контента в YAML:
- Создайте YAML-файл с расширением .yml
- Назовите его в формате lowercase_with_underscores.yml
- Поместите его в подходящую папку
- Настройте контент с помощью полей YAML
- Перезагрузите EliteMobs или перезапустите сервер
Расположение файлов
Каждый тип контента хранится в своей папке:
- Кастомные боссы: ~/plugins/EliteMobs/custombosses/
- Кастомные предметы: ~/plugins/EliteMobs/customitems/
- Кастомные задания: ~/plugins/EliteMobs/customquests/
- Кастомные события: ~/plugins/EliteMobs/customevents/
- Кастомные NPC: ~/plugins/EliteMobs/npcs/
- Сундуки с сокровищами: ~/plugins/EliteMobs/customtreasurechests/
- Арены: ~/plugins/EliteMobs/customarenas/
- Червоточины: ~/plugins/EliteMobs/wormholes/
У вспомогательного контента есть дополнительные папки:
- Способности: ~/plugins/EliteMobs/powers/
- Кастомные спавны: ~/plugins/EliteMobs/customspawns/
- Lua-скрипты NPC: ~/plugins/EliteMobs/npc_scripts/
- Нативное поведение Lua: ~/plugins/EliteMobs/behaviors/
- Транспортные маршруты: ~/plugins/EliteMobs/transport_routes/
- Определения зачарований и Lua: ~/plugins/EliteMobs/enchantments/
- Пакеты подземелий: ~/plugins/EliteMobs/content_packages/
- Шаблоны миров инстансов: ~/plugins/EliteMobs/world_blueprints/
Папка scripts/ на уровне пакета принадлежит FreeMinecraftModels. Это не папка скриптов NPC или поведения EliteMobs; см. распределение папок пакета.
Инструменты создания контента
WebApp (рекомендуется новичкам)
EliteMobs WebApp предоставляет визуальный интерфейс создания конфигураций. Сверяйте результат с текущей справкой по типу контента: новые поля и Lua-скрипты могут требовать ручного редактирования.
Ручная настройка YAML
Для опытных пользователей — создавайте YAML-файлы вручную для полного контроля над всеми доступными полями и параметрами.
Формат файла YAML
Эти правила относятся к определениям YAML. Способности Lua, скрипты NPC и поведение используют отдельные файлы .lua:
- Используйте для отступов пробелы, а не табуляцию
- Заключайте в кавычки строки, начинающиеся с цветовых кодов; одинарные кавычки удобны для буквального текста
- Списки используют формат с дефисом или формат со скобками
isEnabledуправляет включением определения YAML. Значение по умолчанию зависит от типа контента и готового определения; указывайте его явно в новых файлах и сверяйтесь с соответствующей справкой- Имена файлов должны использовать формат lowercase_with_underscores.yml
Подробную помощь по синтаксису YAML см. в Руководстве по конфигурационным файлам.
Обзор типов контента
Кастомные боссы
Кастомные боссы — это элитные мобы с улучшенными умениями, кастомным снаряжением и особыми способностями. Система боссов поддерживает 60+ конфигурационных полей, в том числе:
- Тип сущности и уровень
- Множители здоровья и урона
- Снаряжение (броня и оружие)
- Элитные способности и умения
- Таблицы добычи и дроп
- Сообщения и команды при спавне/смерти
- Многофазовые механики
- Кастомные модели и маскировки
Пример базового босса:
isEnabled: true
entityType: ZOMBIE
name: '&e Test Boss'
level: dynamic
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
mainHand: GOLDEN_AXE
powers:
- invulnerability_knockback.lua
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
Кастомные предметы
Кастомные предметы позволяют создавать оружие, броню и инструменты со своими зачарованиями и эффектами. Возможности системы:
- Тип материала
- Отображаемое имя и лор
- Список зачарований
- Эффекты зелий
- ID кастомных моделей
- Вес дропа и масштабирование
- Настройки уровня и привязки к душе
Пример базового предмета:
isEnabled: true
material: DIAMOND_SWORD
name: '&4Legendary Blade'
lore:
- '&7A powerful weapon'
- '&7forged in dragon fire'
enchantments:
- DAMAGE_ALL,5
- FIRE_ASPECT,2
level: 10
soulbound: true
Кастомные задания
Кастомные задания определяют цели игроков и награды за выполнение. Возможности системы:
- Цели и типы заданий
- Награды (предметы, деньги, права)
- Диалог принятия/завершения
- Требования к сдаче NPC
- Таймеры блокировки заданий
- Отслеживание и звуки
Кастомные события
Кастомные события вызывают спавн боссов по времени, вероятности или другим условиям. Возможности системы:
- Тип события и список боссов
- Шанс триггера и вес
- Сообщения и команды начала/конца
- Таймеры перезарядки (локальные и глобальные)
- Минимальное количество игроков
- Длительность события
Кастомные NPC
Кастомные NPC предоставляют интерактивных персонажей для заданий, магазинов и арен. Возможности системы:
- Имя, роль и профессия NPC
- Местоположения спавна
- Диалог (приветствия, диалог, прощание)
- Типы взаимодействия
- Ссылки на задания и арены
- Кастомные модели и маскировки
- Lua-хуки NPC и маршруты патрулирования
Сундуки с сокровищами
Сундуки с сокровищами дают добычу с настраиваемыми таймерами пополнения и механикой мимиков. Возможности системы:
- Тип и ориентация сундука
- Координаты местоположения
- Таблица добычи
- Таймеры пополнения
- Шанс мимика и список боссов
- Режим выпадения: для одного игрока или отдельно для каждого игрока группы
Арены
Арены создают волновые бои с боссами. Возможности системы:
- Границы арены (corner1, corner2)
- Количество волн и задержки
- Список боссов и точки спавна
- Награды и ограничения игроков
- Сообщения арены
- Волны с передышкой
Червоточины
Червоточины создают порталы между двумя местами. Возможности системы:
- Две конечные точки-местоположения
- Отображаемый текст для каждого местоположения
- Визуальный стиль и цвета частиц
- Стоимость в монетах и права
- Эффект ослепления и множитель размера
- Необязательные модели сущностей на обоих концах
Распространённые паттерны
Ссылки на контент
Типы контента ссылаются друг на друга по именам файлов:
- Ссылка на способности в боссах: power_name.lua (устаревшая ссылка
power_name.ymlавтоматически разрешается в способность.luaс тем же именем) - Ссылка на предметы в добыче:
filename: item_name.yml(см. формат Таблиц добычи для шанса, количества и прочего) - Ссылка на боссов в событиях: boss_filename.yml
- Ссылка на задания в NPC: quest_filename.yml
Повторное использование определений
Файлы пользовательских боссов, NPC и транспортных маршрутов могут брать за основу другой файл того же типа с помощью extends: base_file.yml и переопределять только отличающиеся ключи. Размещения и isEnabled никогда не наследуются. Полные правила описаны в разделах Повторное использование другого файла босса и Повторное использование другого файла NPC.
Плейсхолдеры
Плейсхолдеры зависят от поля, которое их читает; они не заменяются глобально в любом сообщении:
$players— отображаемые имена участвовавших атакующих в объявлениях о смерти босса$distance— расстояние до отслеживаемого босса вlocationMessage$eventBossLevel— оформленный уровень в именах боссов; при неизвестном уровне предварительный просмотр может показать?
Цветовые коды
Используйте цветовые коды Minecraft в именах и сообщениях. Если текст начинается с цветового кода, заключите всю строку в кавычки. Одинарные кавычки сохраняют обратные косые черты буквально; двойные кавычки YAML тоже допустимы.
Стандартные цветовые коды Minecraft:
- &0 — Чёрный
- &1 — Тёмно-синий
- &2 — Тёмно-зелёный
- &3 — Тёмно-бирюзовый
- &4 — Тёмно-красный
- &5 — Тёмно-фиолетовый
- &6 — Золотой
- &7 — Серый
- &8 — Тёмно-серый
- &9 — Синий
- &a — Зелёный
- &b — Бирюзовый
- &c — Красный
- &d — Светло-фиолетовый
- &e — Жёлтый
- &f — Белый
Коды форматирования:
- &l — Жирный
- &m — Зачёркнутый
- &n — Подчёркнутый
- &o — Курсив
- &r — Сброс
Система элитных способностей
EliteMobs поставляет 71 способность: 68 файлов Lua (*.lua); только bonus_coins.yml, custom_summon.yml и elite_script.yml остаются в YAML. Конфигурации боссов ссылаются на них по имени файла; старые ссылки .yml автоматически разрешаются в одноимённую способность .lua. См. Создание способностей.
Категории способностей
Категория — это powerType способности; она также определяет, могут ли естественные элиты получить её случайно.
Атакующие:
arrow_fireworks, arrow_rain, attack_arrow, attack_fire, attack_fireball, attack_freeze, attack_gravity, attack_lightning, attack_poison, attack_push, attack_vacuum, attack_wither, fireworks_barrage, lightning_bolts, taze
Защитные:
invulnerability_arrow, invulnerability_fall_damage, invulnerability_fire, invulnerability_fireworks, invulnerability_knockback, shield_wall
Разные:
attack_blinding, attack_confusing, attack_weakness, attack_web, bonus_loot, channel_healing, corpse, frost_walker, ground_pound, implosion, invisibility, moonwalk, movement_speed, taunt
Основные способности (ограничены типом сущности):
MAJOR_ZOMBIE:zombie_bloat,zombie_friends,zombie_necronomicon,zombie_parentsMAJOR_SKELETON:bullet_hell,skeleton_pillar,skeleton_tracking_arrowMAJOR_BLAZE:firestorm,flame_pyreMAJOR_ENDERMAN:plasma_blasterMAJOR_GHAST:tracking_fireball
Уникальные (только при явном указании имени в боссе):
death_slice, flamethrower, frost_cone, gold_explosion, gold_shotgun, hyper_loot, meteor_shower, photon_ray, spirit_walk, summon_embers, summon_the_returned, thunderstorm, а также десять способностей Дракона Края: ender_dragon_aimed_fireball, ender_dragon_arrow_bombardment, ender_dragon_disco_fireballs, ender_dragon_empowered_lightning, ender_dragon_ender_fireball_bombardment, ender_dragon_endermite_bombardment, ender_dragon_fireball_bombardment, ender_dragon_potion_bombardment, ender_dragon_shockwave, ender_dragon_tornado
Всё ещё YAML:
bonus_coins.yml, custom_summon.yml (система подкреплений), elite_script.yml
Способности добавляются боссам с помощью поля-списка powers:
powers:
- invulnerability_knockback.lua
- flame_pyre.lua
- spirit_walk.lua
Продвинутые возможности
Многофазовые боссы
У боссов может быть несколько фаз с отдельными конфигурационными файлами. Используйте поле phases для ссылки на файлы фазовых боссов и phaseSpawnLocation, чтобы задать, где происходят переходы между фазами.
Elite-скрипты
Elite-скрипты предоставляют действия, условия и перезарядки по событиям. YAML EliteScript использует поле eliteScript босса. Способности Lua — отдельные файлы .lua, на которые ссылаются из powers; см. Создание способностей.
Кастомные модели
Боссы и NPC используют customModel для моделей сущностей. У предметов свои поля, включая customModelV2, equipmentModelID и fmmItemModel; см. Кастомные предметы. Модели сущностей и предметов настраиваются отдельно.
Снаряжение босса
Поля снаряжения босса принимают имена материалов Minecraft. Они не загружают файлы кастомных предметов или их характеристики EliteMobs:
helmet: DIAMOND_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
Выполнение команд
Боссы могут выполнять команды при определённых событиях:
- onSpawnCommands — выполняются при спавне босса
- onDeathCommands — выполняются при победе над боссом
- onCombatEnterCommands — выполняются при начале боя
- onCombatLeaveCommands — выполняются при окончании боя
Сообщения босса
Настраивайте объявления босса:
- spawnMessage — транслируется при спавне босса
- deathMessage — транслируется при победе над боссом (поддерживает плейсхолдер $players)
- escapeMessage — транслируется при побеге босса
- locationMessage — показывает расстояние до босса (поддерживает плейсхолдер $distance)
- deathMessages — строки, отправляемые по порядку при смерти босса, если записаны атакующие; непустой список имеет приоритет над deathMessage. Это не случайный выбор
announcementPriority (0–3) управляет доставкой объявлений, отслеживанием и передачей в DiscordSRV. Объявления о смерти при 0 идут записанным атакующим; положительные приоритеты рассылают их всему серверу, а 3 также передаёт через настроенную интеграцию DiscordSRV. У объявлений о спавне и отслеживания свои правила.
Региональные боссы
Региональные боссы используют поле isRegionalBoss и могут иметь радиус привязи, ограничения спавна и изменения состояния блоков:
- leashRadius — максимальное расстояние от точки спавна
- onSpawnBlockStates — изменения блоков при спавне босса
- onRemoveBlockStates — изменения блоков при победе над боссом; обычная выгрузка, исчезновение и сброс не применяют состояние победы
Автоматическая классовая добыча
Классовая добыча даёт награды с масштабированием уровня и подбором под класс игрока. Ранги встреч и бюджеты сложности регулируют качество отдельно от здоровья и урона босса. Семейства кастомных предметов могут задавать авторские имена, материалы, описания и модели.
Настройка добычи
Контролируйте дроп босса:
dropsEliteMobsLoot— включает обычную обработку генерируемой добычи и монет (по умолчаниюtrue); это не общий выключатель авторской или классовой добычиdropsVanillaLoot— включает ванильный дроп (по умолчаниюtrue)dropsRandomLoot— включает случайную генерируемую добычу в обычном пути обработки (по умолчаниюtrue)uniqueLootList— авторские записи добычи, обрабатываемые отдельно от этих переключателейclassLoot— отдельно управляет автоматической классовой добычей; глобальные настройки и условия допуска сохраняются
Пример:
uniqueLootList:
- filename=custom_sword.yml:chance=1.0
- filename=rare_helmet.yml:chance=0.05:amount=1
Устаревшая сокращённая запись custom_sword.yml:1 по-прежнему разбирается, но число после двоеточия — это шанс выпадения (1 = 100%), а не количество. Для количества используйте amount=. Полный набор опций см. в Таблицах добычи.
Готовый контент
EliteMobs поставляет готовые конфигурации для большинства типов контента и записывает их прямо в обычные папки контента при первой загрузке — отдельной папки /premade/ на диске нет. Сгенерированные файлы (боссы в custombosses/, предметы в customitems/, NPC в npcs/ и так далее) — это обычный YAML, который служит рабочими примерами для вашего собственного контента.
Определения готовых пакетов тоже поставляются с плагином; их миры подземелий и дополнительный контент загружаются и устанавливаются через /em setup. См. Упаковщик подземелий.
Получение помощи
- Загляните в боковую панель за конкретными руководствами по созданию контента
- Посетите Discord EliteMobs для поддержки сообщества
- Изучите репозиторий GitHub для примеров исходного кода