Команды 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 позволяет создать ванильный рецепт верстака для любой модели реквизита.
- Выполните
/fmm craftify <model_id>, чтобы открыть интерфейс конструктора рецептов. - Откроется пользовательский инвентарь с сеткой крафта 3×3 и заранее заполненным итоговым предметом.
- Расположите ингредиенты из своего инвентаря в сетке в любом нужном вам узоре.
- Кликните по итоговому предмету (бумажный предмет реквизита), чтобы сохранить рецепт.
- При успешном сохранении появляются частицы, звук и сообщение об успехе. Если сохранение или регистрация не удались, меню остаётся открытым, ингредиенты остаются в сетке, а игрок получает ошибку. FMM пытается восстановить ранее зарегистрированный рецепт; проверьте консоль, если восстановление тоже не удалось.
- Рецепт сохраняется в
plugins/FreeMinecraftModels/recipes/<model_id>.yml; регистрация в Bukkit зависит отregisterCraftingRecipes. - Если регистрация прошла успешно и крафт включён, игроки могут создать бумажный предмет реквизита на верстаке.
- Нажмите Escape до сохранения, чтобы отменить действие и вернуть ингредиенты; не поместившийся остаток выпадет у ваших ног. Сохранение очищает целые стопки ингредиентов в сетке. В рецепт входят только материалы и их расположение, без количества в стопках и метаданных предметов.
- Повторный запуск craftify для той же модели заменяет прежний рецепт и возвращает поля включения и магазина к значениям по умолчанию, включая цену.
- Рецепты сохраняются между перезапусками и перезагрузками сервера.
Формат файла рецепта
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.* | OP | Wildcard, выдающий 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.admin | OP | Доступ к /fmm admin (админский браузер контента) и /fmm giveitem |
freeminecraftmodels.deleteall | OP | Потомок wildcard; доступ к /fmm deleteall |
freeminecraftmodels.disguise.self | OP | Разрешает /fmm disguise и /fmm undisguise только в отношении отправителя |
freeminecraftmodels.disguise.others | OP | Разрешает /fmm disguise <model> <player>, /fmm undisguise <player> и /fmm disguiselist |
freeminecraftmodels.bypassregionprotection | OP | Обходит запросы защиты FMM при размещении реквизитов и взаимодействии с ними, включая preventPropPlacementInProtectedRegions. Проверки свободного места сохраняются |
freeminecraftmodels.menu | true | Доступ к меню крафтящихся предметов /fmm (доступно всем игрокам) |
freeminecraftmodels.shop | true | Доступ к /fmm shop (доступно всем игрокам, когда магазин включён) |
Команды disguise и undisguise с указанным игроком требуют одновременно freeminecraftmodels.disguise.self и freeminecraftmodels.disguise.others. Для disguiselist достаточно .others.
Права питомцев
| Право | По умолчанию | Описание |
|---|---|---|
freeminecraftmodels.pets | true | Доступ к /fmm pets (доступно всем игрокам) |
freeminecraftmodels.pets.admin | OP | Потомок wildcard; доступ к /fmm petadmin и /fmm petmigrate |
Зарегистрированы MagmaCore
| Право | По умолчанию | Описание |
|---|---|---|
nightbreak.login | OP | Требуется для общих команд /nightbreaklogin и /nightbreaklogout. Регистрируется один раз на сервер тем плагином Nightbreak, который загрузился первым |
nightbreak.plugins | OP | Требуется для общей команды /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.