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

Extractioncraft

Совместимость версии в разработке

Этот раздел описывает исходный код Extractioncraft 1.0-SNAPSHOT, а не проверенное сочетание выпущенных версий. Текущий исходный код компилируется с BetterStructures 2.7.6 и EliteMobs 10.9.7 и напрямую вызывает их API. Прежде чем открывать сервер игрокам, используйте совместимые сборки, проверенные вместе: установка последних версий сопутствующих плагинов сама по себе не доказывает совместимость.

Extractioncraft — это плагин соревновательного игрового режима в стиле эвакуации для серверов Minecraft. Игроки попадают в процедурно сгенерированные инстансированные карты, грабят контейнеры, сражаются с элитными мобами и стремятся добраться до точек эвакуации до того, как граница мира сожмётся.

Начните здесь​

Примечания о текущей платформе​

  • Версия плагина в текущем репозитории: 1.0-SNAPSHOT
  • Версия API в дескрипторе плагина: 1.21.4; текущая сборка компилируется с Spigot API 26.3-R0.1-SNAPSHOT под Java 21
  • Корневая команда: /extractioncraft (алиас /exc)

Как проходит матч​

  1. Игрок создаёт матч командой /exc createMatch <contentPackage.yml>, которая генерирует инстансированный мир с использованием модульной генерации мира BetterStructures. Создатель матча телепортируется в случайную точку спавна, как только мир готов.
  2. Пакет контента задаёт минимальное и максимальное количество игроков, но Extractioncraft не регистрирует команду присоединения. /exc createMatch — единственный встроенный способ попасть в матч, поэтому в матче находится только его создатель, если другой плагин не впустит игроков через API.
  3. Как только выполнено условие minPlayers (1 по умолчанию), любой игрок в матче может выполнить /exc start. Перед началом матча обратный отсчёт показывает 2, 1, затем 0 с интервалом в одну секунду.
  4. Когда матч переходит в активную фазу, на карте появляются боссы, а по всей карте размещаются сундуки и бочки. Контейнеры излучают частицы портала каждые 10 тиков, чтобы их было легко заметить. Игроки грабят контейнеры (нужно стоять неподвижно 3 секунды для открытия) и сражаются с врагами EliteMobs за дроп. Боковая панель отображает обратный отсчёт 15-минутного таймера.
  5. Через 1 минуту на карту вставляется рабочая версия каждой точки эвакуации. Компас на полосе босса показывает маркер для каждой точки эвакуации перед игроком.
  6. Правый клик по рычагу у точки эвакуации убирает рычаг и открывает для этой точки единственное общее 20-секундное окно эвакуации. Все, кто находится в зоне эвакуации этой точки в момент закрытия окна, эвакуируются вместе. Каждая точка эвакуации открывает одно окно.
  7. Граница мира начинается с ширины сгенерированной карты и равномерно сужается к её центру, достигая 1 блока к отметке 15 минут. Когда таймер истекает, матч завершается, а все, кто ещё внутри, считаются не эвакуировавшимися.
  8. Эвакуировавшиеся игроки сохраняют добычу; если включены чары EliteMobs Soulbind, она привязывается к ним. Игроки, которые погибли, вышли, отключились или не успели до конца таймера, при конфигурации по умолчанию теряют весь инвентарь.

Полные сведения о таймерах, правилах эвакуации, смертях и защите мира находятся на странице ход матча.

Зависимости​

  • Обязательные: BetterStructures, EliteMobs, FreeMinecraftModels
  • Фреймворк: MagmaCore (в комплекте)

Дескриптор помечает три сопутствующих плагина как мягкие зависимости, но запуск Extractioncraft завершается ошибкой, если все три не включены и не завершили загрузку. BetterStructures также нужен WorldEdit или FastAsyncWorldEdit для генерации карт.