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

Создание боссов

webapp_banner.jpg

Создание пользовательских боссов

Прежде чем начать

Куда помещаются файлы боссов?

Файлы боссов помещаются в папку конфигурации ~/plugins/EliteMobs/custombosses.

Можно создавать подпапки, например ~/plugins/EliteMobs/custombosses/mybosses. Это рекомендуется для поддержания порядка.

Один файл определяет одного босса, хотя можно спаунить одного и того же босса несколько раз и даже установить несколько точек спауна для одного файла босса.

Можно использовать webapp для быстрого и простого создания пользовательских боссов и многого другого.

Минимально возможная конфигурация

Минимально возможный файл конфигурации для пользовательского босса:

Обратите внимание, что это просто пустой файл. Это все равно создаст пользовательского босса-зомби с пользовательским именем, так как это настройки по умолчанию. Всё на этой странице необязательно!

Пример босса

Давайте посмотрим на пример того, как выглядит файл босса.

Пример
isEnabled: true
entityType: ZOMBIE
name: '&eTest boss'
level: dynamic
timeout: 10
isPersistent: false
healthMultiplier: 2.0
damageMultiplier: 0.5
helmet: GOLDEN_HELMET
chestplate: IRON_CHESTPLATE
leggings: LEATHER_LEGGINGS
boots: CHAINMAIL_BOOTS
mainHand: GOLDEN_AXE
offHand: SHIELD
isBaby: false
powers:
- invulnerability_knockback.yml
spawnMessage: A test boss has been spawned!
deathMessage: A test boss has been slain by $players!
escapeMessage: A test boss entity has escaped!
locationMessage: 'Test entity: $location'
uniqueLootList:
- magmaguys_toothpick.yml:1
dropsEliteMobsLoot: true
dropsVanillaLoot: true
trails:
- BARRIER
onDamageMessages:
- "I've hit you!"
onDamagedMessages:
- "I've been hit!"

Базовые настройки

isEnabled

Устанавливает, включен ли босс.

КлючЗначенияПо умолчанию
isEnabledtrue / falsetrue
Пример
isEnabled: true

entityType

Устанавливает тип сущности босса.

КлючЗначенияПо умолчанию
entityTypeВыберите отсюда.
Значение также должно присутствовать в папке ~plugins/EliteMobs/mobproperties.
ZOMBIE
Magma Cubes и Slimes

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

Мы также рекомендуем использовать следующий EliteScript, чтобы предотвратить оглушение игроков Magma Cubes или Slimes:

eliteScript:
NerfDamage:
Events:
- ZoneEnterEvent
- ZoneLeaveEvent
Zone:
shape: SPHERE
radius: 1
Target:
targetType: SELF
Actions:
- action: SET_MOB_AI
Target:
targetType: SELF
bValue: false
duration: 10
Пример
entityType: ZOMBIE

name

Устанавливает имя босса.

КлючЗначенияПо умолчанию
nameString, принимает цветовые коды и плейсхолдеры, перечисленные ниже"Default Name"
Пример
name: "$normalLevel &cCool boss!"

create_boss_name_pic_no_level.jpg

Если вы хотите включить уровень босса в поле имени, просто используйте один из следующих плейсхолдеров.

ПлейсхолдерОписаниеПримерВывод (для босса 10 уровня)
$levelЗаменяется на уровень"$level Cool boss"10 Cool boss
$normalLevelЗаменяется на уровень, сделано для обычных мобов"$normalLevel Cool boss"[10] Cool boss
$minibossLevelЗаменяется на уровень, сделано для мини-боссов"$minibossLevel Cool boss"〖10〗 Cool boss
$bossLevelЗаменяется на уровень, сделано для боссов"$bossLevel Cool boss"『10』 Cool boss
$reinforcementLevelЗаменяется на уровень, сделано для подкреплений"$reinforcementLevel Cool boss"〔10〕 Cool Boss
$eventBossLevelЗаменяется на уровень, сделано для боссов событий"$eventBossLevel Cool boss"「10」 Cool boss
Пример
name: "$normalLevel &cCool boss!"

create_boss_name_pic.jpg


level

Устанавливает уровень босса.

КлючЗначенияПо умолчанию
levelПоложительные Integer числа или dynamicdynamic

dynamic используется для событий и настраивается под уровень ближайших игроков во время спауна босса. Не рекомендуется для региональных боссов.

Пример
level: 1

scale

Устанавливает масштаб (размер) босса.

КлючЗначенияПо умолчанию
scaleMultiplier1.0

