Создание событий
Это руководство предназначено для EliteMobs 7.3.4 и выше
Что такое пользовательские события?
Пользовательские события здесь относятся к событиям, которые происходят случайным образом в игре, будь то на основе действий игрока или имеющие временной триггер. Плагин поставляется с предустановленным набором пользовательских событий, таких как событие Балрога, событие Кракена и события Сокровищного Гоблина, и это лишь некоторые из них.
Эта система называется Пользовательскими событиями, потому что события могут не только быть настроены, но и созданы с нуля. Далее следует руководство о том, как создавать и настраивать свои собственные события.
Создание ваших пользовательских событий
Файлы конфигурации пользовательских событий должны создаваться в:
plugins/EliteMobs/customevents/
Файлы должны использовать формат .yml. Имя файла (без расширения .yml) становится идентификатором события.
Пример: my_cool_event.yml ссылается как my_cool_event
Общие настройки конфигурации
Следующие настройки могут/должны использоваться как для событий действия, так и для временных событий.
isEnabled
Устанавливает, включено ли событие.
| Ключ | Значения | По умолчанию |
|---|---|---|
isEnabled | Boolean | true |
Пример
isEnabled: true
eventType
Устанавливает тип события.
| Ключ | Значения | По умолчанию |
|---|---|---|
eventType | DEFAULT / BREAK_BLOCK / FISH / TILL_SOIL / TIMED | none |
Обратите внимание, что BREAK_BLOCK, FISH и TILL_SOIL являются События действия, а TIMED - Временные события. DEFAULT предназначен для событий, запускаемых другими средствами или особыми условиями.
Пример
eventType: BREAK_BLOCK
bossFilenames
Устанавливает список боссов, которые будут заспавнены. Обязательно!
| Ключ | Значения | По умолчанию |
|---|---|---|
bossFilenames | String List | none |
Пример
bossFilenames:
- balrog.yml
- my_event_boss.yml
announcementPriority
Устанавливает приоритет объявления.
| Ключ | Значения | По умолчанию |
|---|---|---|
announcementPriority | Integer | none |
Пример
announcementPriority: 1
startMessage
Устанавливает сообщение, отправляемое в начале события.
| Ключ | Значения | По умолчанию |
|---|---|---|
startMessage | String | none |
Пример
startMessage: An event has started!
![]()
endMessage
Устанавливает сообщение, отправляемое в конце события.
| Ключ | Значения | По умолчанию |
|---|---|---|
endMessage | String | none |
Пример
endMessage: An event has ended!
eventStartCommands
Устанавливает команды, которые выполняются в начале события.
| Ключ | Значения | По умолчанию |
|---|---|---|
eventStartCommands | String List | none |
Пример
eventStartCommands:
- say The event now starts!!
- "$chance=0.5$ say What a spawn!"

eventEndCommands
Устанавливает команды, которые выполняются в конце события.
| Ключ | Значения | По умолчанию |
|---|---|---|
eventEndCommands | String List | none |
Пример
eventEndCommands:
- say The event ends, so sad.
- "$chance=0.5$ say Too slow bud!"

