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

Команды FreeMinecraftModels

registerCraftingRecipes в config.yml по умолчанию равно true. Для экономики только с покупками установите false и перезапустите сервер: корректные включённые записи останутся в каталоге магазина, но будут удалены из крафта Bukkit и меню крафта /fmm для игроков. Инструкции по крафту ниже требуют true.

Используйте /freeminecraftmodels или /fmm.

Настройка и управление контентом​

КомандаНазначение
/fmmОткрывает меню крафтящихся предметов для игроков (см. Меню крафтящихся предметов ниже)
/fmm adminОткрывает админский браузер контента — просмотр установленных паков, папок, моделей и пользовательских предметов (право: freeminecraftmodels.admin)
/fmm setupОткрывает меню управления контентом / первичной настройки (только для игроков; та самая команда, на которую игрокам указывают при первом запуске)
/fmm recommendedpluginsПоказывает плагины-компаньоны, хорошо сочетающиеся с FreeMinecraftModels (открывает меню-каталог для игроков, выводит список для консоли)
/fmm downloadallСкачивает последнее обновление плагина и весь доступный официальный контент. Если контент изменился, FMM перезагружается, чтобы применить его. Скачанный jar плагина вступает в силу после перезапуска, после /fmm applypluginupdate или в соответствии с настройкой nightbreak.applyPluginUpdatesWithoutRestart. Если шаг обновления плагина не удался из-за отсутствия токена Nightbreak или ошибки аутентификации, шаг с контентом пропускается целиком
/fmm downloadallcontentСкачивает весь доступный официальный контент (только контент, без обновления jar плагина) и перезагружается, если изменился хотя бы один пакет
/fmm updatecontentСкачивает обновления для устаревшего официального контента и перезагружается, если изменился хотя бы один пакет (алиас: /fmm updateallcontent)
/fmm downloadpluginupdateСкачивает только последнее обновление jar плагина. Оно вступает в силу после следующего перезапуска, если только вы не выполните /fmm applypluginupdate или не зададите nightbreak.applyPluginUpdatesWithoutRestart
/fmm applypluginupdateПрименяет скачанное обновление плагина без перезапуска сервера. FMM и все включённые плагины MagmaGuy, которые объявляют его в depend или softdepend, отключаются, jar заменяется, после чего они снова загружаются и включаются. Отклоняется, если более нового обновления в ожидании нет или если от FMM зависит плагин другого автора. Если новый jar не включается, снова загружается предыдущий jar, а обновление остаётся подготовленным до следующего перезапуска. Доступно игрокам и консоли (право: freeminecraftmodels.*)
/fmm forcereinstallcontent <package|all>Команда восстановления — заново скачивает уже имеющийся у вас контент, даже когда номера версий говорят, что он актуален. Автодополняет all и все слаги пакетов Nightbreak. all охватывает все пакеты, определённые как скачанные; если файлы пака отсутствуют полностью, укажите его слаг напрямую. После этого перезагружается (право: freeminecraftmodels.*)
/fmm reloadИмпортирует и проверяет определения предметов, зачарований и рецептов реквизита; при успехе полностью переинициализирует настройки, рецепты, модели и выходной ресурспак. Проверка может отклонить перезагрузку, сохранив действующий каталог
/fmm versionПоказывает версию плагина (право не требуется — может выполнить любой)
/fmm statsПоказывает статистику по загруженным моделям

Общие команды Nightbreak​

Они регистрируются MagmaCore, а не самим FreeMinecraftModels, поэтому это команды верхнего уровня, а не подкоманды /fmm.

