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

Конфигурация Extractioncraft

Extractioncraft использует несколько файлов конфигурации. Основные настройки находятся в config.yml и messaging.yml. Пакеты контента, таблицы добычи и пулы добычи имеют собственные папки конфигурации.

config.yml​

КлючТипПо умолчаниюОписание
deleteItemsOnFailToExtractBooleantrueТеряют ли игроки все предметы при неудачной эвакуации из матча через одну из точек эвакуации. При включении готовый контент сбалансирован с учётом этого риска. Отключение упрощает фарм контента и снижает мотивацию использовать механику эвакуации.
nightbreak.autoDownloadPluginUpdatesBooleanfalseОбщая настройка MagmaCore, добавляется в файл после запуска Extractioncraft. При true доступные обновления плагина Extractioncraft загружаются через несколько минут после запуска и применяются после следующего перезапуска, если только nightbreak.applyPluginUpdatesWithoutRestart не применит их раньше. См. Автоматические обновления.
nightbreak.applyPluginUpdatesWithoutRestartStringneverОбщая настройка MagmaCore. never ждёт следующего перезапуска, when-empty применяет загруженное обновление плагина, как только на сервере не останется игроков, а immediately — сразу после загрузки. Применение обновления перезагружает Extractioncraft, из-за чего идущие матчи завершаются. См. Применение обновлений без перезапуска.

Очистка применяется только после того, как матч перешёл в активную фазу. Выход во время ожидания или обратного отсчёта не затрагивает инвентарь. Эвакуация, выключение сервера или перезагрузка плагина сохраняют предметы и привязывают непривязанные к игроку, если включены чары EliteMobs Soulbind. Если эта опция равна false, при любом другом выходе из активного матча предметы привязываются, а не удаляются. Каждый способ выхода описан в разделе ход матча.

messaging.yml​

Все сообщения поддерживают цветовые коды &. Заполнители указаны в каждой строке.

КлючПо умолчаниюОписание
failedToJoinOngoingMatchAsPlayerMessageCan't join this match - it has already started!Показывается, когда игрок пытается присоединиться к идущему матчу
failedToJoinOngoingMatchAsPlayerInstanceIsFullCan't join this match - the instance is already full!Показывается, когда матч достиг максимального количества игроков
failedToJoinOngoingMatchAsPlayerNoPermissionCan't join this match - you don't have the permission!Настраиваемое сообщение об отсутствии разрешения. Сейчас не отправляется: матчи Extractioncraft не задают разрешение на вход.
failedToJoinMatchAsSpectatorNoSpectatorsAllowedMessageCan't join this match - spectators are not allowed!Настраиваемое сообщение для случая, когда наблюдение отключено для данного пакета контента. В настоящее время не отправляется средой выполнения матчей MagmaCore: попытка наблюдения молча отклоняется без отправки какого-либо сообщения.
failedToJoinMatchAsSpectatorNoPermissionCan't spectate this match - you don't have the permission!Настраиваемое сообщение для случая, когда у игрока нет разрешения на наблюдение. Сейчас не отправляется: для наблюдения разрешение не требуется.
matchJoinAsPlayerMessage[Extractioncraft] You are now in the match, $player!Сообщение в чате при присоединении к матчу в качестве игрока. $player заменяется именем игрока, а $count — минимальным количеством игроков.
matchJoinAsPlayerTitleExtract!Заголовок, показываемый при присоединении к матчу
matchJoinAsPlayerSubtitleGrab the loot and head to an extraction point!Подзаголовок, показываемый при присоединении к матчу
matchJoinAsSpectatorTitle(пусто)Заголовок, показываемый при присоединении в качестве наблюдателя. В Extractioncraft нет команды наблюдения, поэтому его видят только наблюдатели, которых другой плагин впустил через API.
matchJoinAsSpectatorSubtitleNow spectating!Подзаголовок, показываемый при присоединении в качестве наблюдателя. Отправляется только наблюдателям, впущенным через API.
matchJoinAsSpectatorMessage[Extractioncraft] You are now spectating a match! Do &a/extractioncraft quit &fto stop spectating!Сообщение в чате при присоединении в качестве наблюдателя. Отправляется только наблюдателям, впущенным через API. $player заменяется именем игрока.
matchLeaveAsPlayerMessage[Extractioncraft] You have left the match, $player!Настраиваемое сообщение при выходе. В настоящее время не отправляется средой выполнения матчей MagmaCore, и $player не подставляется.
matchLeaveAsSpectatorMessage[Extractioncraft] You have left the match, $player!Настраиваемое сообщение при выходе наблюдателя. В настоящее время не отправляется средой выполнения матчей MagmaCore, и $player не подставляется.
matchFailedToStartNotEnoughPlayersMessageThis match requires $count players before starting - can't start yet!Показывается всем в матче при использовании /exc start без достаточного количества игроков. Минимальным количеством игроков заменяется только заполнитель $amount, поэтому в тексте по умолчанию $count отображается дословно. Если вы хотите, чтобы число подставлялось, используйте $amount.
matchStartingMessage[Extractioncraft] Match starting!Настраиваемое сообщение в чате при начале матча. В настоящее время не отправляется средой выполнения матчей MagmaCore (обратный отсчёт вместо этого показывается через заголовок/подзаголовок).
matchStartingTitleMatch starting!Заголовок обратного отсчёта. $count показывает 2, 1, затем 0 с интервалом в одну секунду.
matchStartingSubtitlein $count...Подзаголовок обратного отсчёта. $count показывает 2, 1, затем 0 с интервалом в одну секунду.
preventTeleportInMessage[Extractioncraft] You have attempted to teleport into an ongoing match - you can't do that!Настраиваемое сообщение для заблокированных телепортаций в мир матча. Сама телепортация отменяется средой выполнения, но это сообщение в настоящее время не отправляется игроку.
preventTeleportOutMessage[Extractioncraft] You have attempted to teleport from an ongoing match - you can't do that!Настраиваемое сообщение для заблокированных телепортаций из матча. Сама телепортация отменяется средой выполнения, но это сообщение в настоящее время не отправляется игроку.

