Перейти к основному содержимому

Автоматическая классовая добыча

Доступность в сборках

Эта страница описывает текущую реализацию EliteMobs. В старых сборках этих настроек может не быть. Перед настройкой проверьте сгенерированный ClassLootSettings.yml и автодополнение команд.

Классовая добыча использует обычные файлы пользовательских предметов и таблицы добычи боссов. Профиль задаёт базовый случайный набор зачарований для сложности и ранга столкновения; пользовательский предмет задаёт материал, имя, описание, модель, привязку владельца и намеренные переопределения.

Как выпадает добыча​

Укажите itemType: CLASS_LOOT в пользовательском предмете и добавьте ссылку на этот файл в uniqueLootList босса. Пустая таблица не даёт классовой добычи: система не создаёт отсутствующие предметы или семейства.

# customitems/winter_sword.yml
isEnabled: true
itemType: CLASS_LOOT
material: DIAMOND_SWORD
name: "&bWinter's Edge"
lore: ["&7Taken from $boss on $difficulty."]
# customitems/winter_helmet.yml
isEnabled: true
itemType: CLASS_LOOT
material: DIAMOND_HELMET
classLootFamily: TANK_HELMETS
name: "&bDeepwinter Helm"
lore: []
# custombosses/winter_keeper.yml
isEnabled: true
entityType: STRAY
name: "&bWinter Keeper"
level: 50
healthMultiplier: 7.0
damageMultiplier: 1.4
classLoot: true
classLootRank: BOSS
classLootDifficulty: AUTO
uniqueLootList:
- filename: winter_sword.yml
chance: 1.0
amount: 1
- filename: winter_helmet.yml
chance: 1.0
amount: 1

Задайте material, непустое name и список строк lore; значение lore: [] допустимо. Отсутствующие или некорректные обязательные поля отключают предмет. Семейство оружия определяется материалом, но магическое оружие использует weaponType: WANDS или STAVES. Для щитов определяется SHIELDS. Броне необходимо явно указать подходящее семейство DPS_<slot> или TANK_<slot>; шлем не может принадлежать семейству ботинок.

Поддерживаемые семейства: SWORDS, AXES, BOWS, CROSSBOWS, TRIDENTS, HOES, MACES, SPEARS, STAVES, WANDS, DPS_HELMETS, DPS_CHESTPLATES, DPS_LEGGINGS, DPS_BOOTS, TANK_HELMETS, TANK_CHESTPLATES, TANK_LEGGINGS, TANK_BOOTS и SHIELDS.

Поле боссаЗначение
classLootВключает классовую добычу для этого босса; по умолчанию включено, кроме определений подкреплений
classLootDifficultyAUTO, NORMAL, HARD или MYTHIC; AUTO использует сложность экземпляра подземелья, иначе настроенное значение по умолчанию
classLootRankAUTO, TRASH, MINIBOSS или BOSS; AUTO использует тип босса, затем устаревшие обозначения уровня в имени
uniqueLootListОбычные ссылки на предметы; подходящие записи CLASS_LOOT образуют набор кандидатов

Также действует глобальный переключатель enabled в ClassLootSettings.yml. Подкрепления, ездовые существа, убийства с обнаруженным эксплойтом, недопустимые уровни, игроки с блокировкой наград и участники, нанёсшие менее 10% от максимального здоровья босса, не получают этих попыток выпадения.

По умолчанию шанс первого этапа составляет 5% для обычных врагов, 25% для мини-боссов и 100% для боссов, отдельно для каждого подходящего участника. После успеха выбор учитывает только доступные классовые предметы, соответствующие сложности и разрешениям, с положительными количеством и шансом. Затем отдельно проверяется шанс выбранной записи; при успехе создаётся настроенное количество предметов. Повторный выбор при неудаче этой проверки не гарантируется.

Классовые записи обрабатываются этим механизмом и не дублируются в обычной добыче босса. В той же таблице могут находиться и другие награды. Снаряжение в экземпляре подземелья попадает в его общий пул голосования; подходящее групповое снаряжение попадает в пул группы; остальное становится личной добычей.

Общее оформление для нескольких мобов​

