Пакеты контента EternalTD
EternalTD теперь отслеживает официальный контент через набор конфигурации content_packages и предоставляет доступ к этим пакетам через /etd setup.
Категории пакетов
Текущий код использует три категории пакетов:
FREEPREMIUMRESOURCES
Меню настройки в настоящее время отображает их как:
Free ContentPremium PacksResources
Проверенные готовые пакеты
Это готовые пакеты, определённые в текущем репозитории:
| Пакет | Категория | Переключаемый в /etd setup | Отслеживаемые ресурсы |
|---|---|---|---|
EternalTD Hub World | Free | Нет | Папка контейнера миров сервера etd_spawn |
EternalTD Tutorial | Free | Да | tutorial.yml, tutorial_waves.yml, tutorial_npc.yml, etd_tutorial |
Towers of the Grassy Lands | Free | Да | 5 файлов уровней, 1 файл волн, 1 файл NPC, 5 миров |
Towers from the Depths | Premium | Да | 5 файлов уровней, 1 файл волн, 1 файл NPC, 5 миров |
Towers of the Rising Sun | Premium | Да | 5 файлов уровней, 1 файл волн, 1 файл NPC, 5 миров |
EternalTD Custom Models | Resources | Нет | Только файл-маркер, плюс импортированный контент FreeMinecraftModels при наличии |
Жизненный цикл пакета
Браузер пакетов в настоящее время различает:
- не загружен
- не установлен
- установлен
- частично установлен
- устарел и доступен для обновления
- устарел, но недоступен
- требуется доступ
Это состояние вычисляется из отслеживаемых ресурсов на диске, флагов isEnabled внутри отслеживаемых файлов конфигурации и проверок доступа/обновления Nightbreak.
Переключаемые и общие пакеты
Переключаемые пакеты работают путём переключения isEnabled внутри отслеживаемых файлов конфигурации в:
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
Общие пакеты не работают как обычные переключатели:
- Мир хаба рассматривается как общий установленный контент.
- Пакет пользовательских моделей рассматривается как общий ресурсный контент.
Для этих пакетов меню настройки предлагает удалить файлы вручную, а затем выполнить /etd reload.
Массовые операции
В настоящее время реализованы две массовые операции:
/etd downloadall/etd updatecontent
Обе команды:
- требуют привязанный токен Nightbreak
- загружают в
plugins/EternalTD/imports - пропускают пакеты, которые недоступны или уже актуальны
- автоматически перезагружают EternalTD после успешных загрузок
Практические замечания
- Проверки пакетов выполняют дедупликацию по slug Nightbreak перед массовой загрузкой/обновлением.
- Интерфейс настройки обновляет информацию о контенте и доступе с задержкой вместо обращения к Nightbreak при каждом открытии.
- Пакет пользовательских моделей записывает маркер в
plugins/EternalTD/content_markers/, чтобы EternalTD мог отслеживать, что общий ресурсный пакет был загружен.