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

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

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

Корень импорта

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

plugins/EternalTD/imports/

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

/etd reload

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

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

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

Примечание по legacy-именам:

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

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

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

plugins/EternalTD/worlds/

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

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

Практическое следствие:

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

Официальный hub-мир — особый случай, и он отслеживается напрямую в контейнере миров сервера как:

etd_spawn

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

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

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

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

На практике:

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

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

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

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

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

Заметки по упаковке моделей

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

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

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

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

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

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