Ссылайтесь на одни и те же файлы пользовательских предметов у нескольких боссов. Каждое выпадение использует ранг, сложность и уровень награды своего столкновения. $boss, $weapon, $item и $difficulty подставляются в имя и описание классового предмета.

Явно заданные зачарования предмета переопределяют соответствующие результаты профиля; эффекты зелий предмета добавляются к эффектам профиля. Поля модели, разрешение и Soulbind остаются обычными настройками пользовательского предмета. Так один именованный предмет может использовать общую основу и сохранять намеренно заданное особое свойство.

Эта реализация не поддерживает оформление через classLootItems, classLootNames или classLootLore в файле босса. Перенесите оформление в обычные определения пользовательских предметов и добавьте ссылки в таблицу добычи; не рассчитывайте на прежнюю автоматическую миграцию, описанную в документации тестовых сборок.

Предпочтения классов​

Личные попытки выпадения используют активную специализацию получателя. Для каждой общей попытки подземелья равновероятно выбирается один подходящий участник; урон сверх существующего порога 10% на этот выбор не влияет. При выборе предмета используется класс этого участника. Групповые попытки работают так же среди находящихся рядом членов группы, участвовавших в бою. Предметы по-прежнему поступают на общее голосование и не закрепляются за выбранным игроком. Число попыток, порог, блокировки наград и право голосовать не меняются.

Подходящее оружие определяется настроенными предпочтениями оружия активной формы класса, включая бонусы специализации. Оружие в руках сейчас на этот выбор не влияет. Предпочтения брони и щитов для каждого класса находятся в сгенерированных настройках:

selection:
classBiasEnabled: true
relevantChance: 0.8
categoryWeights:
WEAPONS: 50
ARMOR: 45
SHIELDS: 5
classes:
paladin:
armor: TANK
shields: true
champion:
armor: DPS
shields: false
ranger:
armor: DPS
shields: false
battlemage:
armor: BOTH
shields: false

Танковая броня по умолчанию явно назначена Паладину, Стражу, Эгиде, Бастиону, Щитоносцу, Храмовнику, Владыке знамени, Бессмертному, Дредноуту, Колоссу и Чародейскому рыцарю. Юстициар, Маршал, Джаггернаут, Поджигатель войны, Боевой маг и Криомант принимают броню обеих ролей. Остальные формы предпочитают броню DPS, включая формы Клирика. Щиты по умолчанию предпочитают Паладин, Страж, Эгида, Бастион, Щитоносец, Юстициар, Храмовник, Маршал и Владыка знамени. Это редактируемые предпочтения снаряжения, а не ограничения боевой роли.

Если настройки выбора для класса отсутствуют или предпочтение класса отключено, используются веса категорий без разделения 80/20. Пустая группа передаёт свою вероятность доступной группе. Недоступные магические семейства и семейства материалов исключаются до расчёта вероятностей. Нулевой вес категории исключает её из настоящих выпадений; если все веса нулевые, автоматические попытки отключаются с предупреждением. Веса относительны внутри каждой группы соответствия классу, поэтому они не гарантируют общее распределение 50/45/5 для каждого класса.

Проверка администратором​

Разрешение: elitemobs.loot.admin. Команды доступны только игрокам и поддерживают автодополнение.

/em loot preview <mob.yml> <level> <NORMAL|HARD|MYTHIC>
/em loot preview <mob.yml> <level> <NORMAL|HARD|MYTHIC> <AUTO|TRASH|MINIBOSS|BOSS> <family|ALL>
/em loot giveall <mob.yml> <level> <NORMAL|HARD|MYTHIC>
/em loot giveall <mob.yml> <level> <NORMAL|HARD|MYTHIC> <AUTO|TRASH|MINIBOSS|BOSS>

Например:

/em loot preview GK_boss_snickersnap.yml 100 MYTHIC
/em loot preview GK_boss_snickersnap.yml 100 MYTHIC BOSS WANDS
/em loot giveall GK_boss_snickersnap.yml 100 MYTHIC

