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

Пакеты контента 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 Packsplugins/BetterStructures/schematics/<folderNameV2>
MODULARModule Packsplugins/BetterStructures/modules/<folderNameV2>

Используйте /bs setup для фильтрации и проверки пакетов вместо того, чтобы полагаться на старые статические списки.

Поля конфигурации пакета​

Каждый пакет описывается конфигом в plugins/BetterStructures/content_packages. Редактировать их вручную требуется редко — они поставляются вместе с плагином и служат для отслеживания состояния пакета, — но вот их поля:

КлючПо умолчаниюОписание
isEnabledtrueФлаг установки пакета, изменяемый меню настройки. При значении false ничего из папки пакета не загружается; см. ниже.
name—Отображаемое имя, показываемое в меню настройки
description—Строки описания, показываемые в меню настройки
downloadLink—Ссылка для ручного скачивания, показываемая у пакетов без nightbreakSlug; управляемые загрузки используют slug
version0Локальная версия контента, сравниваемая с удалённой версией, чтобы определить, устарел ли пакет
folderNameV2—Подпапка, в которой находятся файлы пакета, внутри schematics или modules в зависимости от типа
contentPackageTypeSTRUCTURESTRUCTURE или 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
scriptsplugins/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 при необходимости. Ручной импорт по-прежнему поддерживается, но больше не является основным документированным рабочим процессом.