Пакеты контента BetterStructures
BetterStructures теперь обрабатывает официальный контент как управляемые пакеты, а не чисто ручной рабочий процесс импорта.
Основные команды
| Команда | Назначение |
|---|---|
/bs initialize | Процесс первоначальной настройки |
/bs setup | Просмотр и управление состоянием пакетов |
/bs downloadall | Загружает обновление плагина (если оно есть) и весь доступный контент, затем перезагружается |
/bs downloadallcontent | Загружает только весь доступный контент (без обновления плагина) |
/bs updatecontent | Обновляет устаревший контент (алиас: /bs updateallcontent) |
/bs forcereinstallcontent <package|all> | Повторно загружает контент, даже если установленная версия уже актуальна, — команда восстановления для повреждённых или частично удалённых паков |
/bs recommendedplugins | Перечисляет сопутствующие плагины, которые хорошо сочетаются с BetterStructures |
/nightbreaklogin <token> | Общая регистрация токена Nightbreak |
Команды загрузки и обновления используют общую систему Nightbreak из MagmaCore, включённую в BetterStructures, для проверки токена, доступа и скачивания файлов. Затем BetterStructures импортирует контент через собственный процесс перезагрузки.
Типы пакетов
Каждый пакет объявляет contentPackageType, и меню настройки предлагает по одному фильтру на тип:
contentPackageType | Фильтр в меню настройки | Файлы попадают в |
|---|---|---|
STRUCTURE (по умолчанию) | Structure Packs | plugins/BetterStructures/schematics/<folderNameV2> |
MODULAR | Module Packs | plugins/BetterStructures/modules/<folderNameV2> |
Используйте /bs setup для фильтрации и проверки пакетов вместо того, чтобы полагаться на старые статические списки.
Поля конфигурации пакета
Каждый пакет описывается конфигом в plugins/BetterStructures/content_packages. Редактировать их вручную требуется редко — они поставляются вместе с плагином и служат для отслеживания состояния пакета, — но вот их поля:
| Ключ | По умолчанию | Описание |
|---|---|---|
isEnabled | true | Флаг установки пакета, изменяемый меню настройки. При значении false ничего из папки пакета не загружается; см. ниже. |
name | — | Отображаемое имя, показываемое в меню настройки |
description | — | Строки описания, показываемые в меню настройки |
downloadLink | — | Ссылка для ручного скачивания, показываемая у пакетов без nightbreakSlug; управляемые загрузки используют slug |
version | 0 | Локальная версия контента, сравниваемая с удалённой версией, чтобы определить, устарел ли пакет |
folderNameV2 | — | Подпапка, в которой находятся файлы пакета, внутри schematics или modules в зависимости от типа |
contentPackageType | STRUCTURE | STRUCTURE или MODULAR |
nightbreakSlug | — | Идентификатор Nightbreak, используемый для проверок доступа, загрузок и как селектор для /bs forcereinstallcontent |
Установка или удаление пакета через меню настройки меняет только isEnabled самого пакета, после чего запускает перезагрузку. Конфиги схематик и модулей внутри пакета при этом не редактируются. При удалении пакета файлы остаются на диске.
Пока у пакета isEnabled: false, загрузчики схематик и модулей пропускают всю его папку, schematics/<folderNameV2> или modules/<folderNameV2>, включая вложенные папки. Это относится и к пакетам STRUCTURE, и к пакетам MODULAR. Внутри включённого пакета у каждого конфига схематики и модуля по-прежнему есть собственный isEnabled.
Содержимое пакета
Пакет BetterStructures — это zip-архив, в pack.meta которого объявлен betterstructures. Zip-архив без pack.meta, помещённый в plugins/BetterStructures/imports, обрабатывается так же. Его папки верхнего уровня распаковываются по имени:
| Папка в пакете | Назначение |
|---|---|
content_packages, schematics, modules, module_generators, generators, treasures, spawn_pools, components | Одноимённая папка в plugins/BetterStructures |
custombosses, customitems, customtreasurechests, powers, enchantments | Одноимённая папка в plugins/EliteMobs |
models или modelengine | Папка моделей FreeMinecraftModels или blueprints ModelEngine, если установлен только ModelEngine |
scripts | plugins/FreeMinecraftModels/scripts |
freeminecraftmodels, elitemobs, betterstructures | Корень папки данных соответствующего плагина с сохранением внутренней структуры, например freeminecraftmodels/enchantments |
worldcontainer | Контейнер миров сервера |
Папка верхнего уровня, которой нет в этой таблице, приводит к тому, что импортёр отклоняет весь пакет. Общие правила импорта см. в разделе Ручной импорт и внутриигровое управление.
Если пакет добавляет контент EliteMobs, BetterStructures перезагружает EliteMobs после импорта. Если пакет другого плагина импортирует файлы в папку BetterStructures, BetterStructures выполняет перезагрузку контента после завершения собственного запуска.
Состояния пакетов
В зависимости от пакета и состояния вашего токена, BetterStructures может различать:
- установленный контент
- загруженный, но не активированный контент
- устаревший контент
- контент, требующий доступа Nightbreak
Меню считает пакет скачанным, если его путь существует, и дополнительно проверяет флаг isEnabled пакета, чтобы определить состояние установки. Это индикатор состояния, а не проверка целостности: даже пустая или повреждённая папка может отображаться как установленный пакет. Для восстановления файлов используйте /bs forcereinstallcontent <package|all>. all выбирает пакеты, обнаруженные как скачанные, установленные или устаревшие; если папка пакета отсутствует целиком, укажите slug напрямую.
Резервный ручной импорт
Ручной импорт по-прежнему использует:
plugins/BetterStructures/imports
Оставляйте zip-файлы пакетов нетронутыми, затем перезагрузите BetterStructures при необходимости. Ручной импорт по-прежнему поддерживается, но больше не является основным документированным рабочим процессом.