preview показывает доступные семейства предметов, их вероятности для активного класса администратора, заданные пределы и шансы зачарований, редкие правила, эффекты зелий и авторские записи таблицы. При указании семейства также создаётся один образец. Краткие формы используют определённый ранг босса. Явные аргументы ранга и сложности переопределяют его для проверки, не меняя конфигурацию. Вероятности семейств рассчитаны при условии успешной автоматической попытки; настроенный шанс выпадения указан отдельно. Правила зачарований задают пределы до применения бюджета, глобальной доступности и ограничений зачарований, а не гарантированные значения каждого образца.

giveall выдаёт по одному независимо сгенерированному образцу каждого доступного автоматического семейства и по одному образцу каждой авторской записи предмета, не относящейся к классовой добыче. Автоматические кандидаты по-прежнему должны соответствовать сложности и разрешениям записи, иметь положительные шанс и количество и доступный предмет. Образцы обходят сами броски выпадения, веса соответствия классу и настроенные количества. Отдельный проход по остальным предметам также обходит разрешения записей. Ограничения самого предмета по-прежнему применяются обычным конструктором пользовательских предметов. Авторские записи включают все варианты сложности, причём исходные условия сложности выводятся в отчёте: выбранная сложность управляет автоматическими профилями, а команда не предполагает, какому подземелью принадлежит многократно используемый моб. Фиксированные и ограниченные пользовательские предметы сохраняют свои правила уровня; масштабируемые образцы используют запрошенный уровень без ограничения прогресса администратора. Недоступные или некорректные предметы отмечаются в отчёте; неудачная генерация также вызывает предупреждение в консоли. Если инвентарь заполнен, предметы выпадают у ног администратора.

Команды не создают моба, не запускают события смерти, не выполняют награды-команды, не выдают валюту и не создают голосований за добычу. Награды, не являющиеся предметами, только перечисляются. Отключённый переключатель автоматической добычи отображается, но не запрещает намеренное создание образцов. Это инструмент проверки, а не симулятор частоты выпадения или аудит добычи подземелья.

Формула зачарований​

Сгенерированный ClassLootSettings.yml содержит все 171 сочетание сложности, ранга и семейства. Этот фрагмент показывает структуру редактируемого профиля; изменяйте сгенерированный файл, а не заменяйте все профили этим примером:

enabled: true
defaultDifficulty: NORMAL
difficultyIds:
'0': NORMAL
'1': HARD
'2': MYTHIC
enchantmentBudgetFraction: 0.5
minimumPrimaryLevel: 1
dropChance:
TRASH: 0.05
MINIBOSS: 0.25
BOSS: 1.0
profiles:
MYTHIC:
BOSS:
WANDS:
primaryEnchantment: POWER
enchantments:
POWER:
level: 7
chance: 1.0
UNBREAKING:
level: 5
chance: 0.9
MENDING:
level: 1
chance: 0.15
MULTICAST:
level: 2
chance: 0.4
rareEnchantments:
MULTICAST:
level: 3
chance: 0.01

Шанс каждого правила проверяется независимо. Редкие правила дают дополнительные попытки и заменяют успешное обычное правило только при более высоком уровне. Разрешённые уровни ванильных зачарований образуют набор единиц зачарования. Из него без возвращения выбирается ceil(N * fraction) единиц. До minimumPrimaryLevel выбранных единиц резервируется под основное зачарование в пределах его выбранного максимума и общего бюджета. Нулевой бюджет остаётся нулевым. Пользовательские зачарования сохраняют выбранные уровни и не расходуют ванильные единицы, как у существующей масштабируемой пользовательской добычи. Глобальная доступность зачарований и допуск к процедурной генерации продолжают действовать. Настройки пользовательских провайдеров используют текущий формат определения зачарований. Ванильный maxLevelV2 служит ориентиром для процедурной генерации и оценки, а не пределом авторского контента. Неподдерживаемые сочетания оружия и зачарований пропускаются с диагностикой конфигурации; жезлы и посохи не могут получить Punch из профилей.

