Skip to main content

FreeMinecraftModels Commands

Use /freeminecraftmodels or /fmm.

Setup and Content Management

CommandPurpose
/fmmOpens the craftable items menu for players (see Craftable Items Menu below)
/fmm adminOpens the admin content browser — browse installed packs, folders, models, and custom items (permission: freeminecraftmodels.admin)
/fmm initializeOpens the player-only first-time setup flow
/fmm setupOpens the player-only content-management menu
/fmm downloadallDownloads all currently accessible official content
/fmm updatecontentDownloads updates for outdated official content
/fmm reloadRe-imports content and regenerates the pack output
/fmm versionShows the plugin version (no permission required -- anyone can run this)
/fmm statsShows loaded-model statistics

Model Spawning and Placement

CommandPurpose
/fmm spawn static <id>Spawns a static model
/fmm spawn dynamic <id>Spawns a dynamic model
/fmm spawn prop <id>Creates a persistent prop entry and spawns it
/fmm itemify <id> <material>Creates a placeable item that spawns the chosen model as a prop
/fmm mount <id>Spawns an experimental rideable mount using a disguised horse
/fmm giveitem <item>Gives a custom FMM item to the player (permission: freeminecraftmodels.admin)
/fmm craftify <id>Opens an interactive recipe builder — place ingredients in a 3×3 grid then click the output to save a crafting recipe for that prop

Player Disguises

CommandPurpose
/fmm disguise <modelID> [player]Disguises a player as a loaded model. Without a target argument, disguises the sender. With a target, requires freeminecraftmodels.disguise.others and works from console
/fmm undisguise [player]Removes the disguise. Without a target, undisguises the sender. With a target, requires freeminecraftmodels.disguise.others and works from console
/fmm disguiselistLists currently disguised players and the model each is disguised as (permission: freeminecraftmodels.disguise.others)

Disguise behavior:

  • Disguising replaces any previous disguise on that player cleanly.
  • Disguised players are made invisible to other players so only the model is seen. The invisibility persists through milk buckets and other effect-clear interactions.
  • Third-party plugins can drive disguises via the public DisguiseAPI (see API & Developer Guide).

Furniture Shop

CommandPurpose
/fmm shopOpens the optional Vault-backed furniture shop where players can purchase craftable props with in-game currency (permission: freeminecraftmodels.shop, default: true)

The shop is disabled by default and only registers itself when:

  • enabled: true in shop_config.yml
  • Vault is installed
  • A Vault-compatible economy provider is registered

When any of these are missing, /fmm shop is unregistered (or shows the configurable "shop disabled" message if force-disabled at runtime). See Configuration for the shop config keys and per-recipe shopEnabled / shopPrice fields.

Utilities

CommandPurpose
/fmm hitbox visualize [duration]Visualizes hitboxes for debugging
/fmm locationDiagnostic command — reports how many dungeon detectors and protection providers are registered with LocationAPI, and tests both predicates against your current location (permission: freeminecraftmodels.*)
/fmm debug bedrock [on|off]Runtime toggle for the [FMM-BedrockDebug] log stream that diagnoses the Bedrock display pipeline. Omit the state argument to report whether logging is currently on. Always resets to OFF on plugin reload — intentionally not a config key so it cannot be left on by accident. Accepts both players and console (permission: freeminecraftmodels.*)
/fmm deleteallRemoves all currently loaded modeled entities

Prop Placement Behavior

When a player right-clicks with a paper prop item (created via /fmm itemify or crafted via a /fmm craftify recipe), the following applies:

  • Item consumption: The paper item is consumed when the prop is placed, unless the player is in Creative mode.
  • Rotation: Props are placed facing the player's direction, snapped to 10-degree rotation increments. This gives players fine-grained control over prop orientation simply by adjusting where they are looking before placing.

Craftable Items Menu

Running /fmm with no arguments opens an inventory menu for players showing all craftable items that have been configured with recipes.

  • Each item in the menu represents a craftable FMM item.
  • Clicking an item opens a detail submenu that displays the spatial 3x3 crafting grid, an arrow, and the output item — showing the player exactly how to craft it in a crafting table.
  • Requires the freeminecraftmodels.menu permission (default: true, available to all players).

Admin Content Browser

Running /fmm admin opens an inventory menu for server administrators to browse:

  • Installed content packs
  • Folders and individual models
  • Custom items (models with material: set)

Requires the freeminecraftmodels.admin permission (default: op).

Recipe Builder

The /fmm craftify command lets you create a vanilla crafting-table recipe for any prop model.

  1. Run /fmm craftify <model_id> to open the recipe builder UI.
  2. A custom inventory opens with a 3×3 crafting grid and a pre-filled output item.
  3. Place ingredients from your inventory into the grid in whatever pattern you want.
  4. Click the output item (the prop's paper item) to save the recipe.
  5. Particles and a sound confirm the save.
  6. The recipe is saved to plugins/FreeMinecraftModels/recipes/<model_id>.yml and registered immediately.
  7. Players can now craft the prop item in any crafting table.
  8. Press Escape to cancel without saving — ingredients are returned to your inventory.
  9. Running craftify again for the same model overwrites the previous recipe.
  10. Recipes persist across server restarts and reloads.

Saved recipe files include shopEnabled (default true) and shopPrice (default from shop_config.yml) fields that control how the recipe is exposed to /fmm shop.

Permissions

Registered in plugin.yml

PermissionDefaultDescription
freeminecraftmodels.*OPWildcard that grants freeminecraftmodels.admin, freeminecraftmodels.disguise.self, and freeminecraftmodels.disguise.others. The wildcard string is also the literal permission required by /fmm reload, /fmm stats, /fmm spawn, /fmm itemify, /fmm craftify, /fmm mount, /fmm hitbox visualize, /fmm debug bedrock, /fmm location, /fmm setup, /fmm initialize, /fmm downloadall, and /fmm updatecontent
freeminecraftmodels.adminOPAccess to /fmm admin (the admin content browser) and /fmm giveitem
freeminecraftmodels.disguise.selfOPAllows /fmm disguise and /fmm undisguise targeting only the sender
freeminecraftmodels.disguise.othersOPAllows /fmm disguise <model> <player>, /fmm undisguise <player>, and /fmm disguiselist
freeminecraftmodels.menutrueAccess to /fmm craftable items menu (available to all players)
freeminecraftmodels.shoptrueAccess to /fmm shop (available to all players when the shop is enabled)

Enforced by commands

PermissionDefaultDescription
freeminecraftmodels.deleteallOPAccess to /fmm deleteall (checked at runtime, not registered in plugin.yml)
  • initialize, setup, spawn, itemify, mount, giveitem, craftify, hitbox visualize, location, and shop are player-only commands.
  • disguise and undisguise accept a target player and may be run from console as long as a target is supplied.
  • version has no permission restriction and can be run by anyone (players or console).