SMCModelEngine
Let Bedrock players see your ModelEngine custom mobs.
If you use ModelEngine to add custom mob models to your server, Bedrock players connecting through Geyser can't see them — they just see the vanilla mob underneath.
SMCModelEngine is a Geyser extension made by SayMC that bridges ModelEngine and Geyser. It reads your .bbmodel blueprints and converts them so Bedrock players see the same custom mobs as Java players.
It runs as a Geyser extension alongside a small set of companion plugins and extensions — no extra tools needed.
Requirements
Setup differs depending on whether Geyser is running on your Paper server directly, or on a Velocity proxy. Follow the column that matches your setup.
Standalone — Geyser-Spigot
- ModelEngine
- GeyserModelEngine
- GeyserUtils (Spigot)
- Geyser-Spigot
- Floodgate
- smc_modelengine
- geyserutils-geyser
- GeyserDisplayEntity
- GeyserDisplayEntity.mcpack
Proxy — Velocity
- ModelEngine
- GeyserModelEngine
- GeyserUtils (Spigot)
- Floodgate
- Geyser-Velocity
- GeyserUtils (Velocity)
- Floodgate
- smc_modelengine
- geyserutils-geyser
- GeyserDisplayEntity
- GeyserDisplayEntity.mcpack
extensions folder. Packs go in the Geyser packs folder. These are inside the Geyser plugin data folder — not the server root.
Commands
SMCModelEngine provides a small set of commands to run conversions and get help.
/smc_modelengine help
Shows all available SMCModelEngine commands in chat.
/smc_modelengine convert
Starts the ModelEngine conversion. Reads your blueprints and converts them so Bedrock players can see your custom mob models.
Configuration
SMCModelEngine is configured via its own config file in the Geyser extensions folder.
The two key options are enabled and blueprints_path.
enabled
Enables or disables the extension.
true— extension is activefalse— extension is disabled
blueprints_path
Path to your ModelEngine blueprints folder. On a standalone server this can be a relative path. On a proxy setup, this must be an absolute path pointing to the blueprints folder on your backend Paper server, since Geyser runs on the proxy and can't resolve relative paths to the backend.
Standalone (Geyser-Spigot)
{
"enabled": true,
"blueprints_path": "plugins/ModelEngine/blueprints"
}
Proxy (Velocity)
{
"enabled": true,
"blueprints_path": "/path/to/paper/plugins/ModelEngine/blueprints"
}
blueprints_path — even on standalone setups. It avoids any ambiguity about where the extension looks for your blueprints.
Tips & Best Practices
- Use a full absolute path. Even on a standalone server, pointing
blueprints_pathto the full path is safer and avoids issues if the working directory ever changes. - Run the conversion after any model changes. If you add or update blueprints in ModelEngine, re-run
/smc_modelengine convertto keep the Bedrock output in sync. - Fully restart after setup changes. If you add or move extensions or packs, do a full server/proxy restart — a reload is not always enough for Geyser to pick up new extensions.
- On a proxy, the absolute path must point to the backend Paper server. Geyser runs on the proxy, so a relative path will look in the wrong place. Always use the full path to the backend's
plugins/ModelEngine/blueprintsfolder. - Make sure Floodgate is installed. Both the backend and proxy need Floodgate for Bedrock player authentication to work correctly.
FAQ
GeyserDisplayEntity.mcpackisn't in the Geyserpacksfolder.- One or more extensions are missing from the Geyser
extensionsfolder. blueprints_pathis pointing to the wrong location.- The conversion hasn't been run yet — run
/smc_modelengine convert. - The server wasn't fully restarted after setup.
/home/container/paper/plugins/ModelEngine/blueprints.
A relative path won't work on a proxy because the extension runs inside Geyser on the proxy, not on Paper.
extensions folder inside your Geyser data folder (e.g. plugins/Geyser-Spigot/extensions/ or plugins/Geyser-Velocity/extensions/).
Packs go in the packs folder in the same Geyser data folder.
On a proxy setup, both go on the proxy — not on the backend Paper server.
Support
Join the Discord for support and development builds.