Броня DPS использует Sharpness как основное зачарование и более слабую защиту. EliteMobs уже учитывает зачарования урона на надетой броне. Танковая броня использует Protection как основное и защитные вторичные зачарования. Щиты используют Protection через существующий расчёт защиты предмета во второй руке. Профили шлемов и ботинок могут включать поддерживаемые зачарования соответствующих слотов. Это отдельные предметы, а не новый бонус полного комплекта или новые типы навыков. Броня использует алмазные материалы; щиты используют SHIELD. У каждой награды своё обычное имя и описание пользовательского предмета.

Профили могут содержать potionEffects в существующем синтаксисе предметов, например potionEffects: ["STRENGTH,0,SELF,ONHIT"]. Усилители отсчитываются с нуля. Эти эффекты используют существующие правила и длительности эффектов предметов независимо от бюджета зачарований. Некорректные записи пропускаются с предупреждением. В поставляемых профилях снаряжения нет эффектов зелий: проверенные образцы не дают основания включать конкретное срабатывание в базовые свойства. Существующие профили оружия не меняются; отсутствующие профили брони и щитов дополняются из встроенных значений по умолчанию.

Пример: Power 7 и Unbreaking 5 создают 12 ванильных единиц. При доле 0.5 выбираются шесть; одна резервируется как Power, ещё пять случайно выбираются из оставшегося набора. Результат может иметь Power 4 / Unbreaking 2. Выбранный Multicast II остаётся II. Его отдельная редкая попытка с шансом 1% может дать III на жезле босса сложности Mythic. Это 1% сгенерированных жезлов боссов Mythic, а не 1% всех убийств боссов. Профили можно настраивать, не дублируя Winter's Edge в три файла пользовательских предметов.

Откуда взялись значения по умолчанию​

Аудит исходных данных в сентябре 2026 года охватил 58 доступных пакетов DLC, 2 566 определений пользовательских предметов и 4 417 ссылок на добычу боссов. Он сохранил 68 неразрешённых ссылок вместо выдумывания отсутствующих предметов. Классификация и малые выборки требуют оценки, поэтому эти профили служат отправной точкой для ручной проверки баланса.

Для исследованных групп оружия медианы положительных уровней зачарований округляются до ближайшего целого, а половины вверх. Шансы вторичных зачарований основаны на наблюдаемой частоте, округлённой с шагом 5%. Для собственной медианы группе нужно минимум пять положительных образцов; малые группы используют аналог с более крупной выборкой. Пределы уровней не уменьшаются от Normal к Hard и Mythic. Бинарные эффекты и эффекты с механическим пределом используют явные ограничения.

Профили брони используют отдельный аудит 920 предметов брони и щитов с уровнями сложности. Каждое правило сначала использует данные той же роли брони и слота, затем других слотов той же роли, затем того же слота других ролей. Для щитов используются данные щитов. При отсутствии данных применяется явно заданное резервное значение. Данные об эффектах зелий не достигли минимальных требований по объёму выборки и частоте для эффекта по умолчанию, поэтому базовые профили их не содержат.

В этом аудите нет классифицированных образцов магического оружия. Его профили Power и Unbreaking выведены из луков. Правила Multicast, Blast Radius и Ignition представляют новые решения по балансу. Шансы выпадения 5%/25%/100% и предпочтение класса 80% также являются проектными решениями, а не измеренными частотами DLC.

Целевые уровни основных зачарований​

Это настроенные пределы до применения случайного бюджета ванильных зачарований. В каждой ячейке указано Normal / Hard / Mythic. Это не гарантированные итоговые уровни предметов; вторичные зачарования тоже расходуют бюджет.