При масштабировании 1.0 представляет размер по умолчанию. Чтобы увеличить сущность, увеличьте значение (например, 1.2). Чтобы уменьшить сущность, уменьшите значение (например, 0.8).

Пример
scale: 1.2

bossType

Устанавливает тип босса. Это используется для отображения полос здоровья босса и других функций.

КлючЗначенияПо умолчанию
bossTypeNORMAL, MINIBOSS, BOSS, EVENTNORMAL

MINIBOSS, BOSS, EVENT заставят плагин отображать полосы здоровья, когда игроки сражаются с этими типами боссов.

Пример
bossType: MINIBOSS

silent

Устанавливает, должны ли звуки босса быть отключены.

КлючЗначенияПо умолчанию
silentBooleanfalse

Когда установлено на true, эта опция отключает все звуки мобов Minecraft по умолчанию, заставляя босса вообще не издавать звуков.

Пример
silent: true

bossType

Устанавливает тип босса. Это используется для отображения полос здоровья босса и других функций.

КлючЗначенияПо умолчанию
bossTypeNORMAL, MINIBOSS, BOSS, EVENTNORMAL

MINIBOSS, BOSS, EVENT заставят плагин отображать полосы здоровья, когда игроки сражаются с этими типами боссов.

Пример
bossType: MINIBOSS

healthMultiplier

Устанавливает здоровье босса. Значение этой настройки также определяет тип полосы здоровья, отображаемой во время боя. Более высокие значения будут показывать полосу здоровья мини-босса или полного босса.

КлючЗначенияПо умолчанию
healthMultiplierMultiplier1.0
Пример
healthMultiplier: 1.5

damageMultiplier

Устанавливает множитель урона босса.

КлючЗначенияПо умолчанию
damageMultiplierMultiplier1.0
Пример
damageMultiplier: 1.5

isBaby

Устанавливает, использует ли босс детский вариант моба. Может применяться только к мобам с детскими вариантами. Если вы хотите замаскировать босса, но хотите, чтобы он оставался ребенком в маскировке (убедитесь, что сущность маскировки также поддерживает детский вариант), вы можете использовать эту настройку:

disguise: HOGLIN:baby
КлючЗначенияПо умолчанию
isBabytrue / falsefalse
Пример
isBaby: true

helmet/chestplate/leggings/boots/mainhand/offhand

Устанавливает броню босса. Не все модели minecraft способны показывать броню. Броня босса чисто косметическая и не влияет на геймплей.

КлючЗначенияПо умолчанию
helmetMaterial, UUIDnone
chestplateMaterialnone
leggingsMaterialnone
bootsMaterialnone
mainHandMaterialnone
offHandMaterialnone

Примечание: Это поле также позволяет установить пользовательские модели для предметов. Чтобы установить ID пользовательской модели, добавьте ID после типа материала в следующем формате: ITEM_MATERIAL:ID. Пример: DIAMOND_SWORD:1 устанавливает боссу алмазный меч с пользовательской моделью #1 в вашем пакете текстур.

Примечание 2: Это поле также позволяет установить пользовательские цвета кожи в формате ITEM_MATERIAL:CODE, где code - это шестнадцатеричное представление цвета. Пример: LEATHER_LEGGINGS:ffa500 создаст оранжевые штаны. Вы можете использовать hex коды, просто удалите # из hex кода. Вы можете получить hex коды здесь.

Примечание 3: Поле helmet также позволяет установить шлемы мобов в виде голов игроков. Просто получите UUID головы игрока, которую вы хотите использовать, и введите ее в поле helmet. Игрок должен быть онлайн, чтобы это работало, иначе голова будет стандартной головой MineCraft. Вы можете получить UUID игроков здесь.

Пример
helmet: 198c4123-cafc-45df-ba79-02a421eb8ce7
chestplate: DIAMOND_CHESTPLATE:1
leggings: LEATHER_LEGGINGS:ffa500
boots: NETHERITE_BOOTS
mainHand: DIAMOND_SWORD
offHand: SHIELD

create_boss_armor.jpg


powers

Устанавливает способности, которые есть у босса.

КлючЗначенияПо умолчанию
powersСмотрите список нижеnone
Пример
powers:
- hyper_loot.yml
- attack_arrow.yml

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


Промежуточная конфигурация - Спаун подкреплений

Подкрепления также помещаются в категорию powers, используя следующие настройки:

Настройки подкреплений
КлючОписаниеЗначенияПо умолчанию
summonTypeЧто вызывает спаун подкрепления. Обязательно.Смотрите список нижеnone
filenameИмя файла босса для спауна в качестве подкрепления. Обязательно.Stringnone
chanceШанс спауна подкрепления. Опционально.Double1.0
amountУстанавливает количество подкреплений для спауна. Опционально.Integer1
inheritAggroЗаставляет подкрепление наследовать агрессию от босса. Опционально.true / falsefalse
spawnNearbyЗаставляет подкрепления спауниться в радиусе 30 блоков от босса. Опционально.true / falsefalse
inheritLevelЗаставляет подкрепление наследовать уровень босса. Опциональноtrue / falsefalse
customSpawnЗаставляет подкрепление спауниться с использованием системы пользовательского спауна. Используется только для summonType: GLOBAL
locationЛокация спауна. Опционально.world_name,x,y,z или x,y,z для локации относительно босса. Смещение относительно локации спауна для региональных боссов. Вы также можете использовать same_as_boss, чтобы подкрепления спаунились в том же мире, что и босс.none
lightningRodСпециальная настройка для summonType: ON_COMBAT_ENTER_PLACE_CRYSTAL. Заставляет эндер кристаллы вызывать молнии вокруг них. Опционально.true / falsenone

Типы призыва устанавливают условия для спауна подкреплений. Ниже приведен список допустимых типов призыва:

Типы призыва
ЗначениеОписание
ONCEСпаунит подкрепления только один раз, при первом получении урона боссом.
ON_HITСпаунит подкрепления при ударе.
ON_COMBAT_ENTERСпаунит подкрепления, когда босс вступает в бой.
GLOBALСпаунит подкрепление для каждого онлайн игрока. Требует, чтобы ключ customSpawn имел установленный действительный пользовательский спаун.
ON_COMBAT_ENTER_PLACE_CRYSTALРазмещает подкрепления в виде эндер кристаллов при вступлении в бой, только для использования с пользовательскими боями дракона.

Обратите внимание, что также можно спаунить подкрепления через Elite Scripts, поэтому есть более настраиваемые способы спауна подкреплений.

Пример
powers:
- summonType: ON_COMBAT_ENTER
filename: test_boss.yml
chance: 0.5
amount: 5
inheritAggro: true
spawnNearby: true
inheritLevel: true
customSpawn: false
location: same_as_boss,10,20,30
lightningRod: false

Экспертная конфигурация - Создание собственных способностей

Можно создавать собственные способности, либо в самом файле босса, либо в виде нового файла конфигурации в папке powers. Вы можете узнать больше об этом здесь.

Ограничение способностей на основе сложности подземелья с инстансами

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

Опции ограничения способностей
КлючОписаниеЗначенияПо умолчанию
filenameИмя файла способности.Stringnone
difficultyIDНазвание сложности, соответствующее названию сложности в пакете подземелья.Stringnone

Это будет применяться только к подземельям с инстансами.

Пример
powers:
- filename: movement_speed.yml
difficultyID:
- myDifficultyName1
- myDifficultyName2
- myDifficultyName3

spawnMessage

Устанавливает сообщение для отправки при спауне босса. Требует настройки announcementPriority.

КлючЗначенияПо умолчанию
spawnMessageStrings и цветовые кодыnone
Пример
announcementPriority: 3
spawnMessage: I rise once more!

create_boss_spawn_message.jpg


deathMessages

Устанавливает список сообщений для отправки при смерти босса. Требует настройки announcementPriority.

КлючЗначенияПо умолчанию
deathMessagesStrings, цветовые коды и плейсхолдеры нижеnone
Пример
announcementPriority: 3
deathMessages:
- '&e&l---------------------------------------------'
- '&4The Test Boss has been killed!'
- '&c&l 1st Damager: $damager1name &cwith $damager1damage damage!'
- '&6&l 2nd Damager: $damager2name &6with $damager2damage damage!'
- '&e&l 3rd Damager: $damager3name &ewith $damager3damage damage!'
- '&4Slayers: $players'
- '&e&l---------------------------------------------'

create_boss_death_message.jpg

Сообщения о смерти используют следующие плейсхолдеры:

Плейсхолдеры
ЗначениеОписание
$damager1nameИмя главного атакующего
$damager2nameИмя второго главного атакующего
$damager3nameИмя третьего главного атакующего
$damager1damageКоличество урона главного атакующего
$damager2damageКоличество урона второго главного атакующего
$damager3damageКоличество урона третьего главного атакующего
$playersОтображает список всех атакующих

onKillMessage