КомандаНазначение
/nightbreaklogin [token]Привязывает этот сервер к вашему аккаунту Nightbreak, открывая доступ к загрузке официального контента и обновлений плагина. Без токена выводит ссылку на nightbreak.io для одобрения; с токеном сохраняет его (право: nightbreak.login, по умолчанию: op). Регистрируется один раз на сервер — владельцем становится тот плагин Nightbreak, который загрузился первым
/nightbreaklogoutУдаляет сохранённый токен аккаунта Nightbreak с этого сервера (право: nightbreak.login, по умолчанию: op). Принимает и игроков, и консоль
/nightbreak pluginsПоказывает каталог плагинов Nightbreak: игрокам — в виде меню, в консоли — в виде списка в чате (право: nightbreak.plugins, по умолчанию: op). Регистрируется один раз на сервер, как /nightbreaklogin. См. Настройка Nightbreak и управление контентом
/freeminecraftmodelschangelog [dismiss|disable]Показывает непрочитанные заметки о выпусках FreeMinecraftModels (релизы плагина и отслеживаемые пакеты контента). dismiss помечает показанные заметки как прочитанные; disable навсегда скрывает напоминания об изменениях лично для вас. Только для игроков и только для админов — игроку нужно freeminecraftmodels.*, одно из прав setup/admin или OP. Если метка /freeminecraftmodelschangelog уже занята другим плагином, команда регистрируется под запасным именем с пространством имён, например /freeminecraftmodels:freeminecraftmodelschangelog

Админов с непрочитанными заметками о выпусках при входе подталкивают в чате кликабельной подсказкой [VIEW CHANGELOG]; в представлении дайджеста есть кнопки Dismiss These Updates и Never Show Changelogs, делающие то же, что и две подкоманды. Состояние прочтения по каждому игроку хранится в plugins/FreeMinecraftModels/nightbreak-changelogs.yml.

Спавн и размещение моделей​

КомандаНазначение
/fmm spawn static <id>Создаёт статическую модель над блоком, на который вы целитесь; использует трассировку блоков длиной до 300 блоков
/fmm spawn dynamic <id>Создаёт модель на скрытой свинье над выбранным блоком, используя ту же трассировку на 300 блоков
/fmm spawn prop <id>Создаёт постоянный реквизит в текущей позиции игрока. Отклоняется с сообщением A prop of that model already exists on this block., если реквизит той же модели уже загружен на этом блоке
/fmm itemify <id> <material>Создаёт предмет размещения из указанного материала Bukkit. Используйте имя элемента перечисления в верхнем регистре, например PAPER. Предмет получает name и lore из .yml реквизита модели, если они заданы. Команда не создаёт авторский предмет для удержания в руке
/fmm mount <id> [scale]Спавнит экспериментального ездового маунта: прирученную осёдланную лошадь в облике модели, на которой вы едете и которой управляете. Необязательный масштаб, больше 0 и до 16, задаёт размер лошади и её модели; автодополнение предлагает 1.0, 2.0 и 3.0. См. ездовые пользовательские модели
/fmm giveitem <item>Выдаёт игроку зарегистрированный пользовательский предмет FMM; регистр букв в ID не учитывается (право: freeminecraftmodels.admin)
/fmm craftify <id>Открывает интерактивный конструктор рецептов — разместите ингредиенты в сетке 3×3 и кликните по итоговому предмету, чтобы сохранить рецепт крафта для этого реквизита

Команды прямого создания моделей не выполняют проверки защиты и свободного места, используемые предметами размещения. Для itemify и giveitem оставляйте свободный слот в инвентаре: обработчики этих команд игнорируют остаток, который не поместился, вместо того чтобы выбросить его на землю.

Маскировки игроков​

КомандаНазначение
/fmm disguise <modelID> [player]Маскирует игрока под загруженную модель. Без аргумента-цели маскирует отправителя. С целью требует freeminecraftmodels.disguise.self + freeminecraftmodels.disguise.others и работает из консоли
/fmm undisguise [player]Снимает маскировку. Без аргумента-цели снимает её с отправителя. С целью требует freeminecraftmodels.disguise.self + freeminecraftmodels.disguise.others и работает из консоли
/fmm disguiselistПоказывает список замаскированных сейчас игроков и модель каждого (право: freeminecraftmodels.disguise.others)

