BetterStructures FAQ
Если ваш вопрос касается первоначальной привязки Nightbreak, загрузки пакетов или ручного импорта, сначала обратитесь к общим страницам Global. Этот FAQ содержит только ответы, специфичные для BetterStructures.
Почему структуры не появляются?
Наиболее распространённая причина — вы тестируете на территории, которая уже была исследована до установки BetterStructures.
BetterStructures предназначен для генерации в неисследованной территории и не заполняет старые чанки ретроактивно. Если вы хотите быстро увидеть естественную генерацию:
- летите в новые чанки
- создайте новый тестовый мир
- или используйте команды размещения и настройки вместо ожидания естественной генерации
Почему BetterStructures отключился сам после перезагрузки?
/bs reload очищает каждый реестр контента, прежде чем рабочий поток пересоберёт их. Если при пересборке возникнет исключение, продолжение работы оставило бы плагин, который выглядит включённым, но имеет частичный или пустой контент, поэтому BetterStructures намеренно завершает работу закрытым способом и отключает сам себя.
Настоящая ошибка выводится в консоль непосредственно перед отключением. Исправьте конфиг или схематику, которую она называет, затем перезапустите сервер.
Почему моя команда отклоняется во время перезагрузки?
/bs place, /bs lootify, /bs pregenerate и /bs generateModules читают или изменяют реестры контента, которыми владеет поток перезагрузки, поэтому на это время они отклоняются с сообщением «content is reloading». Вновь генерируемые чанки в этом окне также пропускаются. Дождитесь сообщения об успешной перезагрузке и попробуйте снова.
Повторный запуск /bs reload во время перезагрузки не приводит к ошибке — ваш запрос ставится в очередь, и после завершения первой выполнится ещё одна полная перезагрузка, поэтому изменения файлов, сделанные вами в процессе, всё равно будут подхвачены.
Как отключить предупреждения администратора о новых структурах?
BetterStructures имеет переключатель warnAdminsAboutNewBuildings в config.yml, а /betterstructures silent переключает это значение за вас.
Это полезно во время предварительной генерации или других интенсивных административных тестов, когда предупреждения становятся навязчивыми.
Что означает setupDone?
setupDone отслеживает, был ли завершён процесс первоначальной настройки BetterStructures.
falseозначает, что процесс настройки всё ещё считается незавершённымtrueозначает, что процесс настройки уже был завершён
Если вы намеренно хотите перезапустить настройку, установите setupDone: false, перезагрузите плагин и снова выполните /bs initialize.
Требуется ли BetterStructures WorldEdit?
Да. WorldEdit является обязательной зависимостью в plugin.yml, поэтому BetterStructures не рассчитан на работу без него.
Как работает интеграция с WorldGuard?
Если и WorldGuard, и EliteMobs установлены, BetterStructures регистрирует и использует флаг betterstructures-protect для своих защищённых зон. Оба плагина должны быть установлены для активации защиты WorldGuard.
Соответствующий переключатель конфигурации:
protectEliteMobsRegions: true
Установите значение false, если вы не хотите управляемую BetterStructures защиту WorldGuard для поддерживаемого контента.
Сообщение, показываемое игрокам при попытке сломать или поставить блок в защищённой зоне, также настраивается:
regionProtectedMessage: "&8[BetterStructures] &cDefeat the zone's bosses to edit blocks!"
Могу ли я добавить пользовательские предметы в сокровища BetterStructures?
Да. BetterStructures включает:
/betterstructures lootify <generator> <rarity> <minAmount> <maxAmount> <weight>
Используйте команду, держа предмет, который хотите зарегистрировать. Команда записывает удерживаемый предмет в выбранную запись генератора сокровищ.
Текущие правила валидации из реализации команды:
- генератор сокровищ должен существовать
- редкость уже должна существовать в этой конфигурации сокровищ
minAmountдолжен быть не менее1maxAmountдолжен быть не более64- удерживаемый предмет не может быть воздухом
Поддерживает ли BetterStructures записи сокровищ MMOItems?
Да. BetterStructures имеет поддержку MMOItems в проекте, и существующий рабочий процесс сокровищ поддерживает сторонние предметы. Для синтаксиса, специфичного для MMOItems, придерживайтесь точных примеров конфигурации в ваших файлах сокровищ в соответствии с текущей документацией страницы сокровищ, а не полагайтесь на старые фрагменты FAQ.
Как EliteMobs и BetterStructures работают вместе?
BetterStructures имеет мягкую интеграцию с EliteMobs.
На высоком уровне:
- BetterStructures может размещать маркеры контента EliteMobs внутри сгенерированных структур
- BetterStructures также может управлять защищёнными зонами, которые важны для контента, поддерживаемого EliteMobs, когда интеграция включена
Для общего процесса настройки, привязки токенов и официального жизненного цикла пакетов используйте документацию Global и страницы настройки/контента BetterStructures, а не рассматривайте этот FAQ как основной источник.
Могу ли я безопаснее предварительно сгенерировать мир?
Да. BetterStructures предоставляет ориентированные на производительность настройки предварительной генерации в config.yml, включая:
percentageOfTickUsedForPregeneration(по умолчанию:0.1) — какая часть каждого серверного тика используется для предгенерации чанковpregenerationTPSPauseThreshold(по умолчанию:12.0) — TPS, ниже которого предгенерация приостанавливаетсяpregenerationTPSResumeThreshold(по умолчанию:14.0) — TPS, выше которого предгенерация возобновляется
Для обычной вставки структур основная настройка темпа:
percentageOfTickUsedForPasting: 0.2
Более низкие значения уменьшают воздействие на тик, но замедляют вставку структур.
Как определяются местоположения структур?
BetterStructures хранит настройки расстояния и случайного смещения для каждого типа структур в config.yml. Полный справочник см. в разделе Настройка.
Каждый тип структуры размещается на собственной ромбовидной сетке, задаваемой сидом. Значения расстояния и смещения измеряются в чанках, а не в блоках — distanceSurface, равное 27, — это примерно одна наземная структура каждые 27 чанков, или около 432 блоков.
Основные настройки расстояния:
distanceSurface(по умолчанию:27)distanceShallow(по умолчанию:22)distanceDeep(по умолчанию:22)distanceSky(по умолчанию:90)distanceLiquid(по умолчанию:60)distanceDungeonV2(по умолчанию:80)
Связанные настройки смещения:
maxOffsetSurface(по умолчанию:5)maxOffsetShallow(по умолчанию:5)maxOffsetDeep(по умолчанию:5)maxOffsetSky(по умолчанию:5)maxOffsetLiquid(по умолчанию:5)maxOffsetDungeonV2(по умолчанию:18)
Расстояния должны быть не меньше 1. Смещения должны находиться в диапазоне от 0 до 1073741823 (максимальное значение, которое генератор случайного размещения может безопасно использовать). Если значение выходит за допустимый диапазон, BetterStructures выводит предупреждение, записывает значение по умолчанию для этого ключа обратно в config.yml и продолжает работу со значением по умолчанию, а не прерывает генерацию.
На практике это означает, что генерация остаётся управляемой сидом и конфигурацией, а не перетасовывается случайным образом при каждом перезапуске.
Что делает modularChunkPastingSpeed?
На данный момент — ничего. modularChunkPastingSpeed (по умолчанию: 10) по-прежнему записывается в config.yml, но ничто в плагине его не читает, поэтому его изменение ни на что не влияет. Темп вставки задаётся ключом percentageOfTickUsedForPasting — используйте его, если хотите настроить, какую часть каждого тика BetterStructures тратит на размещение блоков.
Что делает spawnProtectionRadius?
spawnProtectionRadius (по умолчанию: 100) определяет минимальное расстояние в блоках от мировых координат 0, 0, в пределах которого структуры не будут размещаться. Это применяется ко всем мирам. Установите значение 0, чтобы отключить защиту спавна.
Как отключить структуры в определённых мирах?
BetterStructures поддерживает конфигурационный файл ValidWorlds.yml, который контролирует, в каких мирах доступна генерация структур. Каждый мир указан с булевым переключателем:
New worlds spawn structures: true
Valid worlds:
world: true
world_nether: true
world_the_end: true
Установите для мира значение false, чтобы предотвратить размещение структур BetterStructures в этом мире. Настройка New worlds spawn structures контролирует, будут ли вновь обнаруженные миры автоматически включены для генерации структур.
Стоит знать о двух особенностях поведения:
- Миры под управлением EliteMobs исключаются по умолчанию. Миры, принадлежащие EliteMobs, — хаб гильдии искателей приключений и копии инстансовых подземелий — регистрируются как
false, даже когдаNew worlds spawn structuresравноtrue. Их незастроенные пустотные чанки считаются новыми чанками, из-за чего BetterStructures раньше украшал хабы подземелий. Существующие записиem_были однократно переключены наfalseразовой миграцией; ключ-меткаEliteMobs worlds excluded by defaultв файле фиксирует, что она уже выполнялась, поэтому, если вы сознательно вернёте мируem_значениеtrue, ваш выбор сохранится между перезапусками. - Записи удалённых миров удаляются. При запуске и примерно через десять секунд после выгрузки мира BetterStructures удаляет из
Valid worldsлюбую запись, чей мир не загружен и отсутствует на диске, чтобы в файле не накапливались мёртвые записи.
Как починить сломанный или частично удалённый пакет контента?
Используйте /bs forcereinstallcontent <package|all>. Обычные загрузки сравнивают версии и пропускают всё, что уже актуально, — а это ровно то поведение, которое не нужно, когда файлы на диске повреждены. Принудительная переустановка прогоняет пакет заново через тот же авторизованный конвейер загрузки, импорта и перезагрузки независимо от версии.
all охватывает все пакеты, которые BetterStructures сейчас видит как загруженные, установленные или устаревшие. Если файлы пакета исчезли полностью, BetterStructures его больше не видит, поэтому укажите его слаг напрямую — автодополнение перечисляет все известные слаги.