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

Упаковка пользовательского контента EternalTD

EternalTD по-прежнему поддерживает пользовательский контент на основе файловой системы, но текущий код ожидает определённую структуру папок и модель отслеживания пакетов.

Корневая папка импорта

Ручной импорт по-прежнему проходит через:

plugins/EternalTD/imports/

После ручного импорта контента выполните:

/etd reload

Канонические папки контента

Текущий плагин сканирует эти папки в нижнем регистре:

plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
plugins/EternalTD/worlds/

Примечание о устаревших версиях:

  • Levels/ и NPCs/ — это устаревшие имена папок.
  • EternalTD теперь мигрирует их в levels/ и npcs/ при запуске и перезагрузке.

Правила упаковки миров

EternalTD рассматривает миры в:

plugins/EternalTD/worlds/

как шаблоны миров.

Когда игрок начинает уровень, EternalTD клонирует соответствующий шаблонный мир в контейнер миров сервера и запускает сессию в этой клонированной копии.

Практическое значение:

  • упаковывайте шаблонные миры в plugins/EternalTD/worlds/
  • не рассматривайте клонированные во время выполнения миры как источник истины для упакованного контента

Официальный мир хаба является особым случаем и отслеживается непосредственно в контейнере миров сервера как:

etd_spawn

Что делает пакет переключаемым

Переключение пакетов в /etd setup работает только для пакетов, которые предоставляют отслеживаемые файлы конфигурации.

Текущие поля отслеживаемых ресурсов:

  • levelFiles
  • waveFiles
  • npcFiles
  • worldFolders
  • worldContainerFolders
  • markerFileName

На практике:

  • пакеты уровней, волн и NPC могут быть включены или отключены путём записи isEnabled в эти YAML-файлы
  • общий контент контейнера миров и ресурсные пакеты только с маркером не переключаются таким же образом

Поля метаданных пакета

Текущая модель полей конфигурации пакетов поддерживает:

  • isEnabled
  • name
  • description
  • downloadLink
  • version
  • nightbreakSlug
  • levelFiles
  • waveFiles
  • npcFiles
  • worldFolders
  • worldContainerFolders
  • markerFileName
  • category
  • toggleable

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

Примечания по упаковке моделей

Текущий пакет EternalTD Custom Models отслеживается с помощью файла-маркера, а не обычных файлов конфигурации EternalTD.

Это означает:

  • EternalTD может отслеживать, был ли загружен общий пакет моделей
  • фактические ресурсы моделей находятся на стороне FreeMinecraftModels при установке FMM
  • очистка выполняется вручную с последующим выполнением /etd reload

Что эта страница не утверждает

Эта страница документирует текущие целевые папки на диске и модель отслеживания, которые проверены в репозитории.

Она не определяет собственную схему ZIP для архивов пакетов Nightbreak, поскольку этот формат упаковки не описан в данном репозитории как самостоятельная публичная спецификация для авторов.