Конфигурация Extractioncraft
Extractioncraft использует несколько файлов конфигурации. Основные настройки находятся в config.yml и messaging.yml. Пакеты контента, таблицы добычи и пулы добычи имеют собственные папки конфигурации.
config.yml
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
deleteItemsOnFailToExtract | Boolean | true | Теряют ли игроки все предметы при неудачной эвакуации из матча через одну из точек эвакуации. При включении готовый контент сбалансирован с учётом этого риска. Отключение упрощает фарм контента и снижает мотивацию использовать механику эвакуации. |
Удаление предметов применяется только после того, как матч фактически запущен: игрок, вышедший, пока инстанс ещё находится в состоянии ожидания или обратного отсчёта, сохраняет свой инвентарь. Как только матч идёт, любой выход, не являющийся успешной эвакуацией (выход, отключение, смерть или удаление плагином), полностью очищает инвентарь.
messaging.yml
Все сообщения поддерживают цветовые коды &. Заполнители указаны в каждой строке.
| Ключ | По умолчанию | Описание |
|---|---|---|
failedToJoinOngoingMatchAsPlayerMessage | Can't join this match - it has already started! | Показывается, когда игрок пытается присоединиться к идущему матчу |
failedToJoinOngoingMatchAsPlayerInstanceIsFull | Can't join this match - the instance is already full! | Показывается, когда матч достиг максимального количества игроков |
failedToJoinOngoingMatchAsPlayerNoPermission | Can't join this match - you don't have the permission! | Показывается, когда у игрока нет разрешения на вход |
failedToJoinMatchAsSpectatorNoSpectatorsAllowedMessage | Can't join this match - spectators are not allowed! | Настраиваемое сообщение для случая, когда наблюдение отключено для данного пакета контента. В настоящее время не отправляется средой выполнения матчей MagmaCore: попытка наблюдения молча отклоняется без отправки какого-либо сообщения. |
failedToJoinMatchAsSpectatorNoPermission | Can't spectate this match - you don't have the permission! | Настраиваемое сообщение для случая, когда у игрока нет разрешения на наблюдение. В настоящее время не отправляется средой выполнения матчей MagmaCore: наблюдателю без разрешения вместо этого показывается failedToJoinOngoingMatchAsPlayerNoPermission. |
matchJoinAsPlayerMessage | [Extractioncraft] You are now in the match, $player! | Сообщение в чате при присоединении к матчу в качестве игрока. Среда выполнения MagmaCore подставляет в эту строку только заполнитель $count (минимальным количеством игроков); $player не подставляется, поэтому в тексте по умолчанию $player отображается дословно. |
matchJoinAsPlayerTitle | Extract! | Заголовок, показываемый при присоединении к матчу |
matchJoinAsPlayerSubtitle | Grab the loot and head to an extraction point! | Настраиваемый подзаголовок при присоединении. В настоящее время не используется средой выполнения матчей MagmaCore: при присоединении фактически показывается matchStartingSubtitle. |
matchJoinAsSpectatorTitle | (пусто) | Настраиваемый заголовок при присоединении в качестве наблюдателя. В настоящее время не отправляется средой выполнения матчей MagmaCore. |
matchJoinAsSpectatorSubtitle | Now spectating! | Настраиваемый подзаголовок при присоединении в качестве наблюдателя. В настоящее время не отправляется средой выполнения матчей MagmaCore. |
matchJoinAsSpectatorMessage | [Extractioncraft] You are now spectating a match! Do &a/extractioncraft quit &fto stop spectating! | Настраиваемое сообщение в чате при присоединении в качестве наблюдателя. В настоящее время не отправляется средой выполнения матчей MagmaCore. |
matchLeaveAsPlayerMessage | [Extractioncraft] You have left the match, $player! | Настраиваемое сообщение при выходе. В настоящее время не отправляется средой выполнения матчей MagmaCore, и $player не подставляется. |
matchLeaveAsSpectatorMessage | [Extractioncraft] You have left the match, $player! | Настраиваемое сообщение при выходе наблюдателя. В настоящее время не отправляется средой выполнения матчей MagmaCore, и $player не подставляется. |
matchFailedToStartNotEnoughPlayersMessage | This match requires $count players before starting - can't start yet! | Показывается при использовании /exc start без достаточного количества игроков. Среда выполнения MagmaCore заменяет заполнитель $amount минимальным количеством игроков, поэтому, если вы хотите, чтобы число подставлялось, используйте в этом сообщении $amount, а не $count. |
matchStartingMessage | [Extractioncraft] Match starting! | Настраиваемое сообщение в чате при начале матча. В настоящее время не отправляется средой выполнения матчей MagmaCore (обратный отсчёт вместо этого показывается через заголовок/подзаголовок). |
matchStartingTitle | Match starting! | Заголовок, показываемый во время 3-секундного обратного отсчёта. $count заменяется оставшимися секундами. |
matchStartingSubtitle | in $count... | Подзаголовок во время 3-секундного обратного отсчёта. $count заменяется оставшимися секундами. |
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/. Каждый определяет конфигурацию играбельной карты.
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
isEnabled | Boolean | true | Считается ли пакет установленным. Это определяет цвет его записи в /exc setup (true = установлен/зелёный, false = скачан, но не установлен/жёлтый), и меню настройки переключает это значение за вас. Пакет при этом не исчезает из /exc createMatch. |
name | String | (обязательно) | Отображаемое имя пакета (поддерживает цветовые коды &) |
description | String list | (обязательно) | Строки описания, отображаемые в меню настройки |
downloadLink | String | (необязательно) | URL, показываемый в чате при нажатии на нескачанный пакет в меню настройки |
version | Integer | 0 | Номер версии контента. Проверка состояния контента в Extractioncraft различает только «не скачан» / «установлен» / «не установлен», поэтому это значение сейчас ни с чем не сравнивается. |
folderName | String | (обязательно) | Имя подпапки со схемами для данного пакета |
usesEliteMobs | Boolean | false | Декларативный флаг, указывающий, что пакет использует контент EliteMobs. Во время выполнения не проверяется. |
usesBetterStructures | Boolean | false | Декларативный флаг, указывающий, что пакет использует контент BetterStructures. Во время выполнения не проверяется. |
usesFreeMinecraftModules | Boolean | false | Декларативный флаг, указывающий, что пакет использует контент FreeMinecraftModels. Во время выполнения не проверяется. Обратите внимание, что в исходном коде ключ YAML пишется как usesFreeMinecraftModules (с "Modules"). |
betterStructuresModulesContainerName | String | (необязательно) | Имя файла конфигурации модульного генератора BetterStructures, передаваемое генератору мира при выполнении /exc createMatch, например kobold_mines_module_generator_10.yml. Именно этот ключ фактически решает, какая карта будет сгенерирована. |
spectatable | Boolean | false | Настраиваемый переключатель наблюдения. Extractioncraft не передаёт это значение в создаваемый им инстанс матча, поэтому среда выполнения всегда считает матчи недоступными для наблюдения, и подключения наблюдателей отклоняются независимо от того, что вы здесь укажете. |
pvpEnabled | Boolean | true | Включено ли PvP во время матчей. При false дружественный огонь блокируется во всём мире матча. |
minPlayers | Integer | 1 | Минимальное количество игроков для начала матча. /exc start отказывает при меньшем количестве, а обратный отсчёт прерывается (завершая матч), если количество падает ниже этого значения во время отсчёта. |
maxPlayers | Integer | 100 | Максимальное количество игроков в матче. Все пять готовых пакетов Kobold Mines переопределяют это значение на 8. Текущая сборка не регистрирует команду присоединения, поэтому в матч попадает только его создатель, и этот предел никогда не достигается. |
chestLootTables | String list | [] | Таблицы добычи для сундуков, формат filename.yml:weight |
barrelLootTables | String list | [] | Таблицы добычи для бочек, формат filename.yml:weight |
Формат веса таблицы добычи
Записи таблиц добычи для сундуков и бочек используют формат <loot_table_filename.yml>:<weight>. Когда игрок открывает контейнер, одна таблица добычи выбирается на основе взвешенной вероятности.
Пример:
chestLootTables:
- kobold_mines_chest_high_loot_table_10.yml:.2
- kobold_mines_chest_low_loot_table_10.yml:.2
barrelLootTables:
- kobold_mines_barrel_loot_table_10.yml:1
Часть :weight обязательна — запись без двоеточия и числа не разбирается и не даёт пакету контента загрузиться. Веса относительны друг к другу, поэтому в примере выше каждая из двух таблиц сундуков получает равную долю в 50%. Имя файла, которому не соответствует файл в loot_tables/, записывает предупреждение при запуске и ломает обыск контейнеров для этого пакета.