Поведение маскировки:

  • При наложении новой маскировки старая аккуратно заменяется.
  • Замаскированный игрок и его экипировка скрыты от других игроков. Если эффект невидимости добавила маскировка, она восстанавливает его после молока, очистки эффектов и возрождения. Невидимостью, существовавшей до маскировки, этот механизм не управляет и не восстанавливает её.
  • Сторонние плагины могут управлять маскировкой через публичный DisguiseAPI (см. API и руководство разработчика).

Питомцы​

КомандаНазначение
/fmm petsОткрывает меню ваших питомцев, где можно взять питомцев с собой или отправить их домой (право: freeminecraftmodels.pets)
/fmm petadmin mode [creatures|cosmetic]Показывает режим питомцев или переключает его и сохраняет в pets.yml (право: freeminecraftmodels.pets.admin)
/fmm petadmin listВыводит список загруженных видов питомцев с их файлом, моделью, телом, едой для приручения и едой для разведения (право: freeminecraftmodels.pets.admin)
/fmm petadmin spawn <species>Спавнит дикого питомца вида над блоком, на который вы смотрите, на расстоянии до 12 блоков. Работает только в режиме CREATURES (право: freeminecraftmodels.pets.admin)
/fmm petadmin give <species>Добавляет взрослую особь вида в вашу собственную коллекцию питомцев (право: freeminecraftmodels.pets.admin)
/fmm petmigrate [species]Немедленно отправляет над вами стаю ночной миграции, независимо от времени и неба (право: freeminecraftmodels.pets.admin)

О файлах видов, pets.yml и двух режимах питомцев см. Питомцы.

Магазин мебели​

КомандаНазначение
/fmm shopОткрывает опциональный магазин мебели на базе Vault, где игроки могут покупать крафтящиеся реквизиты за внутриигровую валюту (право: freeminecraftmodels.shop, по умолчанию: true)

Магазин выключен по умолчанию и регистрируется только когда:

  • enabled: true в shop_config.yml
  • Установлен Vault
  • Зарегистрирован совместимый с Vault экономический провайдер

Если что-то из этого отсутствует, /fmm shop не регистрируется. Включённый магазин без Vault или экономической интеграции записывает предупреждение в журнал. Зарегистрированный обработчик может вернуть настроенное сообщение об отключении, если настройки магазина или сохранённое состояние подключения указывают на отключение; он не отслеживает удаление провайдера непрерывно. Ключи настроек магазина и поля shopEnabled / shopPrice в рецептах описаны в конфигурации.

Утилиты​

