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

Команды BetterStructures

Используйте /betterstructures или /bs.

Настройка и контент

КомандаНазначение
/bsОсновная команда помощи и статуса
/bs initializeПроцесс первоначальной настройки (открывает меню первоначальной настройки)
/bs setupОткрывает меню настройки/контента
/bs recommendedpluginsПоказывает сопутствующие плагины, которые хорошо работают с BetterStructures
/bs downloadallЗагружает обновление плагина (если оно есть) и весь доступный контент, затем перезагружается
/bs downloadallcontentЗагружает только все доступные пакеты контента (без обновления плагина)
/bs updatecontentЗагружает обновления для устаревшего контента (алиас: /bs updateallcontent)
/bs forcereinstallcontent <package|all>Повторно загружает контент через обычный авторизованный конвейер, даже если установленная версия уже актуальна. Автодополнение предлагает all и все слаги пакетов Nightbreak.
/bs downloadpluginupdateЗагружает ожидающее обновление плагина (для применения требуется перезапуск)
/bs reloadПерезагружает конфиги и контент BetterStructures, а также импортирует ожидающий контент
/bs versionПоказывает версию плагина

О команде /bs reload

/bs reload больше не выключает и не включает плагин заново. Теперь она выполняет перезагрузку контента на месте: config.yml и ValidWorlds.yml перечитываются в потоке сервера, после чего конфиги сокровищ, генераторов, генераторов модулей, пулов спавна, схематик, модулей и пакетов контента пересобираются в рабочем потоке. Команды, обработчики событий и NMS-адаптер остаются зарегистрированными.

Последствия, о которых стоит знать:

  • Пока идёт перезагрузка, /bs place, /bs lootify, /bs pregenerate и /bs generateModules отклоняются с сообщением «content is reloading», а вновь генерируемые чанки пропускаются вместо сканирования.
  • Если вы выполните /bs reload ещё раз во время выполнения перезагрузки, ваш запрос ставится в очередь, и после первой выполнится вторая полная перезагрузка, поэтому файл, изменённый вами в процессе, всё равно будет подхвачен.
  • Если перезагрузка завершится ошибкой, BetterStructures намеренно отключает сам себя, вместо того чтобы продолжать с наполовину пустыми реестрами контента. Проверьте консоль на предмет причины и перезапустите сервер после её устранения.

О команде /bs forcereinstallcontent

Обычные загрузки пропускают пакет, локальная версия которого уже совпадает с удалённой, из-за чего они бесполезны, когда файлы на диске повреждены или частично удалены. forcereinstallcontent обходит эту проверку версии и прогоняет выбранный пакет заново через тот же авторизованный конвейер загрузки, импорта и перезагрузки.

  • all выбирает все пакеты, которые BetterStructures сейчас считает загруженными, установленными или устаревшими. Если ничего не подходит, команда отклоняется и просит указать слаг напрямую — именно это вам и нужно, когда файлы пакета полностью отсутствуют.
  • Указание одного слага переустанавливает только этот пакет.
  • Неизвестный слаг отклоняется сообщением, отсылающим вас к автодополнению.

Команды загрузки/обновления, рекомендуемых плагинов и обновления плагина предоставляются общей системой MagmaCore Nightbreak, встроенной в BetterStructures. То же меню настройки отображает пункт Plugin Update, пункт Recommended Plugins и переключатель Automatic Updates (см. Настройка).

Утилиты и команды администратора

КомандаНазначение
/bs place <schematic> <type>Размещает структуру вручную. Допустимые типы: SURFACE, UNDERGROUND_SHALLOW, UNDERGROUND_DEEP, SKY, LIQUID_SURFACE
/bs lootify <generator> <rarity> <minAmount> <maxAmount> <weight>Добавляет предмет в руке в таблицу сокровищ. Генератор должен быть допустимой конфигурацией сокровищ, редкость должна существовать в этой конфигурации, minAmount должно быть не менее 1, maxAmount — не более 64, и в руке должен быть предмет.
/bs pregenerate <centerType> <shape> <radiusInBlocks> <applyWorldBorder>Предварительная генерация чанков с включённым BetterStructures. Мир определяется текущим миром игрока. centerType: HERE, WORLD_CENTER, WORLD_SPAWN. shape: SQUARE, CIRCLE. applyWorldBorder: TRUE/FALSE.
/bs cancelPregenerateОтменяет активную предгенерацию в текущем мире игрока (алиас: /bs cancelpregenerate)
/bs generateModules <generatorFile>Генерирует модульный контент из файла генератора модулей
/bs teleport <world> <x> <y> <z>Телепортирует в указанное местоположение (алиас: /bs tp)
/bs silentПереключает определённые предупреждения оператора

Разрешения

РазрешениеОписаниеПо умолчанию
betterstructures.setupДоступ к /bs setup, /bs recommendedplugins, /bs downloadallcontent и /bs updatecontentOP
betterstructures.initializeДоступ к /bs initializeOP
betterstructures.generatemodulesДоступ к /bs generateModulesOP
betterstructures.generatemodules.slowlyЗарегистрировано в plugin.yml, но в настоящее время не используется ни одной командой в исходном коде. Вероятно, устаревшее.OP
betterstructures.generatemodules.instantlyЗарегистрировано в plugin.yml, но в настоящее время не используется ни одной командой в исходном коде. Вероятно, устаревшее.OP
betterstructures.*Wildcard для команд утилит и администратора (place, pregenerate, cancelPregenerate, reload, teleport, version, lootify, помощь /bs), а также команд контента администратора /bs downloadall, /bs downloadpluginupdate и /bs forcereinstallcontent. По умолчанию имеется у OP.OP
(нет)У /bs silent нет проверки разрешения в исходном коде — её может запустить любой отправитель.

betterstructures.setup покрывает команды просмотра/управления контентом, betterstructures.initialize покрывает первоначальную настройку, а betterstructures.generatemodules покрывает генерацию подземелий. Совмещённая команда для плагина и контента /bs downloadall, команда только для плагина /bs downloadpluginupdate и восстановительная /bs forcereinstallcontent ограничены wildcard администратора betterstructures.*. Варианты .slowly и .instantly по-прежнему объявлены в plugin.yml, но ни одна команда сейчас их не проверяет.

betterstructures.* также управляет напоминанием о первоначальной настройке: игроки с этим правом получают однократное сообщение при входе, указывающее на /bs initialize, пока в config.yml не будет установлено setupDone: true.