Устанавливает сообщение для отправки, когда босс убивает игрока. Требует настройки announcementPriority.

КлючЗначенияПо умолчанию
onKillMessageStrings и цветовые кодыnone
Пример
announcementPriority: 3
onKillMessage: I win, you lose!

create_boss_spawn_message.jpg


slimeSize

Устанавливает размер босса-слизня, но работает только для Slimes и Magmacubes.

КлючЗначенияПо умолчанию
slimeSizeInteger4
Пример
slimeSize: 5

neutral

Устанавливает, будет ли босс спауниться как нейтральный или нет. Это применяется только к типам сущностей, которые могут быть нейтральными, таким как Wolves или Iron Golems.

КлючЗначенияПо умолчанию
neutralBooleanfalse
Пример
neutral: true

Расширенные настройки

timeout

Устанавливает количество времени в минутах до деспауна пользовательского босса.

КлючЗначенияПо умолчанию
timeoutВремя (в минутах) Integer0
Пример
timeout: 20

Устанавливает боссу побег через 20 минут.


isPersistent

Устанавливает, может ли босс пережить выгрузку чанка. Рекомендуется только для боссов событий.

КлючЗначенияПо умолчанию
isPersistenttrue / falsefalse
Пример

Пример:

isPersistent: true

damageModifiers

Устанавливает оружие, против которого боссы могут быть сильными или слабыми.

КлючЗначенияПо умолчанию
damageModifiersMaterialnone
Пример
damageModifiers:
- material:DIAMOND_SWORD,multiplier:0.8
- material:TRIDENT,multiplier:2.0

В этом примере боссы будут получать только 80% урона от алмазных мечей (или на 20% меньше), но будут получать 200% урона от трезубцев (или в 2 раза больше).


normalizedCombat

Модифицирует урон босса и максимальное здоровье, чтобы соответствовать значениям нормализованной сущности в ~/plugins/EliteMobs/mobproperties. Это по умолчанию для региональных боссов для гарантии плавной кривой сложности.

КлючЗначенияПо умолчанию
normalizedCombattrue / falsefalse
Пример

Пример:

normalizedCombat: true

escapeMessage

Устанавливает сообщение, которое транслируется игрокам, когда босс убегает через механику timeout. Требует настройки announcementPriority.

КлючЗначенияПо умолчанию
escapeMessageStringnone
Пример
announcementPriority: 3
timeout: 60
escapeMessage: "Sayonara!"

create_boss_escape_message.jpg


locationMessage

Устанавливает сообщение, отображаемое в полосе босса. Это используется для отслеживания здоровья пользовательского босса и его местоположения на сервере. Требует настройки annoucementPriority.

КлючЗначенияПо умолчанию
locationMessageString, Цветовые коды и плейсхолдеры, перечисленные нижеnone

Плейсхолдеры:

ЗначениеОписание
$distanceЗаменяется на расстояние игрока от пользовательского босса. Это предпочтительный вариант.
$locationЗаменяется на координаты x y z местоположения пользовательского босса
Пример
announcementPriority: 3
locationMessage: "&4Cool boss: At $location only $distance blocks away!"

create_boss_location_message.jpg

Это покажет что-то вроде Cool boss: At 414,55,347 only 10 blocks away!


uniqueLootList

Устанавливает Пользовательские предметы, которые выпадают с босса.

КлючЗначенияПо умолчанию
uniqueLootListListnone

Записи добычи в пользовательской добыче следуют формату таблицы добычи. Информация об этом здесь! Обратите внимание, что в некоторых старых файлах могут использоваться устаревшие таблицы добычи, которые выглядят иначе, чем в примере.

Пример
uniqueLootList:
- filename: magmaguys_toothpick.yml
chance: 0.02
- minecraft:type=DIAMOND:amount=1:chance=0.9
- SCRAP:level=5-10:amount=10-20:ignorePlayerLevel=false:chance=0.5
- UPGRADE_ITEM:level=5-10:amount=1-2:ignorePlayerLevel=false:chance=0.1
- magmaguys_toothpick.yml:0.5:elitemobs.*

dropsEliteMobsLoot

Устанавливает, будет ли босс дропать добычу EliteMobs, исключая предметы в uniqueLootList. Включает монеты.

КлючЗначенияПо умолчанию
dropsEliteMobsLoottrue / falsetrue

Рекомендуется установить на false для мобов подкреплений.

Пример
dropsEliteMobsLoot: true

dropsVanillaLoot

Устанавливает, будет ли пользовательский босс дропать ванильную добычу, обычно связанную с его типом ванильного моба.