КомандаНазначение
/fmm hitbox visualize [duration]Показывает хитбоксы моделей на расстоянии менее 10 блоков в том же мире и их базовые сущности. Длительность указывается в тиках, по умолчанию 100 (пять секунд). Неположительные и нечисловые значения заменяются на 100, значения выше 1200 — на 1200
/fmm locationСообщает о зарегистрированных детекторах подземелий и провайдерах защиты, запрашивает is_in_dungeon / is_protected в вашей позиции. Эти проверки местоположения не являются проверкой прав размещения реквизита с учётом игрока (право: freeminecraftmodels.*)
/fmm debug <bedrock|props> [on|off]Включает или выключает журнал [FMM-BedrockDebug] либо поиск пар реквизита на расстоянии до 0.1 блока при очистке с сообщением STACKED PROPS DETECTED. Без указания состояния сообщает, включён ли этот флаг. Также принимает true/enable/enabled и false/disable/disabled. Доступно игрокам и консоли (право: freeminecraftmodels.*)
/fmm packetdebug [ticks]Измеряет трафик моделированных сущностей за указанное число тиков модельных часов (по умолчанию 1), ограниченное диапазоном 1–200; некорректное целое число заменяется на 1. Показывает логические и доставленные пакеты за тик, размножение по зрителям, максимальную нагрузку на игрока за тик, типы пакетов и самых нагруженных зрителей. Автодополняет 1, 5, 20, 60. Запускайте в проблемной области. Число пакетов точно для охваченного измерением трафика; байты оцениваются приблизительно. Одновременно выполняется только один замер. Предупреждает, если за 400 серверных тиков не поступил новый замер. Доступно игрокам и консоли (право: freeminecraftmodels.*)
/fmm filmic [on|off]Временно включает или выключает кинематографический режим для записи видео через ReplayMod. Каждый игрок тогда получает все загруженные модели в своих загруженных чанках, даже вне поля зрения, и модели продолжают анимироваться. Не рекомендуется вне записи: режим сильно нагружает канал и снижает производительность сервера. Команда никогда не редактирует config.yml; настройка действует до перезапуска сервера или до изменения filmicMode в config.yml и перезагрузки FMM. Без аргумента сообщает текущее состояние и то, задано ли оно командой или config.yml. Доступно игрокам и консоли (право: freeminecraftmodels.*)
/fmm boneglide [ticks]Временно задаёт riddenBoneInterpolationTicks — число тиков, за которое клиенты Java плавно переводят едущую кость модели в следующую позу. 0 — мгновенная смена позы без сглаживания. Принимает значения от 0 до 59 и подсказывает при автодополнении от 0 до 3. Без аргумента сообщает текущее значение. Команда никогда не редактирует config.yml; значение из config.yml возвращается при перезагрузке FMM. Доступно игрокам и консоли (право: freeminecraftmodels.*)
/fmm deleteall [radius]Удаляет все загруженные моделированные сущности во всех мирах, навсегда удаляя загруженный реквизит. Незагруженный реквизит не сканируется. Радиус в виде положительного целого числа доступен только игроку и ограничивает удаление его миром и указанным расстоянием

Флаги отладки не сохраняются на диск, но /fmm reload их не сбрасывает. После сбора данных явно выключайте журналирование; при новом запуске сервера оба флага инициализируются выключенными.

Поведение размещения реквизита​

При нажатии правой кнопки с предметом размещения модели, полученным через itemify, крафт или магазин, действуют следующие правила. Авторские предметы для удержания в руке этот обработчик пропускает.

  • Расход предмета: после успешного размещения расходуется один предмет, кроме режима «Творчество».
  • Цель: при нажатии на блок используются блок и грань из события взаимодействия; при нажатии в воздух выполняется трассировка до пяти блоков. Свободное размещение использует центр грани, а воксельное — соседний блок и область, выровненную по сетке.
  • Поворот: реквизит обращён от точки размещения к позиции игрока, а не просто следует горизонтальному углу его взгляда. Свободное размещение использует шаг 10 градусов, воксельное — 90 градусов.
  • Один реквизит одной модели на блок: размещение отклоняется сообщением A prop of that model already exists on this block., когда реквизит той же модели уже загружен на этом блоке. При отклонённом размещении предмет не расходуется.
  • Основная рука и задержка: размещение выполняется только основной рукой. Между попытками действует задержка 500 мс, в том числе для попыток, которые затем не проходят проверку.
  • Защита и место: настроенный запрос защиты проверяет соседнюю ячейку. Воксельный реквизит дополнительно проверяет свободное место и защиту во всей повёрнутой области размещения. Право обхода пропускает запросы защиты. Ограничения интеграции и покрытия коллизий описаны в конфигурации.
  • Очистка дубликатов: при запуске, при событиях загрузки сущностей и перед прямым созданием реквизита FMM ищет стойки с одинаковой моделью на одном блоке, оставляет одну и удаляет остальные. Удаления записываются как [FMM Props] Removed N duplicate prop armor stand(s) ....

Меню крафтящихся предметов​

