Resource Pack Compiler
Documentation baseline: VoxelCore
mainat452b569· 14 September 2026.
Repository: https://github.com/VoxelHorizons/VoxelCore
voxelcore-pack compiles authored assets plus the active render-allocation authority into deterministic Java resource-pack ZIP files.
Exact pack targets
| Target | Mode | Pack metadata format |
|---|---|---|
mc-1.12.2 |
legacy durability/damage predicate | 3 |
mc-1.13.2 |
legacy durability/damage predicate | 4 |
mc-1.14.4 |
numeric Custom Model Data | 4 |
mc-1.19.4 |
numeric Custom Model Data | 13 |
mc-1.20.5 |
numeric Custom Model Data | 32 |
mc-1.21.4 |
modern item-model / structured CMD | 46 |
mc-26.2 |
modern item-model / structured CMD | 88.0 |
The 26.2 target uses modern pack.mcmeta range metadata (min_format and max_format) rather than the legacy pack_format shape used by older targets.
Build output
Runtime pack builds are written to:
plugins/VoxelCore/build/resource-packs/<target>.zip
Use:
/voxelcore admin pack validate [target] /voxelcore admin pack build [target]
If the target is omitted, VoxelCore only auto-selects when the current server version has an exact registered pack target. Otherwise the command asks for an explicit target.
Determinism
The compiler writes sorted entries with fixed ZIP metadata so identical authoring + allocation state produces identical archive bytes. This improves reproducibility and makes generated differences meaningful.
Shared allocation authority
Runtime item creation and pack compilation both use render-allocations.yml. Numeric CMD values and structured semantic-key indices therefore cannot independently drift between server-side stacks and the generated pack.
Asset validation
Compiler validation checks model ownership/dependencies and required authored model assets. Generated Minecraft glue is written to build output; it is not expected to be manually authored inside a content pack.