СемействоОсновноеОбычный врагМини-боссБосс
SWORDSSHARPNESS2 / 3 / 43 / 3 / 45 / 7 / 9
AXESSHARPNESS2 / 3 / 43 / 4 / 43 / 5 / 6
BOWSPOWER2 / 3 / 43 / 3 / 44 / 5 / 7
CROSSBOWSPOWER2 / 3 / 43 / 3 / 44 / 5 / 7
TRIDENTSSHARPNESS2 / 3 / 43 / 3 / 45 / 7 / 9
HOESSHARPNESS2 / 3 / 43 / 3 / 45 / 6 / 8
MACESSHARPNESS2 / 3 / 43 / 3 / 45 / 6 / 8
SPEARSSHARPNESS2 / 3 / 43 / 3 / 44 / 6 / 8
STAVESPOWER2 / 3 / 43 / 3 / 44 / 5 / 7
WANDSPOWER2 / 3 / 43 / 3 / 44 / 5 / 7
DPS_HELMETSSHARPNESS2 / 3 / 53 / 5 / 75 / 7 / 10
DPS_CHESTPLATESSHARPNESS2 / 3 / 43 / 5 / 75 / 7 / 10
DPS_LEGGINGSSHARPNESS2 / 3 / 44 / 5 / 75 / 7 / 10
DPS_BOOTSSHARPNESS2 / 3 / 53 / 4 / 65 / 7 / 10
TANK_HELMETSPROTECTION2 / 3 / 42 / 3 / 55 / 7 / 9
TANK_CHESTPLATESPROTECTION2 / 3 / 43 / 4 / 65 / 7 / 10
TANK_LEGGINGSPROTECTION2 / 3 / 42 / 3 / 45 / 6 / 8
TANK_BOOTSPROTECTION2 / 3 / 43 / 4 / 65 / 7 / 10
SHIELDSPROTECTION2 / 3 / 43 / 4 / 75 / 7 / 10

Балансировка подземелья​

  1. Выберите боевой уровень подземелья и синхронизацию уровня по руководству по сложности. Указывайте идентификаторы уровней сложности явно.
  2. Назначьте TRASH, MINIBOSS и BOSS согласно роли каждого столкновения. Они выбирают качество и частоту добычи, а не здоровье или урон босса.
  3. Начните со сгенерированных профилей выше. Настраивайте ClassLootSettings.yml, чтобы менять основу для всего контента, вместо тройного копирования каждого именованного предмета.
  4. Оценивайте итоговые случайные предметы, включая вторичные эффекты и редкие срабатывания. Повышение предела увеличивает набор доступных уровней, а не гарантирует характеристику каждой награды. Синхронизация уровня сложности сохраняет важность качества зачарований, поэтому значительное повышение предела может влиять далеко за пределами одного подземелья.
  5. Учитывайте подходящих участников и число столкновений. Попытка босса с шансом 100% относится к каждому подходящему участнику, а не гарантирует один предмет на всю группу. Повторяющиеся мини-боссы могут давать больше снаряжения, чем финальное столкновение.
  6. Проверяйте особые авторские награды вместе с базовыми. Сохраняйте их отличительные свойства намеренно; не делайте каждый особый предмет безусловно лучше любого базового. Перед игровым тестом используйте команды проверки с этой страницы.

Выживаемость босса по-прежнему определяется отдельными рекомендуемыми значениями босса. Формулы преобразования healthMultiplier в уровень зачарования нет. После проверки конфигурации оцените длительность столкновений и экономику наград в игровых тестах.

Доступность магии и миграция​

validWeapons.STAVES и validWeapons.WANDS в ProceduralItemGenerationSettings.yml по умолчанию равны true. Также нужен совместимый, работающий FMM. Отсутствующие или перезагружаемые магические службы исключают эти семейства из выбора; настройки миров Advanced Combat System не определяют доступность предметов.

Магический предмет CLASS_LOOT объявляет weaponType. Не указывайте fmmItemModel, чтобы использовать встроенное оружие этого семейства, либо задайте допустимый авторский идентификатор оружия FMM. Посохи используют поддерживаемый материал копья; жезлы используют BLAZE_ROD. Модель только для отображения не заменяет рабочее магическое оружие.

dropProcedurallyGeneratedItems управляет обычной процедурной добычей. Классовая добыча использует собственные глобальный и индивидуальный переключатели босса. Процедурные имена берутся из staffNames и wandNames в StaticItemNames.yml; имена классовых предметов берутся из их файлов пользовательских предметов.

В старом тестовом контенте замените оформление в файле босса пользовательскими предметами CLASS_LOOT и обычными ссылками добычи. Ключи ванильных зачарований в профилях сохраняют существующий формат; ссылки пользовательских предметов на магические зачарования требуют идентификаторов с пространством имён, например freeminecraftmodels:multicast,2.