КлючЗначенияПо умолчанию
dropsVanillaLoottrue / falsetrue
Пример
dropsVanillaLoot: true

dropsRandomLoot

Устанавливает, будет ли пользовательский босс дропать процедурно генерируемую добычу из EliteMobs. Не включает элитные монеты.

КлючЗначенияПо умолчанию
dropsRandomLoottrue / falsetrue
Пример
dropsRandomLoot: true

trails

Устанавливает след, который босс оставляет при движении.

КлючЗначенияПо умолчанию
trailsParticles или материалы предметовnone
Пример
trails:
- CLOUD

onDamageMessages

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

КлючЗначенияПо умолчанию
onDamageMessagesListnone
Пример
onDamageMessages:
- "I hit you!"
- "Haha I hit you!"

create_boss_damage_message.jpg


onDamagedMessages

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

КлючЗначенияПо умолчанию
onDamagedMessagesListnone
Пример
onDamagedMessages:
- "You hit me!"
- "I've been hit!"

create_boss_damaged_message.jpg


mountedEntity

Устанавливает сущность, на которой босс будет ездить верхом.

КлючЗначенияПо умолчанию
onDamagedMessagesИмя файла босса для верховой езды или тип сущностиnone

Не пытайтесь заставить босса ездить верхом на самом себе.

Пример
mountedEntity: wild_wolf.yml

create_boss_mounted.jpg

Примечание: Региональные боссы будут делить свой поводок с сущностью, на которой они едут верхом, что означает, что они оба будут притянуты обратно к точке спауна, если превысят расстояние, разрешенное их поводком.


announcementPriority

Устанавливает уровень приоритета для объявлений. Более низкие приоритеты означают отсутствие объявлений, более высокие приоритеты могут объявлять не только в чате, но и в discord, если настроено.

КлючЗначенияПо умолчанию
announcementPriorityInteger1

Вот список того, что делают приоритеты:

ЗначениеОписание
0Босс будет полностью тихим, без объявлений.
1Это по умолчанию. Боссы могут отправлять сообщения в чат при спауне, смерти и побеге.
2Кроме того, что в 1, босс будет отслеживаться игроками через меню /em.
3Кроме того, что в 2, сообщения будут дублироваться в Discord, если настроено. Информация о настройке Discord здесь.

Вот пример босса, который отслеживается, способен отправлять сообщения о спауне/смерти/побеге в чат и в Discord:

Пример
announcementPriority: 3

Примечание: Вам нужно будет настроить spawnMessage, deathMessage/deathMessages, escapeMessage для объявлений в чате и discord, а также locationMessage для функции отслеживания, если вы хотите использовать соответствующий уровень приоритета объявлений.


followDistance

Устанавливает расстояние, на котором боссы агрятся и вступают в бой. Измеряется от самого моба.

КлючЗначенияПо умолчанию
followDistanceDoublenone, использует значения по умолчанию из Minecraft

Примечание 1: Региональные боссы имеют половину followDistance, когда они вне боя. Это сделано для того, чтобы они не агрились слишком далеко, что может вызвать раздражающие проблемы в бою из-за ограничений поводка.

Примечание 2: Чем выше followDistance, тем более интенсивным для процессора сервера становится босс. Используйте осторожно и ответственно!

Пример
followDistance: 30

Устанавливает диапазон в 30 блоков, где если игрок приближается на это расстояние к боссу, он начнет преследовать/атаковать игрока.


onDeathCommands

Устанавливает список команд для выполнения при смерти пользовательского босса.

КлючЗначенияПо умолчанию
onDeathCommandsListnone

Список поддерживает следующие плейсхолдеры:

ЗначениеОписание
$levelПлейсхолдер для уровня босса.
$nameПлейсхолдер для имени босса.
$chance=x$Дает команде шанс на выполнение.
$playersЗаставляет команду выполняться один раз для каждого игрока в списке атакующих и заменяется каждый раз на имя пользователя другого игрока в этом списке.
$locationXX координата босса во время смерти.
$locationYY координата босса во время смерти.
$locationZZ координата босса во время смерти.
$damager1nameИмя пользователя главного атакующего
$damager2nameИмя пользователя второго главного атакующего
$damager3nameИмя пользователя третьего главного атакующего

Посмотрите на пример ниже, чтобы лучше понять, как они работают.

Пример
onDeathCommands:
- "say $players has killed $name! That was level $level!"
- "$chance=0.5$ say What a kill!"

create_boss_mounted.jpg

