MixEngine
Platform-neutral resource-pack mixing pipeline. Given an ordered list of input packs (zip files or already-unzipped directories), produces a single merged zip plus its SHA-1, resolving JSON collisions via MergeOperations.
The engine has no dependency on Bukkit, MagmaCore, or the com.magmaguy.resourcepackmanager module — it is callable from proxy plugins or test harnesses that want the same merge logic without dragging in a server runtime.
The engine deliberately leaves the unzipped merged staging folder (<outputDir>/<outputName>/) on disk after zipping; see mergedDir. Cleanup of per-pack unzipped staging dirs is performed before return.