Запуск /fmm без аргументов открывает игрокам меню инвентаря с загруженными моделями, для которых рецепты крафта действительно зарегистрированы.

  • Каждый предмет в меню представляет один крафтящийся FMM-предмет.
  • Клик по предмету открывает детальное подменю с пространственной сеткой крафта 3×3, стрелкой и итоговым предметом — показывая игроку, как точно скрафтить его за верстаком.
  • Требует право freeminecraftmodels.menu (по умолчанию: true, доступно всем игрокам).

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

Запуск /fmm admin открывает администраторам сервера инвентарь-меню для просмотра:

  • установленных паков контента
  • папок и отдельных моделей
  • пользовательских предметов (моделей с заданным material:)

Требует право freeminecraftmodels.admin (по умолчанию: op).

Конструктор рецептов​

Команда /fmm craftify позволяет создать ванильный рецепт верстака для любой модели реквизита.

  1. Выполните /fmm craftify <model_id>, чтобы открыть интерфейс конструктора рецептов.
  2. Откроется пользовательский инвентарь с сеткой крафта 3×3 и заранее заполненным итоговым предметом.
  3. Расположите ингредиенты из своего инвентаря в сетке в любом нужном вам узоре.
  4. Кликните по итоговому предмету (бумажный предмет реквизита), чтобы сохранить рецепт.
  5. При успешном сохранении появляются частицы, звук и сообщение об успехе. Если сохранение или регистрация не удались, меню остаётся открытым, ингредиенты остаются в сетке, а игрок получает ошибку. FMM пытается восстановить ранее зарегистрированный рецепт; проверьте консоль, если восстановление тоже не удалось.
  6. Рецепт сохраняется в plugins/FreeMinecraftModels/recipes/<model_id>.yml; регистрация в Bukkit зависит от registerCraftingRecipes.
  7. Если регистрация прошла успешно и крафт включён, игроки могут создать бумажный предмет реквизита на верстаке.
  8. Нажмите Escape до сохранения, чтобы отменить действие и вернуть ингредиенты; не поместившийся остаток выпадет у ваших ног. Сохранение очищает целые стопки ингредиентов в сетке. В рецепт входят только материалы и их расположение, без количества в стопках и метаданных предметов.
  9. Повторный запуск craftify для той же модели заменяет прежний рецепт и возвращает поля включения и магазина к значениям по умолчанию, включая цену.
  10. Рецепты сохраняются между перезапусками и перезагрузками сервера.

Формат файла рецепта​

isEnabled: true
model_id: "wooden_chair"
shape:
- "L L"
- "LLL"
- "L L"
ingredients:
L: OAK_LOG
shopEnabled: true
shopPrice: 250.0
ПолеОбязательноеЗаметки
isEnabledнет (по умолчанию true)Установите false, чтобы снять рецепт с регистрации, не удаляя файл
model_idдаМодель, которую размещает созданный бумажный предмет. Суффикс состояния лука/арбалета разрешается в базовый ID только тогда, когда для базовой модели зарегистрирована модель отображения
shapeдаДо трёх строк по три символа. Пробел означает «пустая ячейка»
ingredientsдаОтображение одного символа узора на имя материала Bukkit. Нераспознанные материалы молча отбрасываются
shopEnabledнет (по умолчанию true)Показывается ли рецепт в /fmm shop
shopPriceнет (по умолчанию defaultPrice из shop_config.yml)Стоимость в валюте Vault в магазине

Ключ рецепта Bukkit — freeminecraftmodels:prop_recipe_<model_id>. Результат всегда является бумажным предметом размещения модели, а не авторским предметом для руки с его материалом и зачарованиями. Повторный запуск /fmm craftify заменяет файл и, если крафт включён, пытается зарегистрировать рецепт под тем же ключом.

FMM читает все .yml в recipes/, включая вложенные папки, и загружает их как единый каталог. Для каждого model_id может быть только один включённый файл рецепта. Второй включённый файл для того же model_id или файл с синтаксической ошибкой YAML приводит к отклонению /fmm reload с сохранением текущих рецептов и просьбой к отправителю проверить консоль. При запуске та же проблема отклоняет только каталог рецептов: FMM завершает запуск без рецептов реквизита и без записей магазина мебели, пока вы не исправите файл и не выполните /fmm reload. Ищите в консоли Prop recipe catalog rejected, Duplicate recipe model или Cannot prepare prop recipes.