Если Player1, Player2 и Player3 все атаковали босса перед его убийством, вот что будет выведено из консоли:

say Player1 has killed CustomBossName! That was level X!
say Player2 has killed CustomBossName! That was level X!
say Player3 has killed CustomBossName! That was level X!

Кроме того, есть 50% шанс, что также будет выведено следующее:

say What a kill!

onSpawnCommands

Устанавливает список команд, которые будут выполняться при спауне босса.

КлючЗначенияПо умолчанию
onSpawnCommandsListnone

Это использует те же плейсхолдеры, что и onDeathCommands! Плейсхолдеры атакующих не будут применяться, так как в это время не будет атакующих.

Пример
onSpawnCommands:
- say Boss has spawned!

create_boss_mounted.jpg


onCombatEnterCommands

Устанавливает список команд, которые будут выполняться, когда босс вступает в бой.

КлючЗначенияПо умолчанию
onCombatEnterCommandsListnone

Это использует те же плейсхолдеры, что и onDeathCommands! Плейсхолдеры атакующих не будут применяться, так как в это время не будет атакующих.

Пример
onCombatEnterCommands:
- say Boss has entered combat!

create_boss_mounted.jpg


onCombatLeaveCommands

Устанавливает список команд для выполнения, когда босс покидает бой.

КлючЗначенияПо умолчанию
onCombatLeaveCommandsListnone

Это использует те же плейсхолдеры, что и onDeathCommands!

Пример
onCombatLeaveCommands:
- say Boss has left combat!

create_boss_mounted.jpg


disguise

Устанавливает маскировку LibsDisguises, если этот плагин включен. Подробнее здесь.

КлючЗначенияПо умолчанию
disguiseStringnone
customDisguiseDataStringnone
Пример маскировки
disguise: CHICKEN

create_boss_mounted.jpg

Пример пользовательской маскировки
disguise: custom:the_beast_sanctuary_beast
customDisguiseData: player the_beast_sanctuary_beast setskin {"id":"44e6d42b-bd8d-4e48-873b-fae7afed36e4","name":"Unknown","properties":[{"name":"textures","value":"ewogICJ0aW1lc3RhbXAiIDogMTY2NjcwNjYwODA1MCwKICAicHJvZmlsZUlkIiA6ICI3MmY5MTdjNWQyNDU0OTk0YjlmYzQ1YjVhM2YyMjIzMCIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGF0X0d1eV9Jc19NZSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS82YmYyMTY4NmM1MGQ1ODhmZmExMDZhZDdjNmViZTk1ZWZiMjE2NDU5ODRjZDFjZWYwODkzNDc4NzMzNmI2YTI3IiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0KICB9Cn0=","signature":"jSsQvpUeWVtyqjtnydPadormkrZLVihetiX4dFQb3+BF/1x6wOgsNKRnnwj6J1mfu2im79LYEJbL+fQ9p1SJIW1uZ6hV7vPSAGUopyXGHNibNXorfV/dGjM77S0t86Jls50XWgJAnLn5RdhQcHahDAHHZ8to6K0HW5gvKKSalR5X/myaiV0E5ujJ+LUFWIiuDmtsmyxTX1zsohyYrVMo/4sD0DpBN+as95wO476gLb5fDTDV569QwExlDOt60W8qSzPw6ncYsOKJIiRE3EddspUm3/NrfDiKApUh8UbzVtwu1XlVAxWNgYN3PkqhWKuE4kvORQuoSJzOgSHkiqdXsQOED2HXfOKdfsnpZUwjepIU5A+/mu0gc3mPQPToKSss2bC1nXn//0bOZZSuQRgTS6PkKDHIQ1nClSZQZlJIsiLmaaN2k1tIHTIlDquKN6G1Ta9c3t6G5kugjqRo78ebbt7l3e0Z3BcdOkuO2WbvBjIg5Uiqyf+cYDZedJ+OEOqL/U6VVlsmbw0rd5deHrbnPn9cRzmWGjrXnxIlAszl+0Uqabj/BrkWcbBCwZJEPaV1hHpC4nJX1m5xvKZHB2Bw0AYWaQ3f3tRBbCA/xqwCS0Px1QohzV0nvtiMbjB38ziT1M5DgLtAVLcHPio7THZMxXAi4IjEIMac9ODbh5OxthA="}],"legacy":false}

create_boss_mounted.jpg

Устанавливает пользовательскую маскировку из skindex. Проверьте эту страницу, чтобы узнать, как правильно отформатировать эти данные.


customModel