Конфигурация пакетов контента​

Пакеты контента — это YAML-файлы в папке content_packages/. Каждый определяет конфигурацию играбельной карты.

КлючТипПо умолчаниюОписание
isEnabledBooleantrueСчитается ли пакет установленным. Это определяет цвет его записи в /exc setup (true = установлен/зелёный, false = скачан, но не установлен/жёлтый), и меню настройки переключает это значение за вас. /exc createMatch по-прежнему предлагает отключённый пакет в автодополнении, но отказывается его генерировать.
nameString(обязательно)Отображаемое имя пакета (поддерживает цветовые коды &)
descriptionString list(обязательно)Строки описания, отображаемые в меню настройки
downloadLinkString(необязательно)URL, показываемый в чате при нажатии на нескачанный пакет в меню настройки. Готовые пакеты используют https://nightbreak.io/plugin/extractioncraft/.
versionInteger0Номер версии контента. Проверка состояния контента в Extractioncraft различает только «не скачан» / «установлен» / «не установлен», поэтому это значение сейчас ни с чем не сравнивается.
folderNameString(необязательно)Записывается в готовые файлы, но текущим кодом не читается. Считается ли пакет скачанным, зависит от betterStructuresModulesContainerName.
usesEliteMobsBooleanfalseДекларативный флаг, указывающий, что пакет использует контент EliteMobs. Во время выполнения не проверяется.
usesBetterStructuresBooleanfalseДекларативный флаг, указывающий, что пакет использует контент BetterStructures. Во время выполнения не проверяется.
usesFreeMinecraftModulesBooleanfalseДекларативный флаг, указывающий, что пакет использует контент FreeMinecraftModels. Во время выполнения не проверяется. Обратите внимание, что в исходном коде ключ YAML пишется как usesFreeMinecraftModules (с "Modules").
betterStructuresModulesContainerNameString(необязательно)Имя файла конфигурации модульного генератора BetterStructures, передаваемое генератору мира при выполнении /exc createMatch, например kobold_mines_module_generator_10.yml. Именно этот ключ фактически решает, какая карта будет сгенерирована. Генератор должен быть включён, иметь isWorldGeneration: true и содержать хотя бы один установленный стартовый модуль. Меню настройки считает пакет скачанным, как только BetterStructures загрузил этот генератор.
spectatableBooleanfalseПринимает ли матч наблюдателей. В Extractioncraft нет команды наблюдения, поэтому параметр влияет только на наблюдателей, которых другой плагин впускает через API.
pvpEnabledBooleantrueВключено ли PvP во время матчей. При false игроки и их снаряды не могут наносить урон другим игрокам нигде в мире матча.
minPlayersInteger1Минимальное количество игроков для начала матча. /exc start отказывает при меньшем количестве, а обратный отсчёт прерывается (завершая матч), если количество падает ниже этого значения во время отсчёта. Значения больше maxPlayers снижаются до maxPlayers.
maxPlayersInteger100Максимальное количество игроков в матче (не меньше 1). Все пять готовых пакетов Kobold Mines переопределяют это значение на 8. Extractioncraft не регистрирует команду присоединения, поэтому в матч попадает только его создатель, если другой плагин не впустит игроков через API.
contentLevelInteger10Уровень, передаваемый EliteMobs при генерации добычи из сундуков и бочек. Значения меньше 1 становятся 1. Готовые пакеты используют 10, 20, 30, 40 и 50.
chestLootTablesString list[]Таблицы добычи для сундуков, формат filename.yml:weight
barrelLootTablesString list[]Таблицы добычи для бочек, формат filename.yml:weight

Формат веса таблицы добычи​

Записи таблиц добычи для сундуков и бочек используют формат <loot_table_filename.yml>:<weight>. Когда игрок открывает контейнер, одна таблица добычи выбирается на основе взвешенной вероятности.

Пример:

chestLootTables:
- my_chest_high_loot_table.yml:.2
- my_chest_low_loot_table.yml:.2
barrelLootTables:
- kobold_mines_supplies_loot_table.yml:1

Часть :weight обязательна и должна быть положительным числом. Запись, в которой не ровно одно двоеточие, пустое имя файла или вес не является положительным числом, пропускается с предупреждением. Веса относительны друг к другу, поэтому в примере выше каждая из двух таблиц сундуков получает равную долю в 50%. Имя файла, которому не соответствует файл в loot_tables/, записывает предупреждение при запуске и пропускается — как и таблица с isEnabled: false. Если подходящих таблиц не осталось, правый клик по контейнеру этого типа ничего не делает.