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

Команды 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 applypluginupdate или настройка nightbreak.applyPluginUpdatesWithoutRestart не применят его раньше.
/bs applypluginupdateПрименяет загруженное обновление плагина без перезапуска сервера
/bs reloadПерезагружает конфиги и контент BetterStructures, а также импортирует ожидающий контент
/bs versionПоказывает версию плагина

О команде /bs reload​

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

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

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

О команде /bs forcereinstallcontent​

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

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

О команде /bs applypluginupdate​

/bs applypluginupdate подставляет обновление BetterStructures, которое уже загружено и ждёт в папке обновлений сервера, без перезапуска. Команда отключает BetterStructures и все плагины MagmaGuy, которые от него зависят, заменяет jar-файл, а затем снова загружает и включает их. Плагины, перезагруженные вместе с ним, перечисляются в чате. Если новый jar не включается, снова загружается предыдущий jar, а обновление остаётся подготовленным до следующего перезапуска.

Команда отказывает, если подготовленного обновления нет, если подготовленный jar недействителен или не новее работающей версии, а также если от BetterStructures зависит плагин другого автора. В этом случае перезапустите сервер. Идущие бои с боссами, арены и экземпляры подземелий завершаются при перезагрузке плагина.

Чтобы загруженные обновления применялись автоматически, задайте nightbreak.applyPluginUpdatesWithoutRestart в config.yml (см. Конфигурация).

Команды загрузки/обновления, рекомендуемых плагинов и обновления плагина предоставляются общей системой 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Переключает определённые предупреждения оператора

При использовании этих утилит учитывайте следующие ограничения:

  • /bs place сообщает о попытке размещения, а не подтверждает появление структуры.
  • Выполняйте /bs lootify в игре с предметом в основной руке. Количества и вес в аргументах должны быть целыми числами. Указывайте 1 <= minAmount <= maxAmount <= 64 и положительный вес: обработчик не отклоняет все недопустимые диапазоны. Сохранение записи запускает перезагрузку контента.
  • /bs pregenerate принимает радиус от нуля блоков и округляет его вверх до целых чанков. При applyWorldBorder, равном TRUE, после завершения задаётся квадратная граница мира диаметром 2 × radiusInBlocks, даже для генерации CIRCLE. Отмена не задаёт границу и не удаляет уже созданные чанки. Если чанк не удаётся загрузить, предгенерация останавливается, записывает в лог проблемный чанк и оставляет границу мира без изменений.
  • /bs teleport требует загруженный мир и целочисленные координаты; относительные координаты не поддерживаются.

Разрешения​

РазрешениеОписаниеПо умолчанию
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 applypluginupdate и /bs forcereinstallcontent. По умолчанию имеется у OP.OP
betterstructures.*Также требуется для /bs silent, меняющей настройку предупреждений на всём сервере.OP
betterstructures.warnПолучает кликабельные сообщения «сгенерировано новое здание» и «началась генерация нового подземелья», пока warnAdminsAboutNewBuildings равен true. Не объявлено в plugin.yml, поэтому Bukkit по умолчанию выдаёт его OP.OP

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

Любое из разрешений betterstructures.*, betterstructures.setup, betterstructures.initialize или betterstructures.generatemodules даёт доступ к корневой команде. Каждая подкоманда по-прежнему проверяет собственное разрешение, поэтому администратору, отвечающему только за настройку, не требуется wildcard.

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