Устанавливает пользовательскую модель для использования, если у вас есть пользовательская модель и плагины FreeMinecraftModels или ModelEngine. Подробнее о создании и использовании пользовательских моделей здесь.

КлючЗначенияПо умолчанию
customModelStringnone
Пример
customModel: your_model

frozen

Устанавливает, может ли босс двигаться. Замороженные боссы все еще могут атаковать.
Примечание: это может не работать на некоторых сущностях.

КлючЗначенияПо умолчанию
frozentrue / falsefalse
Пример
frozen: true

song

Устанавливает музыку, которую будет воспроизводить босс, начиная со спауна. Требуется файл .ogg для песни в пакете ресурсов.

КлючЗначенияПо умолчанию
songStringnone

Примечание: Настройка song требует установки followDistance, так как followDistance определяет диапазон, в котором начинает воспроизводиться песня. Посмотрите пример о том, как установить length (миллисекунды) для song.

Пример

Есть два способа настроить песни. Вот первый:

song: name=elitemobs:ice_queen.idle length=76370

Это будет воспроизводить песню ice_queen.idle в течение 76370 миллисекунд, а затем зацикливать ее. Обратите внимание, что расположение песни определяется пакетом ресурсов.

Вот второй способ настройки песен:

song: name=elitemobs:ice_queen.end_transition length=14328->name=elitemobs:ice_queen.end_loop length=28657

Это будет воспроизводить песню ice_queen.end_transition в течение 14328 миллисекунд, а затем переходить к ice_queen.end_loop на 28657 миллисекунд и зацикливать end_loop.

Это позволяет боссам иметь "интро" или "переходную" песню, а затем основной трек, который зацикливается.


cullReinforcements

Устанавливает, будут ли подкрепления босса удалены, когда босс умирает.

КлючЗначенияПо умолчанию
cullReinforcementstrue / falsetrue
Пример
cullReinforcements: true

movementSpeedAttribute

Устанавливает скорость движения босса.
Примечание: значение выше 0.36 может быть слишком быстрым.

КлючЗначенияПо умолчанию
movementSpeedAttributeDoublenone
Пример
movementSpeedAttribute: 0.3

Фазы боссов

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

КлючОписаниеЗначенияПо умолчанию
phasesУстанавливает фазы, которые будет иметь босс. ОбязательноListnone
phaseSpawnLocationУстанавливает, где появляется босс фазы. ОпциональноStringnone
Пример

Для этого примера мы покажем три разных файла конфигурации.

Первый файл конфигурации босса: phase_1_boss.yml

name: "Phase 1"
entityType: ZOMBIE
phases:
- phase_2_boss.yml:0.60
- phase_3_boss.yml:0.30

Второй файл конфигурации босса: phase_2_boss.yml

name: "Phase 2"
entityType: SKELETON

Третий файл конфигурации босса: phase_3_boss.yml

name: "Phase 3"
phaseSpawnLocation: same_as_boss,10,64,100,0,0
entityType: RAVAGER

Этот босс изменится на файл конфигурации phase_2_boss.yml при 60% здоровья и на файл конфигурации phase_3_boss.yml при 30% здоровья в том же мире, что и фаза 2, по координатам x=10, y=64 и z=100. Тип сущности и имя босса также изменятся.

Формат записи: filename:healthPercentage.

phaseSpawnLocation необязателен, если он не установлен, босс изменит фазу там, где стоит.

Следующие вещи важно знать при проектировании босса с фазами:

  • Файл конфигурации для первой фазы устанавливает все фазы босса.
  • Угроза / подсчитанный урон сохраняется между фазами для игроков.
  • Переключение фаз основано на проценте потерянного здоровья, который сохраняется при переключении на другую фазу. Это означает, что увеличение или уменьшение healthMultiplier между фазами не будет лечить или наносить урон боссу, он все равно переключится с тем же процентом, но будет иметь больше или меньше здоровья для этой фазы.
  • Боссы с фазами возвращаются к фазе 1, если они выходят из боя.
  • Боссы с фазами, которые также являются региональными боссами, имеют одинаковый радиус поводка и механику таймаута для всех фаз и будут возрождаться как босс фазы 1, когда таймер закончится.
  • Файл конфигурации для последней фазы устанавливает добычу для босса.
  • Фазы не могут быть пропущены - излишний урон все равно заставит босса переключить фазы по определенному проценту.
  • Боссы с фазами, которые имеют седла, перестают быть верхом при переключении фаз.

Региональные боссы

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

