Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
Cpack
A Fabric mod for Minecraft 1.21.11+ that lets you run .cpack and .mcfunction files as scripted command sequences — with wait, call, and full tab-completion support.
Made by Westires
What is Cpack?
Cpack works just like .mcfunction files, but stored per-world and with extra arguments (wait, call). You write plain command scripts, load them into your world, and run them with /cp run. All files are pre-parsed on world load — zero overhead at runtime.
File Location
Scripts are stored inside your world folder, not the global config:
saves/<WorldName>/cpack/<namespace>/<your_script>.cpack
saves/<WorldName>/cpack/<namespace>/subfolder/<your_script>.mcfunction
<namespace>is any folder name you choose (e.g.myproject,demo)- Subfolders are supported at any depth
- Both
.cpackand.mcfunctionextensions are supported
Script Format
Identical to .mcfunction — one command per line. Comment lines starting with # are ignored.
# This is a comment
say Hello!
particle minecraft:end_rod ~ ~ ~ 0.5 0.5 0.5 0.1 20 normal
wait 10 tick
say 10 ticks later!
wait 2 second
call myproject:effects/firework.cpack
Extra Arguments
| Argument | Example | Description |
|---|---|---|
wait <n> tick |
wait 5 tick |
Waits n ticks before executing the next line |
wait <n> second |
wait 2 second |
Waits n seconds (n × 20 ticks) before the next line |
call <namespace:path> |
call demo:intro.cpack |
Runs another cpack/mcfunction file inline |
Note:
waitsuspends only the current script — the server keeps running normally. Multiple scripts can run in parallel.
Commands
All commands require operator level 2 (gamemaster) except /cp list.
| Command | Description |
|---|---|
/cp |
Shows the command list |
/cp run <namespace:file> |
Runs a cpack/mcfunction file |
/cp stop <all|namespace:file> |
Stops a running script (or all scripts) immediately |
/cp list [page] |
Lists all loaded files with their status |
/cp disable <namespace:file> |
Disables a file (prevents it from running) |
/cp enable <namespace:file> |
Re-enables a disabled file |
/cp reload <all|namespace:file> |
Reloads files from disk and re-parses them |
All arguments support tab completion — loaded file names appear automatically.
Using inside /execute
/execute positioned ~ ~1 ~ run cp run demo:frames/frame_000.cpack
Example
File: saves/MyWorld/cpack/demo/fireworks.cpack
# Launch 3 firework bursts with delays
particle minecraft:firework_rocket ~ ~1 ~ 0.5 0.5 0.5 0.05 30 normal
wait 10 tick
particle minecraft:firework_rocket ~ ~1 ~ 0.5 0.5 0.5 0.05 30 normal
wait 10 tick
particle minecraft:firework_rocket ~ ~1 ~ 0.5 0.5 0.5 0.05 30 normal
say Fireworks done!
Run it:
/cp run demo:fireworks.cpack
Performance
- All files are pre-parsed on world load using Brigadier's parser — just like vanilla
.mcfunction - At runtime, only
dispatcher.execute()is called — no re-parsing - Command feedback (chat messages from commands like
particle) is suppressed by default, matching mcfunction behavior - Multiple scripts run in parallel with no artificial limits
Requirements
- Minecraft 1.21.11
- Fabric Loader 0.18.1+
- Fabric API 0.141.2+1.21.11
Installation
- Install Fabric
- Download Fabric API for 1.21.11
- Drop
cpack-1.0.0.jarinto your.minecraft/mods/folder - Launch the game and open a world
- Create scripts in
saves/<WorldName>/cpack/<namespace>/
License
MIT — do whatever you want with it.


