Что такое файл сокровищ?
Файлы сокровищ определяют таблицы добычи для сундуков BetterStructures. Обычно они назначаются [генераторам](../Better Structures/creating_generators.md#treasurefilename), но также могут быть установлены на уровне [конфигурации отдельной постройки](../Better Structures/creating_structures.md#treasurefile).
Эти таблицы добычи достаточно мощные, но требуют знания некоторых базовых статистических концепций.
Прочитайте об этих концепциях здесь, остальная часть страницы предполагает, что вы их понимаете!
Взвешенная вероятность
Взвешенная вероятность решает проблему выбора предмета из потенциально бесконечного списка, присваивая каждому предмету вес.
Гауссово распределение
Гауссово распределение — это колоколообразная математическая функция.

Гауссово распределение используется для рандомизации количества предметов в сундуках. Вам нужно сосредоточиться на двух настройках: среднее и стандартное отклонение.
Среднее
mean устанавливает центр кривой Гаусса. Если вы хотите, чтобы в сундуках обычно было 5 предметов, установите среднее на 5.
Стандартное отклонение
Стандартное отклонение определяет, насколько может меняться число. Малое (1): 4-6 предметов. Среднее (2): 3-7. Большое (3+): 2-8+.
Среднее по умолчанию — 4, стандартное отклонение — 3.
Детали реализации
Система гарантирует минимум один предмет в сундуке.
Система гарантирует минимум один предмет в сундуке.
Предметы размещаются в случайных слотах сундука.
Предметы размещаются в случайных слотах сундука.
Если материал не существует, предмет будет пропущен. Неверные чары покажут предупреждение в консоли.
Если материал не существует, предмет будет пропущен. Неверные чары покажут предупреждение в консоли.
Специальный формат
Специальный формат
isEnabled: true
mean: 4.0
standardDeviation: 3.0
vanillaTreasure: BURIED_TREASURE
items:
common:
weight: 60
items:
- amount: 1-1
material: STONE_PICKAXE
procedurallyGenerateEnchantments: true
weight: 1.0
- amount: 1-1
material: STONE_SHOVEL
procedurallyGenerateEnchantments: true
weight: 1.0
rare:
weight: 30
items:
- amount: 1-1
material: ANVIL
weight: 6.0
- amount: 1-6
material: BEETROOT
weight: 6.0
epic:
weight: 10
items:
- amount: 2-10
material: DIAMOND
weight: 1.0
- amount: 1-1
material: DIAMOND_AXE
weight: 6.0
procedurallyGeneratedItemSettings:
golden_sword:
bane_of_arthropods:
minlevel: 1
maxlevel: 5
chance: 0.2
looting:
minlevel: 1
maxlevel: 3
chance: 0.2
isEnabled
| Key | Values | Default |
|---|---|---|
isEnabled | Boolean | true |
mean
| Key | Values | Default |
|---|---|---|
mean | Double | 4 |
standardDeviation
| Key | Values | Default |
|---|---|---|
standardDeviation | Double | 3 |
vanillaTreasure
| Key | Values | Default |
|---|---|---|
vanillaTreasure | String | none |
Устанавливает опциональную ванильную таблицу добычи для использования в дополнение к пользовательской.
items
Здесь становится немного сложнее, так как многие параметры могут быть установлены администраторами.
items:
common:
weight: 60
items:
- amount: 1-1
material: STONE_PICKAXE
procedurallyGenerateEnchantments: true
weight: 1.0
- amount: 1-1
material: STONE_SHOVEL
procedurallyGenerateEnchantments: true
weight: 1.0
rare:
weight: 30
items:
- amount: 1-1
material: ANVIL
weight: 6.0
- amount: 1-6
material: BEETROOT
weight: 6.0
rarities
Редкости не имеют фиксированного имени. Вы можете добавлять, удалять и настраивать их.
rarity items
| Key | Values | Default |
|---|---|---|
amount | min-max Integer | variable |
material | Material | variable |
procedurallyGenerateEnchantments | Boolean | variable |
weight | Double | variable |
amount
Устанавливает количество для выпадения. Можно указать диапазон amount: MIN-MAX или фиксированное значение.
material
Устанавливает материал с использованием имён Spigot API.
Special case - serialized
При использовании команды lootify настройка serialized генерируется автоматически. Не создавайте вручную.
mmoitem
Устанавливает пользовательский предмет из плагина MMOItems.
- amount: 1-1
mmoitem: SWORD@Excalibur
weight: 1.0
info
Опциональное поле для заметок. Полностью игнорируется плагином.
- amount: 1-1
material: DIAMOND_SWORD
weight: 1.0
info: "Rare drop for completing the dungeon"
weight
Устанавливает вес для взвешенной вероятности.
procedurallyGenerateEnchantments
Устанавливает, должен ли предмет генерироваться процедурно на основе procedurallyGeneratedItemSettings.
procedurallyGeneratedItemSettings
procedurallyGeneratedItemSettings:
golden_sword:
bane_of_arthropods:
minlevel: 1
maxlevel: 5
chance: 0.2
looting:
minlevel: 1
maxlevel: 3
chance: 0.2
Этот файл перечисляет типы материалов, чары, мин/макс уровни и шанс.
| Key | Values | Default |
|---|---|---|
minlevel | Integer | variable |
maxlevel | Integer | variable |
chance | Chance | variable |
minlevel
Устанавливает минимальный уровень чар.
maxlevel
Устанавливает максимальный уровень чар.
chance
Устанавливает вероятность применения чар как десятичное значение от 0.0 (никогда) до 1.0 (всегда). Пример: 0.2 = 20%.
Устранение неполадок
Предметы не появляются в сундуках
- Убедитесь, что файл сокровищ имеет
isEnabled: true - Проверьте консоль на предупреждения о недопустимых материалах или предметах
- Убедитесь, что MMOItems установлен, если используются пользовательские предметы
- Материалы должны использовать точные имена API Spigot
Зачарования не применяются
- Установите
procedurallyGenerateEnchantments: trueдля предмета - Убедитесь, что имена зачарований соответствуют Namespaced Keys Minecraft
- Проверьте, что уровни min/max находятся в допустимых диапазонах для этого зачарования
- Помните, что значения
chance— это вероятности (0.2 = 20%), а не гарантии
Пользовательские зачарования плагинов не работают
Будут работать только пользовательские зачарования, которые явно поддерживают интеграцию с BetterStructures. Уточните у автора плагина зачарований совместимость. Недопустимые зачарования покажут предупреждение в консоли.
Появляются пустые сундуки
Этого не должно происходить, так как система гарантирует минимум один предмет. Если вы видите пустые сундуки, проверьте:
- Заполняется ли сундук BetterStructures (а не другим плагином)
- Все ли предметы в вашем файле сокровищ допустимы (проверьте предупреждения консоли)
- Загружается ли файл сокровищ (проверьте логи запуска)