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

FreeMinecraftModels

FreeMinecraftModels — это среда выполнения пользовательских моделей и API для разработчиков.

Плагин предоставляет:

  • первичную настройку с напоминанием при входе, пока она не отмечена как завершённая
  • меню Nightbreak для установки и обновления официальных пакетов моделей
  • папку с созданным ресурс-паком plugins/FreeMinecraftModels/output/FreeMinecraftModels
  • ZIP-архив ресурс-пака plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip
  • команды для настройки, обновления контента, создания моделей, маскировок, реквизита и отладки
  • кости точек посадки — кости с именами, начинающимися на m_, создают места для посадки игроков на пользовательские модели
  • пользовательский JSON отображения — файл .json рядом с .bbmodel (экспорт display-item из Blockbench) заменяет внешний вид предмета в игре; требуется версия 1.21.4 или новее
  • пользовательские предметы и магическое оружие — модели в руке с зачарованиями, имеющими пространство имён, а также заданные авторами волшебные палочки и посохи
  • смешивание анимаций — idle и walk плавно переходят друг в друга, death плавно проявляется, а атаки проигрываются поверх движения согласно настройкам Override и Blend Weight из Blockbench, для игроков Java и Bedrock. См. Смешивание анимаций
  • инерция поворота — модели на мобах поворачиваются с инерцией, зависящей от их размера. См. Инерция поворота
  • частицы Blockbench — ключевые кадры частиц в анимациях модели воспроизводятся на пользовательских сущностях, реквизите и предметах в руке для игроков Java и Bedrock. См. Частицы
  • браузер контента для администратора (/fmm admin) — меню загруженных моделей и успешно зарегистрированных пользовательских предметов, сгруппированных по включённым пакетам или папкам
  • меню крафта для игроков (/fmm) — зарегистрированные рецепты реквизита с сеткой 3x3 и результатом; записи без зарегистрированного рецепта не отображаются
  • маскировки игроков — /fmm disguise <model> [player], /fmm undisguise [player], /fmm disguiselist и публичный DisguiseAPI для сторонних плагинов
  • магазин мебели — необязательный /fmm shop на основе Vault для продажи бумажных предметов размещения реквизита, с настройками shopEnabled / shopPrice для каждого рецепта; допустимые записи магазина могут оставаться доступными при отключённой регистрации рецептов
  • API интерфейса игрока — Lua-скрипты могут показывать полосы боссов, строки действий и заголовки
  • LocationAPI — сторонние плагины могут регистрировать детекторы подземелий и провайдеры защиты для Lua-предикатов FMM em.location.is_in_dungeon / em.location.is_protected и проверки размещения реквизита в защищённых регионах
  • списки изменений в игре — администраторы получают напоминание при входе о непрочитанных заметках к версиям FreeMinecraftModels и могут открыть их через /freeminecraftmodelschangelog
  • восстановление контента — /fmm forcereinstallcontent <package|all> заново скачивает контент, который числится актуальным, если его файлы повреждены или отсутствуют
  • обновления плагина без перезапуска — /fmm applypluginupdate или настройка nightbreak.applyPluginUpdatesWithoutRestart подставляет скачанный jar плагина во время работы сервера. См. Конфигурация
  • кинематографический режим — /fmm filmic on|off или filmicMode отправляет каждому игроку все загруженные модели в его загруженных чанках, даже вне поля зрения, для записей ReplayMod. См. Конфигурация

FreeMinecraftModels объявляет api-version: 1.21.4, поэтому минимальная поддерживаемая версия сервера — Minecraft 1.21.4.

Начните отсюда​

Lua-скрипты​

FreeMinecraftModels поддерживает Lua-скрипты реквизита на базе движка MagmaCore 2.0. Скрипты находятся в plugins/FreeMinecraftModels/scripts/.

Активные хуки реквизита (8)​

Скрипты реквизита могут реагировать на следующие хуки:

ХукСрабатывание
on_spawnРеквизит появляется в мире или снова загружается вместе со своим чанком
on_game_tickКаждый игровой тик, пока реквизит существует
on_zone_enterИгрок входит в отслеживаемую зону, созданную скриптом
on_zone_leaveИгрок выходит из отслеживаемой зоны, созданной скриптом
on_destroyРеквизит удаляется окончательно (не при выгрузке чанка и не при перезагрузке)
on_left_clickИгрок нажимает на реквизит левой кнопкой
on_right_clickИгрок нажимает на реквизит правой кнопкой
on_projectile_hitСнаряд попадает в реквизит

Скрипты реквизита получают таблицу context.prop с полями model_id, current_location и методами, например play_animation(name) и stop_animation().

Эффекты предметов​

Lua-скрипты экипированных предметов выведены из использования. Предметы в руке теперь используют зачарования, заданные авторами, а палочки и посохи — определения магического оружия. Не добавляйте scripts: в определение предмета в руке.

Текущие заметки​

  • Официальные пакеты Nightbreak, встроенные в плагин: Basic Furniture Pack, BetterStructures Prop Pack, EliteMobs Prop Pack, Craftenmine's Weapons Item Pack и Craftenmine Tools Item Pack.
  • Успешная полная инициализация пересоздаёт ресурс-пак и планирует FmmReloadedEvent через 40 тиков, чтобы зависимые плагины могли заново подключить модели. Если перезагрузка отклонена на этапе подготовки, действующая среда сохраняется.
  • ResourcePackManager может автоматически распространять созданный пак. Проверьте выходные файлы и фактическое принятие пака клиентом: отметка о завершённой настройке или установленном пакете не доказывает доставку.