Они используются для всего контента подземелий. Чтобы узнать больше о региональных боссах, нажмите здесь.

КлючОписаниеЗначенияПо умолчанию
isRegionalBossУстанавливает, является ли босс региональным. Должно быть true, если вы хотите регионального босса.true / falsefalse
spawnLocationУстанавливает локации спауна босса.Добавьте их через команду /em addSpawnLocation [filename.yml]!none
spawnCooldownУстанавливает время восстановления возрождения босса в минутах.Integer0
leashRadiusУстанавливает расстояние, на которое босс может отойти от точки спауна, прежде чем его потянет обратно. Измеряется от спауна.Doublenone
onSpawnBlockStatesУстанавливает блоки, которые босс будет модифицировать при спауне.Проверьте команды нижеnone
onRemoveBlockStatesУстанавливает блоки, которые босс будет модифицировать при деспауне.Проверьте команды нижеnone

Как указано, региональные боссы могут иметь onSpawnBlockStates и onRemoveBlockStates.

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

Формат для них слишком сложен для ручного написания, поэтому существует несколько команд, помогающих настроить их:

КомандаОписание
/em registerblocks [regional_boss_file.yml] [on_spawn/on_remove]Начинает регистрацию ручного выбора блоков для состояний блоков on spawn или on remove.
/em registerblocksedit [regional_boss_file.yml] [on_spawn/on_remove]Редактирует состояния блоков on spawn или on remove.
/em registerblocksarea [regional_boss_file.yml] [on_spawn/on_remove]Позволяет админам выбирать большие области блоков для сохранения в качестве состояний.
/em registerblocksareaedit [regional_boss_file.yml] [on_spawn/on_remove]Позволяет админам редактировать большие области блоков для сохранения в качестве состояний.
Пример использования:

Допустим, вы хотите создать бой, где босс появляется на арене с открытой дверью, и вы хотите, чтобы дверь закрывалась, когда начинается бой, и открывалась снова, когда бой закончится.

Для этого вам понадобятся две фазы босса и регистрация трех разных наборов состояний блоков. Для этого примера я назову эти фазы phase_1_boss.yml и phase_2_boss.yml соответственно.

  1. Используйте /em registerblocks phase_1_boss.yml on_spawn или /em registerblocksedit phase_1_boss.yml on_spawn, чтобы зарегистрировать блоки двери в их открытом состоянии.

Это означает регистрацию воздушных блоков. Здесь рекомендуется выбор области.

Это необходимо, чтобы убедиться, что дверь открыта, когда босс спаунится, чтобы у игроков гарантированно был способ войти.

  1. Используйте /em registerblocks phase_2_boss.yml on_spawn или /em registerblocksedit phase_2_boss.yml on_spawn, чтобы зарегистрировать блоки двери в их закрытом состоянии.

Это означает регистрацию твердых блоков двери, которые не позволят игроку выйти.

Это необходимо, чтобы изменить дверь на твердую, когда босс входит в фазу 2, не позволяя игрокам уйти.

  1. Используйте /em registerblocks phase_2_boss.yml on_remove или /em registerblocksedit phase_2_boss.yml on_remove, чтобы зарегистрировать блоки двери в их открытом состоянии.

Это означает регистрацию тех же блоков из первого шага снова (воздушных блоков).

Это необходимо, чтобы открыть дверь, когда босс умирает, позволяя игрокам покинуть арену.


alert

Устанавливает, находится ли босс в состоянии боевой готовности. По умолчанию региональные боссы замедлены и имеют меньшую дистанцию агрессии, когда они вне боя. Эта настройка предотвращает замедление региональных боссов и меньшую дистанцию агрессии вне боя, поэтому они всегда будут вести себя одинаково в бою или вне боя.

КлючЗначенияПо умолчанию
alertBooleantrue
Пример
alert: true

removeAfterDeath

Устанавливает, будет ли региональный босс навсегда удален после убийства. Это то, что использует BetterStructures для святилищ, где региональный босс предназначен для боя только один раз и никогда больше в этой локации.

КлючЗначенияПо умолчанию
removeAfterDeathBooleanfalse
Пример
removeAfterDeath: true

Инстансные боссы

Инстансные боссы - это подтип региональных боссов, используемых в инстансных подземельях.

КлючОписаниеЗначенияПо умолчанию
instancedДелает пользовательского босса инстансным. Обязательно.true / falsefalse

Установка боссов в instanced обязательна для правильной работы инстансных подземелий. Мы также рекомендуем удалить поводки для всех инстансных боссов.

Пример
instanced: true