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

Пакеты контента FreeMinecraftModels

Официальный контент FMM теперь представлен в виде управляемых пакетов Nightbreak.

Текущие официальные пакеты

Текущая версия плагина определяет пять готовых официальных пакетов, смешивающих реквизит и предметы:

ПакТипИмя файла конфигаИмя папкиSlug Nightbreak
Basic Furniture PackРеквизитbasic_furniture_packBasic Furniture Packbasic-furniture-pack
BetterStructures Prop PackРеквизитbetterstructures_prop_packbs prop packbetterstructures-prop-pack
EliteMobs Prop PackРеквизитelitemobs_prop_packem_dungeon_prop_packelitemobs-prop-pack
Craftenmine's Weapons Item PackПользовательские предметыcraftenmines_weapons_item_packfmm_craftenmine_weapons_items_packcraftenmines-weapons-item-pack
Craftenmine Tools Item PackПользовательские предметыcraftenmine_tools_item_packfmm_craftenmine_tools_items_packcraftenmine-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, считаются частью пакета и перемещаются вместе с ним при установке/удалении.

Жизненный цикл скачивания и установки

Здесь два отдельных шага:

  1. Скачивание контента пакета. Скачивания попадают в plugins/FreeMinecraftModels/imports и затем запускают проход reload/import.
  2. Сохранение пакета включённым или отключённым. Меню настройки устанавливает и удаляет пакеты, перемещая их папки между models и models_disabled.

Массовые операции работают по той же модели:

  • /fmm downloadall скачивает каждый доступный пакет, который отсутствует или устарел
  • /fmm updatecontent обновляет только устаревшие пакеты

Обе массовые команды автоматически перезагружают FreeMinecraftModels после успешных скачиваний, чтобы только что загруженный контент стал доступен.

Админский браузер контента

/fmm admin открывает внутриигровой GUI-инвентарь, который позволяет администраторам одним взглядом просматривать весь установленный контент. Браузер показывает:

  • все установленные пакеты (с отдельным подсчётом реквизита и предметов)
  • папки моделей, не входящие в пакеты (с отдельным подсчётом реквизита и предметов)
  • отдельные реквизиты (модели без material: в YML-конфиге)
  • пользовательские предметы (модели с заданным material: в YML-конфиге)

Реквизит и предметы отображаются по-разному: реквизит использует жёлтый стиль и иконку бумаги, а пользовательские предметы — фиолетовый стиль и показывают заданный материал. Модель, у которой в YML задан material:, появится только как пользовательский предмет — никогда и как реквизит, и как предмет одновременно.

Клик по любой записи в админском браузере выдаёт игроку копию этого предмета. Для пользовательских предметов выданный предмет включает заданный материал, зачарования, lore и PDC-тег fmm_item_id. Это самый быстрый способ получить реквизит, пользовательские предметы или предметы моделей для тестирования и строительства, не зная точного ID модели или синтаксиса команды.