Права доступа​

Зарегистрированы в plugin.yml​

ПравоПо умолчаниюОписание
freeminecraftmodels.*OPWildcard, выдающий freeminecraftmodels.admin, freeminecraftmodels.deleteall, freeminecraftmodels.disguise.self, freeminecraftmodels.disguise.others, freeminecraftmodels.bypassregionprotection и freeminecraftmodels.pets.admin. Строка wildcard также является буквальным правом, требуемым для /fmm reload, /fmm stats, /fmm spawn, /fmm itemify, /fmm craftify, /fmm mount, /fmm hitbox visualize, /fmm debug, /fmm packetdebug, /fmm filmic, /fmm boneglide, /fmm location, /fmm setup, /fmm initialize, /fmm recommendedplugins, /fmm downloadall, /fmm downloadallcontent, /fmm updatecontent, /fmm downloadpluginupdate, /fmm applypluginupdate и /fmm forcereinstallcontent
freeminecraftmodels.adminOPДоступ к /fmm admin (админский браузер контента) и /fmm giveitem
freeminecraftmodels.deleteallOPПотомок wildcard; доступ к /fmm deleteall
freeminecraftmodels.disguise.selfOPРазрешает /fmm disguise и /fmm undisguise только в отношении отправителя
freeminecraftmodels.disguise.othersOPРазрешает /fmm disguise <model> <player>, /fmm undisguise <player> и /fmm disguiselist
freeminecraftmodels.bypassregionprotectionOPОбходит запросы защиты FMM при размещении реквизитов и взаимодействии с ними, включая preventPropPlacementInProtectedRegions. Проверки свободного места сохраняются
freeminecraftmodels.menutrueДоступ к меню крафтящихся предметов /fmm (доступно всем игрокам)
freeminecraftmodels.shoptrueДоступ к /fmm shop (доступно всем игрокам, когда магазин включён)

Команды disguise и undisguise с указанным игроком требуют одновременно freeminecraftmodels.disguise.self и freeminecraftmodels.disguise.others. Для disguiselist достаточно .others.

Права питомцев​

ПравоПо умолчаниюОписание
freeminecraftmodels.petstrueДоступ к /fmm pets (доступно всем игрокам)
freeminecraftmodels.pets.adminOPПотомок wildcard; доступ к /fmm petadmin и /fmm petmigrate

Зарегистрированы MagmaCore​

ПравоПо умолчаниюОписание
nightbreak.loginOPТребуется для общих команд /nightbreaklogin и /nightbreaklogout. Регистрируется один раз на сервер тем плагином Nightbreak, который загрузился первым
nightbreak.pluginsOPТребуется для общей команды /nightbreak plugins. Регистрируется один раз на сервер тем плагином Nightbreak, который загрузился первым

Заметки об отправителе​

  • initialize, setup, spawn, itemify, mount, giveitem, craftify, hitbox visualize, location, admin, shop, pets, petadmin и petmigrate — команды только для игроков. /freeminecraftmodelschangelog тоже только для игроков.
  • reload, stats, recommendedplugins, downloadall, downloadallcontent, updatecontent, downloadpluginupdate, applypluginupdate, forcereinstallcontent, packetdebug, debug, filmic, boneglide, deleteall, /nightbreaklogin, /nightbreaklogout и /nightbreak plugins принимают и игроков, и консоль (радиус для deleteall доступен только игроку).
  • disguise и undisguise принимают целевого игрока и могут запускаться из консоли, если цель указана.
  • version не имеет ограничений по правам и доступна всем (и игрокам, и консоли).
  • /fmm initialize открывает меню первичной настройки для игроков с freeminecraftmodels.*. Для обычного управления контентом используйте /fmm setup.