Модели и набор ресурсов EternalTD
EternalTD использует FreeMinecraftModels для моделей, а /etd install — для настройки распространения набора ресурсов.
FreeMinecraftModels
FreeMinecraftModels является мягкой зависимостью.
- EternalTD загружается и без него.
- При его наличии EternalTD может заменять стандартные тела башен статическими моделями FMM. Если модель не найдена, записывается предупреждение и стандартное тело остаётся на месте.
- При его отсутствии используются стандартные тела башен без блокировки запуска. Флаг интеграции проверяет присутствие плагина: отключённая или несовместимая установка FMM не равнозначна его отсутствию.
Текущий общий пакет моделей:
EternalTD Custom Models
Этот пакет загружается через поток контента EternalTD и описан в коде как контент, который импортируется в FreeMinecraftModels, когда FMM доступен.
Учёт пакетов EternalTD также принимает любую из этих непустых папок FMM за установленный контент:
plugins/FreeMinecraftModels/models/EternalTD default towers/
plugins/FreeMinecraftModels/Models/EternalTD default towers/
Вариант с заглавной буквы — старое имя папки. Обнаружение любой непустой папки делает контент установленным для учёта и запускает попытку записи plugins/EternalTD/content_markers/eternaltd_custom_models.marker; ошибка записи попадает в журнал. Существующий маркер тоже учитывается, даже если модели позднее удалены. Ни одна из этих проверок не проверяет содержимое моделей и не доказывает их успешную загрузку.
Что делает /etd reload для моделей
/etd reload перезапускает EternalTD внутри сервера и обрабатывает ожидающие импорты. Когда общий импортёр устанавливает модели или другие файлы в папки FMM (например, scripts) и FMM включён, уведомление об установке вызывает перезагрузку импортированного контента FMM. Это условный вызов, а не перезагрузка FMM при каждом /etd reload. Отдельный метод переадресации в самом EternalTD не имеет вызывающего кода.
Если вы редактируете или копируете файлы прямо в папки FMM, используйте собственную команду перезагрузки FMM. Проверьте журналы и реальную модель в игре: одного маркера пакета недостаточно.
/etd install
/etd install не загружает пакет моделей. Он применяет официальные настройки распространения набора ресурсов EternalTD.
Текущий официальный URL набора ресурсов:
https://www.magmaguy.com/downloads/eternaltd_resource_pack.zip
Если ResourcePackManager установлен
Если ResourcePackManager включён, EternalTD регистрирует официальный набор и запрашивает перезагрузку состояния наборов.
В этом режиме:
- EternalTD не записывает URL набора в
server.properties - ResourcePackManager управляет распространением среди игроков
- EternalTD регистрирует
/etd reloadкак команду последующей перезагрузки
Сообщение о регистрации подтверждает вызовы API, но не доставку клиенту. При запуске EternalTD лишь считает включённый ResourcePackManager активной настройкой набора ресурсов; регистрация при этом не выполняется. Запросите её через /etd install и проверьте набор с подключённым игроком.
Если ResourcePackManager недоступен или регистрация не удалась
Если ResourcePackManager отключён, отсутствует или регистрация через API вызывает ошибку, EternalTD редактирует server.properties напрямую.
Он записывает:
resource-packresource-pack-sha1
Перед изменением любого свойства EternalTD скачивает набор и вычисляет его SHA1 по мере поступления данных, не сохраняя набор на диск. Для загрузки используется тайм-аут подключения 10 секунд и тайм-аут чтения 30 секунд. При сбое загрузки или расчёта хеша server.properties остаётся без изменений. При успехе оба значения записываются вместе через временный файл с атомарной заменой, если её поддерживает операционная система. Если оба значения уже совпадают, файл не перезаписывается.
В этом резервном режиме команда сообщает о необходимости перезапуска сервера для применения новых настроек набора.
Проверка обновления SHA1
Если EternalTD использует путь server.properties вместо ResourcePackManager, при запуске (и при /etd reload) также проверяется, изменился ли SHA1 официального набора ресурсов.
Проверка выполняется, только если resource-pack в точности равен официальному URL EternalTD, указанному выше; набор с любого другого URL не затрагивается. Если хеш изменился, EternalTD записывает новый resource-pack-sha1, предварительно убедившись, что в resource-pack всё ещё указан официальный URL. Об изменении не объявляется: сервер отправит игрокам новый хеш после следующего перезапуска. Если запись пропущена или не удалась, в консоль записывается, что контрольная сумма не обновлена. При включённом ResourcePackManager эта ветка запуска пропускается.
Поведение предупреждения оператора
Когда все следующие условия выполняются:
FreeMinecraftModelsустановлен- подключающийся игрок является оператором
- EternalTD не обнаруживает активную настройку набора ресурсов
EternalTD планирует предупреждение через пять секунд, если игрок к тому моменту ещё действителен. В нём указаны команды:
/etd install/etd initialize(открывает меню начальной настройки; требуетсяeternaltd.*)/etd setup
Обнаружение означает только, что ResourcePackManager включён или в server.properties есть непустое значение resource-pack. Принятие клиентом и наличие ресурсов EternalTD в наборе не проверяются. Предупреждение описывает путь через server.properties, но /etd install всё равно сначала пробует ResourcePackManager.
Примечания по очистке
Пакет пользовательских моделей рассматривается как общий ресурсный контент, а не как обычный переключаемый пакет.
Если вы хотите его удалить:
- Удалите нужные импортированные модели, проверив текущие и старые папки FMM.
- Удалите
plugins/EternalTD/content_markers/eternaltd_custom_models.marker, если пакет больше не должен считаться установленным. Оставшаяся непустая резервная папка восстановит этот статус при следующей проверке. - Перезагрузите FMM, чтобы применить прямое удаление файлов, затем выполните
/etd reload. При необходимости проверьте/fmm setup. Эти действия не удаляют регистрацию набора ресурсов или настройки вserver.properties.