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

Что такое модульные подземелья?

Модульные подземелья — это система подземелий, введённая в BetterStructures 2.0.0 и позднее. Вместо размещения одного фиксированного схематика модульные подземелья динамически собираются из небольших, вручную созданных модулей. Этот подход позволяет создавать большие, многоэтажные подземелья, которые ощущаются уникальными в каждом мире, при этом органично вписываясь в ванильный Minecraft.


Как генерируются модульные подземелья

  • Модули Каждый модуль обычно строится в настраиваемом размере (по умолчанию 16x16x16 блоков, хотя некоторые пакеты контента используют 32x16x32 или другие размеры). Модули спроектированы со стандартизированными точками соединения, использующими систему граничных тегов, чтобы они могли стыковаться с другими модулями без зазоров или наложений. Размеры подземелья задаются параметрами moduleSizeXZ и moduleSizeY в конфигурации генератора модулей. Модули могут содержать коридоры, комнаты, лестницы или специальные помещения для встреч.

  • Процесс генерации Когда модульное подземелье генерируется в новом чанке, BetterStructures использует алгоритм Wave Function Collapse (WFC) для процедурной сборки модулей из доступного пула. Система случайно выбирает совместимые модули на основе сопоставления граничных тегов и «сшивает» их вместе в целое подземелье. Время генерации зависит от производительности сервера, размера подземелья (радиуса), вертикального диапазона, количества модулей и сложности ограничений. Система использует распределение нагрузки для предотвращения лагов сервера во время генерации.

  • Размер подземелья Подземелья могут быть настроены на различные размеры с помощью параметра радиуса. Большие значения радиуса создают значительно более крупные подземелья, которые могут растягиваться на сотни блоков. Большинство подземелий включают несколько этажей, связанных через лестничные модули или вертикальные шахты. Вертикальные соединения между этажами достигаются через модули с upIsPassable и downIsPassable, установленными в true.


Разнообразие и интеграция пакетов

  • Free Pack Dungeoneering Modules Free Pack включает 15 модулей. Он функционирует как полноценное играбельное подземелье сам по себе.

  • Premium Pack Dungeoneering Modules Premium Pack добавляет 38 дополнительных модулей. В сочетании с Free Pack оба набора переплетаются в единую систему подземелий с гораздо большим пулом модулей. Это уменьшает повторения и увеличивает разнообразие сгенерированных планировок.

  • Интеграция пропсов Если вы также установите BetterStructures Prop Pack (через FreeMinecraftModels), модульные подземелья будут отображать пользовательские пропсы-модели по всей постройке, как показано на наших скриншотах. Без пакета пропсов подземелья будут работать нормально, но без декоративных моделей.


Интеграция EliteMobs

Хотя большая часть подземелья использует только BetterStructures и ванильных мобов Minecraft, некоторые подземелья содержат встречи с боссами:

  • Если установлены EliteMobs и FreeMinecraftModels → полный бой с боссом с моделью.
  • Если установлен только FreeMinecraftModels → модель босса появляется как декоративный пропс.
  • Если ничего не установлено → комната босса будет просто пустой.

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

Типы знаков модулей

Тег знакаСтрока 1Дополнительные строкиОписание
[spawn][spawn]Тип сущности на строке 2Создаёт ванильную сущность на месте знака
[pool: poolname][pool: poolname]Создаёт случайного босса из именованного пула спавна
[chest][chest]Размещает сундук на месте знака
[trapped_chest][trapped_chest]Размещает сундук-ловушку на месте знака
[barrel][barrel]Размещает бочку на месте знака
[exit][exit]Имена файлов схематиков лифта на строках 2-3Отмечает точку выхода со схематиками лифта вверх/вниз

Если EliteMobs не установлен, но пакет контента его требует, администраторы получат предупреждающее сообщение.

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


Интеграция MythicMobs

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

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

Если MythicMobs не установлен, плагин уведомит администраторов с соответствующими разрешениями и предоставит ссылку для скачивания.


Интеграция FMM

Модульные подземелья также могут использовать пропсы FreeMinecraftModels (FMM) при создании.

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

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



Размеры модулей

Важно: Размер модуля настраиваемый, не фиксированный.

Каждый генератор модулей определяет стандартный размер модуля через:

  • moduleSizeXZ: Ширина и глубина в блоках (по умолчанию: 16)
  • moduleSizeY: Высота в блоках (по умолчанию: 16)

Размер по умолчанию: 16×16×16 блоков Распространённая альтернатива: 32×16×32 блоков (используется в некоторых пакетах контента)

Для создателей модулей:

  1. Проверьте значения moduleSizeXZ и moduleSizeY в конфигурации генератора
  2. Стройте ВСЕ модули для этого генератора в точном соответствии с этими размерами
  3. Несовпадающие размеры приведут к ошибкам соединения

Установка пользовательских размеров: В файле конфигурации генератора модулей:

moduleSizeXZ: 32  # Width and depth
moduleSizeY: 16 # Height

Примечание: Все модули в генераторе должны использовать одинаковые размеры. Вы не можете смешивать модули 16×16×16 и 32×16×32 в одной системе подземелий.


Поля конфигурации генератора модулей

Помимо moduleSizeXZ и moduleSizeY, конфигурация генератора модулей поддерживает следующие поля:

ПолеПо умолчаниюОписание
radius1Радиус подземелья в чанках
edgesfalseГенерируются ли крайние модули
startModuleСписок начальных модулей для генерации
minChunkY0Минимальная вертикальная граница чанка
maxChunkY0Максимальная вертикальная граница чанка
moduleSizeXZ16Ширина и глубина модулей в блоках
moduleSizeY16Высота модулей в блоках
debugfalseВключает режим отладки для устранения проблем генерации
useGradientLevelsfalseВключает градиентное масштабирование уровней для созданных сущностей
spawnPoolSuffixСуффикс, добавляемый к именам пулов спавна для этого генератора
isWorldGenerationfalseИспользуется ли этот генератор для генерации мира
treasureFileФайл конфигурации сокровищ
validWorldsСписок допустимых имён миров для генерации подземелья
validWorldEnvironmentsСписок допустимых окружений мира
centerModuleAltitude0Высота центрального модуля

Поля конфигурации отдельных модулей

Каждый отдельный модуль может определять следующие поля конфигурации:

ПолеПо умолчаниюОписание
isEnabledtrueВключён ли этот модуль
weight100Вес выбора этого модуля при генерации
repetitionPenalty0Штраф при многократном выборе этого модуля
noRepeatfalseПредотвращает повторение этого модуля
northIsPassabletrueПозволяет ли северная сторона соединения
southIsPassabletrueПозволяет ли южная сторона соединения
eastIsPassabletrueПозволяет ли восточная сторона соединения
westIsPassabletrueПозволяет ли западная сторона соединения
upIsPassabletrueПозволяет ли верхняя сторона соединения
downIsPassabletrueПозволяет ли нижняя сторона соединения
enforceVerticalRotationfalseПрименяет ограничения вертикального вращения
enforceHorizontalRotationfalseПрименяет ограничения горизонтального вращения
minY-4Минимальный уровень Y для этого модуля
maxY20Максимальный уровень Y для этого модуля
biomedefaultТребование биома для этого модуля
minecraftBiomenullТребование биома Minecraft для этого модуля
treasureFileФайл конфигурации сокровищ для этого модуля
bordersКарта граничных тегов, определяющая совместимость соединений
cloneConfigКлонирование настроек из другого файла конфигурации модуля
compoundModuleСвязывает этот модуль как часть составного (многочастного) модуля
isAutomaticallyPlacedtrueРазмещается ли модуль автоматически при генерации