📦 Packages (.cmk)
One file. Your entire setup. Share it with friends, back it up, or install someone else's cool creation.
New in v4.0 — Packages live in
config/CommandMaker/packages/
What's a .cmk File?
It's just a ZIP file with a fancy extension. Inside is everything that makes your Command Maker setup work:
- All your aliases (from
aliases.json) - Your custom syntax patterns
- Event triggers, scoreboards, cooldowns
- Your
.mcfunctionfiles - Even permissions if you want
Think of it like a modpack, but for Command Maker content. Or a playlist. Or a recipe book. Whatever analogy works for you.
The Two Commands You Actually Need
| Command | Does |
|---|---|
/cmd package MySetup | Export everything. Packs your entire config + functions into MySetup.cmk |
/cmd import MySetup | Install it. Safely merges into your existing config — nothing gets overwritten |
/cmd import MySetup --overwrite | Same thing, but replaces anything that conflicts |
What's Inside the ZIP
MySetup.cmk ← just a ZIP, rename to .zip to peek inside
├── module.json ← who made it, what version, what it does
├── aliases.json ← all the aliases
├── syntax.json ← syntax patterns
├── events.json ← event triggers
├── scoreboards.json ← custom scoreboards
├── cooldowns.json ← cooldown configs
├── variables.json ← preset variables
├── permissions.json ← permission grants (if any)
└── functions/
├── my_cool_function.mcfunction
└── another_one.mcfunction
Importing Is Safe (Promise)
When you import a package, the mod is careful about it:
- New aliases get added. Existing ones? Left alone.
- Syntaxes, events, scoreboards — merged in. Nothing overwritten unless you say so.
- Functions get extracted to your Functions folder.
- If anything would conflict, it tells you instead of silently breaking stuff.
Use --overwrite if you actually want to replace existing stuff.
Sharing Your Setup
- Get everything dialed in — aliases, events, scoreboards, the works.
- Run
/cmd package MyCoolSetup - Find
MyCoolSetup.cmkinconfig/CommandMaker/packages/ - Send it to a friend. Post it online. Back it up.
- They drop it in their
packages/folder and run/cmd import MyCoolSetup - Done. 🎉
Other Handy Commands
| Command | Does |
|---|---|
/cmd module list | See what .cmk files you've got |
/cmd module info <name> | Preview a package without installing it |
/cmd module export <name> | Export config only (skip functions) |
The module.json Metadata
Every package has a little info card at the top level:
{
"name": "MyCoolSetup",
"version": "1.0",
"author": "Steve",
"description": "TPA system, welcome messages, and a scoreboard. Boom.",
"cmVersion": "4.0.0"
}
🔮 On the horizon: We're building a web-based GUI editor where you can drag and drop items into slots, design in-game menus, and export it all as a
.cmk file. No coding. Pure visual design. Stay tuned.
Note: Packages don't include player-specific data (like custom variables set with
/cmd setvar). They package configuration, not runtime state.