Пример конфигурации события
isEnabled: true
bossFilenames:
- "cool_boss.yml"
- "other_cool_boss.yml"
announcementPriority: 3
startMessage: "Cool event is starting!"
endMessage: "Cool event is ending!"
eventStartCommands:
- say The event started!
eventEndCommands:
- say The event ended!
Полный пример временного события
isEnabled: true
eventType: TIMED
bossFilenames:
- "my_timed_boss.yml"
announcementPriority: 3
startMessage: "A timed event has started!"
endMessage: "The timed event has ended!"
eventStartCommands:
- say The timed event began!
eventEndCommands:
- say The timed event concluded!
spawnType: "my_spawn_location.yml"
localCooldown: 120
globalCooldown: 30
weight: 100
eventDuration: 15
endEventWithBossDeath: true
minimumPlayerCount: 1
События действия
События, которые могут произойти при выполнении определенного действия, например, разбивании блока или рыбалке.
Примечание: События действия автоматически применяют 60-минутный кулдаун для каждого игрока, чтобы предотвратить повторное запуск событий одним и тем же игроком.
chance
Устанавливает шанс наступления события при выполнении действия.
| Ключ | Значения | По умолчанию |
|---|---|---|
chance | Значение между 0.0 и 1.0 | 0 |
Пример
chance: 0.001
breakableMaterials
Устанавливает список материалов для проверки, если действие установлено на BREAK_BLOCK.
| Ключ | Значения | По умолчанию |
|---|---|---|
breakableMaterials | Список материалов | none |
Пример
breakableMaterials:
- BEEHIVE
- BIRCH_WOOD
Пример конфигурации
chance: 0.001
breakableMaterials:
- COAL_ORE
Устанавливает 0.1% шанс запуска события при разбивании блока угольной руды, при условии, что тип события - BREAK_BLOCK.
Полный пример события действия
isEnabled: true
eventType: BREAK_BLOCK
bossFilenames:
- "mining_boss.yml"
announcementPriority: 2
startMessage: "You've awakened something..."
chance: 0.001
breakableMaterials:
- DIAMOND_ORE
- EMERALD_ORE
Временные события
Временные события - это события, которые происходят с настраиваемыми временными интервалами. Как только кулдаун для временного события истекает, из списка временных событий выбирается случайное временное событие на основе веса события.
spawnType
Устанавливает Пользовательский спавн, используемый событием, который определяет, где может заспавниться босс.
| Ключ | Значения | По умолчанию |
|---|---|---|
spawnType | Filename | none |
Пример
spawnType: nether_spawn.yml
localCooldown
Устанавливает количество времени в минутах до того, как это событие может быть выбрано снова.
| Ключ | Значения | По умолчанию |
|---|---|---|
localCooldown | Integer | 0 |
Пример
localCooldown: 120
globalCooldown
Устанавливает количество времени в минутах до того, как следующее событие будет выбрано.
| Ключ | Значения | По умолчанию |
|---|---|---|
globalCooldown | Integer | 0 |
Пример
globalCooldown: 60
weight
Устанавливает вес события, влияющий на шанс его выбора по сравнению с другими событиями. Рекомендуется: 100.
Система весов определяет относительную вероятность выбора события. Например:
- Событие A с весом 100 против События B с весом 50 = Событие A в два раза более вероятно для выбора
- Больший вес = больше шанс быть выбранным
- События оцениваются примерно каждые 5 минут
| Ключ | Значения | По умолчанию |
|---|---|---|
weight | Double | 0 |
Пример
weight: 60.5
eventDuration
Устанавливает максимальную продолжительность события в минутах.
| Ключ | Значения | По умолчанию |
|---|---|---|
eventDuration | Integer | 0 |
Пример
eventDuration: 30
endEventWithBossDeath
Устанавливает, заканчивается ли событие смертью босса.
| Ключ | Значения | По умолчанию |
|---|---|---|
endEventWithBossDeath | Boolean | true |
Пример
endEventWithBossDeath: true
eventEndTime
Устанавливает внутриигровое время (в тиках), когда событие заканчивается. Используйте систему времени Minecraft, где 0=рассвет, 6000=полдень, 12000=сумерки, 18000=полночь, 23000=поздняя ночь. Установите -1, чтобы отключить окончание по времени.
| Ключ | Значения | По умолчанию |
|---|---|---|
eventEndTime | Integer (0-24000, -1 для отключения) | -1 |
Пример
eventEndTime: 23000
minimumPlayerCount
Устанавливает минимальное количество игроков онлайн до того, как событие запустится.
| Ключ | Значения | По умолчанию |
|---|---|---|
minimumPlayerCount | Integer | 1 |
Пример
minimumPlayerCount: 5
Обратите внимание, что события ставятся в очередь, что означает, что они запустятся только после выполнения условий, определенных в spawnType.
Пример конфигурации событий
isEnabled: true
bossFilenames:
- "cool_boss.yml"
- "other_cool_boss.yml"
announcementPriority: 3
startMessage: "Cool event is starting!"
endMessage: "Cool event is ending!"
eventStartCommands:
- say The event started!
eventEndCommands:
- say The event ended!
spawnType: "myCoolSpawn.yml"
localCooldown: 30
globalCooldown: 15
weight: 100
eventDuration: 20
endEventWithBossDeath: true
eventEndTime: 10000
minimumPlayerCount: 5
