Пакеты контента FreeMinecraftModels
Официальный контент FMM теперь представлен в виде управляемых пакетов Nightbreak.
Текущие официальные пакеты
Текущая версия плагина определяет пять готовых официальных пакетов, смешивающих реквизит и предметы:
| Пак | Тип | Имя файла конфига | Имя папки | Slug Nightbreak |
|---|---|---|---|---|
Basic Furniture Pack | Реквизит | basic_furniture_pack | Basic Furniture Pack | basic-furniture-pack |
BetterStructures Prop Pack | Реквизит | betterstructures_prop_pack | bs prop pack | betterstructures-prop-pack |
EliteMobs Prop Pack | Реквизит | elitemobs_prop_pack | em_dungeon_prop_pack | elitemobs-prop-pack |
Craftenmine's Weapons Item Pack | Пользовательские предметы | craftenmines_weapons_item_pack | fmm_craftenmine_weapons_items_pack | craftenmines-weapons-item-pack |
Craftenmine Tools Item Pack | Пользовательские предметы | craftenmine_tools_item_pack | fmm_craftenmine_tools_items_pack | craftenmine-tools-item-pack |
Имя файла конфига — это .yml-файл в plugins/FreeMinecraftModels/content_packages/. Имя папки — это директория, в которой фактически живут модели пака внутри models/ или models_disabled/, и одновременно префикс файлов контента/скриптов по умолчанию.
У каждого пакета есть локальное имя папки, slug Nightbreak, поле версии и состояние включено/выключено в content_packages. Два пака Craftenmine содержат пользовательские предметы (модели с заданным material:), работающие с полным набором Lua-скриптов предметов.
Чем управляет меню настройки
/fmm setup сейчас является источником правды о состоянии пакетов. Меню умеет различать:
- установленные пакеты
- скачанные, но в данный момент отключённые пакеты
- устаревшие пакеты
- пакеты, требующие доступа Nightbreak
Меню настройки также инициирует фоновое обновление версий пакетов и проверок доступа, поэтому именно в меню удобнее всего проверять текущее состояние пакетов.
Поведение папок
Плагин использует перемещение папок для включения и отключения контента в зависимости от состояния пакета:
- включённые папки моделей лежат в
models/<folderName> - отключённые папки моделей лежат в
models_disabled/<folderName> - включённые файлы скриптов лежат в
scripts/ - отключённые файлы скриптов лежат в
scripts_disabled/
Это значит, что пакет может быть полностью скачан на диск, но при этом неактивен в списке моделей среды выполнения. Когда пакет устанавливается или удаляется, и его папка моделей, и подходящие файлы скриптов перемещаются вместе.
Префиксы файлов
В конфиге каждого пакета контента есть поле contentFilePrefixes и поле scriptFilePrefixes (оба по умолчанию равны folderName пакета). Файлы контента, чьи имена начинаются с любого из contentFilePrefixes, и файлы скриптов в папке scripts/, чьи имена начинаются с любого из scriptFilePrefixes, считаются частью пакета и перемещаются вместе с ним при установке/удалении.
Жизненный цикл скачивания и установки
Здесь два отдельных шага:
- Скачивание контента пакета.
Скачивания попадают в
plugins/FreeMinecraftModels/importsи затем запускают проход reload/import. - Сохранение пакета включённым или отключённым.
Меню настройки устанавливает и удаляет пакеты, перемещая их папки между
modelsиmodels_disabled.
Массовые операции работают по той же модели:
/fmm downloadallскачивает каждый доступный пакет, который отсутствует или устарел/fmm updatecontentобновляет только устаревшие пакеты
Обе массовые команды автоматически перезагружают FreeMinecraftModels после успешных скачиваний, чтобы только что загруженный контент стал доступен.
Админский браузер контента
/fmm admin открывает внутриигровой GUI-инвентарь, который позволяет администраторам одним взглядом просматривать весь установленный контент. Браузер показывает:
- все установленные пакеты (с отдельным подсчётом реквизита и предметов)
- папки моделей, не входящие в пакеты (с отдельным подсчётом реквизита и предметов)
- отдельные реквизиты (модели без
material:в YML-конфиге) - пользовательские предметы (модели с заданным
material:в YML-конфиге)
Реквизит и предметы отображаются по-разному: реквизит использует жёлтый стиль и иконку бумаги, а пользовательские предметы — фиолетовый стиль и показывают заданный материал. Модель, у которой в YML задан material:, появится только как пользовательский предмет — никогда и как реквизит, и как предмет одновременно.
Клик по любой записи в админском браузере выдаёт игроку копию этого предмета. Для пользовательских предметов выданный предмет включает заданный материал, зачарования, lore и PDC-тег fmm_item_id. Это самый быстрый способ получить реквизит, пользовательские предметы или предметы моделей для тестирования и строительства, не зная точного ID модели или синтаксиса команды.