LOOM Engine
LOOM is the proof-carrying merge engine behind the Minecraft Resource Pack Merger. It combines many Minecraft Java Edition resource packs into a single clean, optimized pack — entirely in the browser, with nothing ever uploaded to a server.
Naïve merge vs LOOM
The pipeline
Where a naive merger simply overwrites files by priority, LOOM emulates how Minecraft's own resource-pack stack resolves each file and merges only when it can prove the result is equivalent. It understands the structure of a pack — 3D models, blockstates, OptiFine/CIT/CEM references and PBR normal/specular maps, languages and fonts — and can port a pack's pack_format and legacy files across Minecraft versions from 1.6.1 to 1.21.5.
- 01IngestUnzip & hash packs→
- 02AnalyzeDetect every conflict→
- 03Stack OracleProve equivalence→
- 04MergeResolve & combine→
- 05OptimizeLossless slimming→
- 06PackageFast custom .zip
◆ The Stack Oracle is what makes the merge proof-carrying.
Off the main thread
The engine runs off the main thread in a Web Worker, holding pack bytes in a vault so the interface only ever touches byte-free projections — even large multi-pack merges stay responsive. Conflict resolution, lossless optimization and a fast custom .zip packager all run locally; there is no install and no account.
Holds only byte-free projections (PackSummary). Stays responsive — it never touches raw pack bytes.
A PackVault keeps the real bytes here. Analyze, Stack Oracle, merge, optimize and the .zip packager all run off-thread.
What it does
Proof-carrying merges, verified against Minecraft’s own resource-pack stacking
3D-model, OptiFine/CIT/CEM and PBR (normal/specular) aware
Version porting across Minecraft Java 1.6.1–1.21.5 (pack_format 1–46)
100% local — resource packs never leave your browser
Off-thread engine architecture for responsive, large multi-pack merges
Free, no account, nothing uploaded. Drop your packs and build a single merged, optimized resource pack.



