Создание сундуков с сокровищами
Сундуки с сокровищами — это возможность, позволяющая администраторам создавать сундуки, которые могут либо выдавать добычу, либо порождать мимика (враждебного босса).
Значения
isEnabled
Определяет, включён ли сундук с сокровищами.
| Ключ | Значения | По умолчанию |
|---|---|---|
isEnabled | Boolean | false |
Отключённые сундуки пропускаются полностью: они не размещаются в мире и не предлагаются (и не принимаются) командой /em place treasureChest. Установите значение true, прежде чем пытаться разместить сундук.
Пример
isEnabled: true
chestType
Задаёт тип материала сундука.
| Ключ | Значения | По умолчанию |
|---|---|---|
chestType | Material | CHEST |
Пример
chestType: CHEST
Это должен быть допустимый материал сундука, например CHEST или BARREL.

facing
Задаёт направление, в которое повёрнут сундук.
| Ключ | Значения | По умолчанию |
|---|---|---|
facing | Особое [1] | NORTH |
Пример
facing: NORTH
Это задаёт направление, в которое повёрнут сундук. Допустимые значения: NORTH, SOUTH, EAST или WEST.
Особое [1]
Развернуть таблицу
| Направление |
|---|
NORTH |
SOUTH |
WEST |
EAST |
dropStyle
Определяет, предназначен ли сундук для одного игрока или для нескольких.
Сундуки SINGLE расходуются первым открывшим их игроком: блок заменяется воздухом, записывается restockTime, и блок появляется снова, когда пройдёт restockTimer минут. Отслеживания по игрокам нет, поэтому кто первым пришёл, тот и забрал весь сундук.
Сундуки GROUP никогда не убираются из мира. Вместо этого каждый открывший его игрок получает собственную перезарядку, поэтому каждый игрок может обобрать сундук один раз за период пополнения. Эти перезарядки хранятся в поле restockTimers, которое плагин записывает в файл за вас.
| Ключ | Значения | По умолчанию |
|---|---|---|
dropStyle | SINGLE / GROUP | SINGLE |
Пример
dropStyle: SINGLE
lootList
Перечисляет добычу, которую сундук с сокровищами должен выдать при открытии.
| Ключ | Значения | По умолчанию |
|---|---|---|
lootList | EM Loot Table | нет |
Пример
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=1.0
Если ни одна запись в списке не проходит свой розыгрыш chance, игроку отправляется treasureChestNoDropMessage из config.yml, чтобы сундук не давал молча ничего. Перезарядка при этом всё равно расходуется.
mimicChance
Задаёт вероятность появления враждебного босса вместо выдачи добычи.
| Ключ | Значения | По умолчанию |
|---|---|---|
mimicChance | Double | 0 |
Розыгрыш происходит при каждом взаимодействии, до генерации какой-либо добычи. Когда розыгрыш успешен, мимик появляется вместо выпадения добычи — сундук никогда не делает и то, и другое. Перезарядка сундука расходуется в любом случае.
Пример
mimicChance: 0.5
mimicCustomBossesList
Задаёт список враждебных боссов, доступных для появления. Из этого списка случайным образом выбирается один босс для появления.
Список также поддерживает систему весов, которую можно применить, чтобы некоторые боссы выбирались чаще других.
| Ключ | Значения | По умолчанию |
|---|---|---|
mimicCustomBossesList | String List | нет |
Пример
mimicCustomBossesList:
- my_cool_mimic_boss.yml
- weak_mimic_boss.yml
Если вы хотите назначить боссам веса, список следует оформить так:
mimicCustomBossesList:
- my_cool_mimic_boss.yml:60
- weak_mimic_boss.yml:40
При такой конфигурации my_cool_mimic_boss.yml с большей вероятностью будет выбран для появления, чем weak_mimic_boss.yml.
Запись без суффикса веса, а также запись, чей вес не читается как число, обе откатываются к весу 1.
С каким уровнем появляется мимик?
Это зависит от файла босса, на который вы указываете, а не от сундука:
level босса-мимика | Уровень, с которым он появляется |
|---|---|
| Фиксированное число | chestTier × 10 плюс случайные 0-10 |
dynamic (-1) внутри динамического подземелья | Выбранный уровень подземелья, ±1 |
dynamic (-1) в любом другом месте | Естественный уровень спавна открывшего игрока, ±1 |
Если файл босса, названный в списке, не удаётся найти, мимик не появляется и логируется предупреждение — игрок не получает ничего, включая добычу.
restockTimer
Задаёт время в минутах, через которое сундук снова наполняется добычей.
| Ключ | Значения | По умолчанию |
|---|---|---|
restockTimer | Integer | 0 |
Для сундуков SINGLE это время, в течение которого блок остаётся исчезнувшим, прежде чем будет возвращён. Для сундуков GROUP это время, которое каждый отдельный игрок должен подождать, прежде чем сможет обобрать сундук снова.
Оставленное по умолчанию значение 0 означает, что перезарядки фактически нет вообще, поэтому сундук можно фармить многократно. Задавайте реальное значение любому сундуку, который роняет что-то стоящее.
Пример
restockTimer: 30
effects
Примечание: эта настройка в настоящее время ничего не делает. Ключ по-прежнему читается из конфигурационного файла без ошибок и по-прежнему записывается вместе с остальными значениями по умолчанию, но ничто в плагине не использует разобранное значение, поэтому сундук с сокровищами никогда не порождает частиц.
Если вам нужны частицы вокруг сундука, порождайте их пока что из другого источника.
| Ключ | Значения | По умолчанию |
|---|---|---|
effects | String List | нет |
locations
Задаёт местоположения, где будет появляться сундук с сокровищами.
Местоположения можно добавлять командой /em place treasureChest <treasurechestfilename.yml>, стоя в нужном месте. Эта команда автоматически добавляет вашу текущую позицию в список местоположений сундука и обновляет конфигурационный файл.
| Ключ | Значения | По умолчанию |
|---|---|---|
locations | String List | нет |
Каждая запись использует формат worldName,x,y,z,yaw,pitch. Более короткая форма worldName,x,y,z также принимается, при этом yaw и pitch считаются равными 0.
Записи могут нести суффикс :unixTimestamp — так EliteMobs хранит время пополнения этого конкретного размещения сундука. Плагин записывает этот суффикс сам, когда сундук SINGLE обобран, — добавлять его не нужно, и вы можете удалить его, чтобы сундук стал доступен немедленно.
Один файл может содержать сколько угодно местоположений, и каждое становится собственным сундуком со своим таймером пополнения.
Пример
locations:
- my_world,10,50,10,0,0
- my_nether_world,12,58,12,0,0
- my_world,80,64,-30,0,0:1707394380
chestTier
Задаёт уровень (tier) сундука, который является базой для уровня роняемой им добычи. Базовый уровень равен chestTier * 10.
| Ключ | Значения | По умолчанию |
|---|---|---|
chestTier | Integer | 0 |
Насколько chestTier на самом деле важен, зависит от того, где находится сундук и какого рода предмет лежит в таблице добычи:
| Ситуация | Уровень, с которым выпадает добыча |
|---|---|
| Сундук открыт вне какого-либо инстанса | Элитные предметы scalable следуют уровню открывшего игрока, ±1. Всё остальное использует chestTier * 10. |
| Сундук внутри динамического подземелья | Выбранный уровень подземелья используется для всего, элитные предметы scalable получают ±1. chestTier игнорируется. |
| Сундук внутри любого другого инстанса | chestTier * 10 для всего. |
Таким образом, в обычном мире выживания chestTier в основном задаёт уровень ваших предметов fixed и limited, тогда как предметы scalable следуют за игроком, открывшим сундук. Учтите, что мимик использует другую формулу — см. mimicCustomBossesList.
Оставленное по умолчанию значение 0 даёт базовый уровень добычи 0.
Пример
chestTier: 3
instanced
Определяет, должен ли сундук быть инстансовым (для использования в инстансовых подземельях). Все таймеры пополнения отключаются, когда сундуки размещены в подземельях.
НЕ ЗАДАВАЙТЕ ЭТО ЗНАЧЕНИЕ ВРУЧНУЮ.
| Ключ | Значения | По умолчанию |
|---|---|---|
instanced | Boolean | false |
Пример
instanced: true
restockTime
После того как сундук обобран, плагин записывает этот ключ, чтобы отслеживать время пополнения.
Это используется только устаревшим форматом одиночного сундука, где позиция сундука лежит в ключе location, а не в списке locations. Как только в файле появляются любые записи locations, время пополнения вместо этого записывается как суффикс :unixTimestamp у соответствующей записи locations, а этот ключ не трогается.
НЕ ЗАДАВАЙТЕ ЭТО ЗНАЧЕНИЕ ВРУЧНУЮ.
| Ключ | Значения | По умолчанию |
|---|---|---|
restockTime | Unix Timestamp | 0 |
Пример
restockTime: 1707394380
restockTimers
Хранит данные о перезарядке по игрокам для сундуков режима GROUP. Плагин записывает это автоматически и удаляет истёкшие записи по мере их чтения.
Инстансовые сундуки не используют этот список — внутри инстанса перезарядка по игрокам хранится в памяти только на время жизни этого инстанса.
НЕ ЗАДАВАЙТЕ ЭТО ЗНАЧЕНИЕ ВРУЧНУЮ.
| Ключ | Значения | По умолчанию |
|---|---|---|
restockTimers | String List | нет |
Пример
restockTimers:
- '1234567890-abcd-efgh-ijkl-123456789012:1707394380'
- '0987654321-zyxw-vutr-sqpo-098765432109:1707395000'
Каждая запись содержит UUID игрока и Unix-метку времени, разделённые двоеточием.
Пример конфигурации сундука с сокровищами
isEnabled: true
chestType: CHEST
facing: NORTH
chestTier: 3
dropStyle: GROUP
lootList:
- filename=elite_scrap_tiny.yml:chance=0.90
- filename=magmaguys_toothpick.yml:chance=0.95
mimicChance: 0.50
mimicCustomBossesList:
- balrog.yml
- killer_rabbit_of_caerbannog.yml
restockTimer: 1
locations:
- world,0.0,-60.0,-14.0,0.0,0.0
Учтите, что каждая запись добычи выше использует префикс filename=. Запись magmaguys_toothpick.yml:chance=0.95 вместо этого была бы прочитана как устаревший формат filename.yml:chance, а chance=0.95 не является числом, поэтому запись выводила бы предупреждение разбора при каждом запуске.

