FreeMinecraftModels is a free, open-source Bukkit/Paper model engine and a drop-in alternative to ModelEngine. It turns Blockbench models into a server resource pack, spawns them in-game using display entities (with an armor-stand fallback for older versions/Bedrock), and animates them -- all without client-side mods.
- Blockbench import -- Reads
.bbmodelfiles directly, or the optimized.fmmodelformat - Resource pack generation -- Automatically builds and zips a server resource pack from imported models
- Three entity types -- Static (temporary decorations), Dynamic (living-entity disguises/wrappers), and Props (persistent placed world models)
- Player disguises -- Disguise yourself or other players as a model
- Custom items -- Models with a
material:field become placeable/holdable items, with optional Lua scripting - Lua scripting -- Script props and custom items via the MagmaCore scripting engine
- Menus -- Player-facing craftable-items browser and an admin content/model browser
- Crafting recipes -- Interactive in-game recipe builder for model props
- Mount points --
mount_-prefixed bones become rideable seat positions; spawn a rideable model horse with one command - Display models -- Place a Blockbench Java Block/Item
.jsonexport beside a model for 3D item rendering (1.21.4+), including bow/crossbow draw states - Oriented hitboxes -- Hitboxes rotate with the model instead of using vanilla axis-aligned boxes
- Furniture shop -- Optional Vault-backed shop for selling props/furniture
- Region awareness -- Optional WorldGuard / GriefPrevention checks before placing props
- API -- Usable as a dependency by other plugins (EliteMobs, BetterStructures, etc.); fires an
FmmReloadedEventso consumers can re-attach models after a reload
- Java 21
- A Spigot/Paper server on Minecraft 1.21.4+ (
api-version: 1.21.4) - MagmaCore -- shaded into the plugin jar, no separate install needed
Optional soft dependencies (auto-detected at runtime): WorldGuard, WorldEdit, GriefPrevention, Vault (for the furniture shop's economy), and ResourcePackManager (FMM tells it to reload so it can distribute the generated pack automatically).
- Drop
FreeMinecraftModels.jarinto your server'splugins/folder and start the server once to generate the data folder. - Place your
.bbmodel(or.fmmodel) files inplugins/FreeMinecraftModels/models/, then run/fmm reload. - Distribute the generated resource pack from
plugins/FreeMinecraftModels/output/FreeMinecraftModels.zip, or install Resource Pack Manager to host and serve it automatically. - Spawn models in-game, e.g.
/fmm spawn static <id>,/fmm spawn dynamic <id>, or/fmm spawn prop <id>.
The data folder also exposes /fmm setup, /fmm initialize, and /fmm downloadall for browsing and installing Nightbreak-managed model packs.
All commands are under /freeminecraftmodels (alias /fmm).
| Command | Description |
|---|---|
/fmm |
Opens the craftable-items menu; prints info to console |
/fmm reload |
Reloads the plugin and re-imports models |
/fmm spawn <static|dynamic|prop> <model> |
Spawns a model as a static decoration, dynamic entity, or placed prop |
/fmm disguise <model> [player] |
Disguises you (or a target player) as a model |
/fmm undisguise [player] |
Removes a disguise |
/fmm disguiselist |
Lists currently disguised players |
/fmm mount <model> |
Spawns a rideable model horse |
/fmm itemify <model> <material> |
Gives a placement item for a model, using the chosen material |
/fmm giveitem <item> |
Gives a defined custom FMM item |
/fmm craftify <model> |
Opens an interactive recipe builder for a model prop |
/fmm admin |
Opens the admin content browser |
/fmm stats |
Shows loaded-model and dynamic-entity counts |
/fmm version |
Shows the plugin version |
/fmm setup / /fmm initialize / /fmm downloadall |
Browse / install Nightbreak-managed content |
Debug commands also exist (hitboxdebug, locationdebug, bedrockdebug, deleteall).
| Permission | Default | Grants |
|---|---|---|
freeminecraftmodels.* |
op | All commands (includes the children below) |
freeminecraftmodels.admin |
op | Admin content browser and admin commands |
freeminecraftmodels.disguise.self |
op | Disguise/undisguise yourself |
freeminecraftmodels.disguise.others |
op | Disguise/undisguise other players, plus disguiselist |
freeminecraftmodels.bypassregionprotection |
op | Place props inside WorldGuard regions / GriefPrevention claims |
freeminecraftmodels.menu |
true | Open the craftable-items menu |
freeminecraftmodels.shop |
true | Open the furniture shop |
- Export your model from Blockbench as a
.bbmodel(or use a prebuilt.fmmodel). - Drop the file into
plugins/FreeMinecraftModels/models/(subfolders are scanned recursively). You may also place sibling.yml/.json/.pngfiles next to a model -- e.g. a Blockbench Java Block/Item.jsonexport for a 3D display item. - Run
/fmm reload. FMM converts the model, regeneratesoutput/FreeMinecraftModels/, and rezips it tooutput/FreeMinecraftModels.zip. - Make sure players receive the generated resource pack (manually or via ResourcePackManager), then spawn/disguise/mount using the commands above. The model ID is the file name without its extension.
Special bones/conventions: bones named hitbox and tag_name are treated as collision/nametag anchors; mount_-prefixed bones become rideable seats.
FreeMinecraftModels is a Maven project (Java 21). MagmaCore and a few other libraries are shaded in at the package phase.
mvn clean packageThe built plugin jar is written to target/FreeMinecraftModels.jar.
FreeMinecraftModels can be used as a dependency in other plugins. Do not shade FMM into your plugin -- it must be installed on the server as a standalone plugin.
<repository>
<id>magmaguy-repo-releases</id>
<url>https://repo.magmaguy.com/releases</url>
</repository>
<dependency>
<groupId>com.magmaguy</groupId>
<artifactId>FreeMinecraftModels</artifactId>
<version>2.7.0</version>
<scope>provided</scope>
</dependency>- FreeMinecraftModels on Nightbreak
- Resource Pack Manager (Spigot)
- Patreon -- support development
- Discord
The plugin source code is distributed under the GPLv3 license.
Exported resource-pack contents are licensed under CC0 (no rights reserved) -- free to use, distribute, and modify for any purpose without restriction or attribution.