Textures, models, and language files for the visual trickery that makes Modern Beta possible!
/
├── BasePacks/ # Packs merged into other packs before its own files (also builds itself)
│ ├── <PackName>/
│ │ ├── java/ # Java Edition assets
│ │ ├── bedrock/
│ │ └── build-config.json
├── _OverlayPacks/ # Packs merged into other packs on top of its own files (also builds itself)
│ ├── <PackName>/
│ │ ├── java/
│ │ ├── bedrock/ # Bedrock Edition assets (optional)
│ │ └── build-config.json
├── <PackName>/ # A root pack — built into its own zip/mcpack
│ ├── java/
│ ├── bedrock/
│ └── build-config.json # controls aspects of built pack, including base/overlay, MB credits, etc.
└── out/ # Build output (generated, not committed)
Each pack folder at the root level is discovered automatically. A folder is treated as a pack if it contains a java and/or bedrock subfolder. The same applies to packs inside _BasePacks and _OverlayPacks.
Place a build-config.json at the root of any pack folder to control how it is built. All fields are optional and fall back to the defaults for that location.
| Field | Type | Description |
|---|---|---|
basePacks |
boolean |
Merge files from _BasePacks into this pack before its own files. |
overlayPacks |
boolean |
Merge files from _OverlayPacks into this pack on top of its own files. |
includeCredits |
boolean |
Include CREDITS.txt in the output zip. |
basePacksis not applicable here — base packs cannot include other base packs.
basePacksis not applicable here — overlay packs cannot include base packs.overlayPacksdefaults tofalse— opt in viabuild-config.jsonwhen an overlay needs other overlays applied.
- Base pack files (if
basePacks: true) - The pack's own files (always, overrides base)
- Overlay pack files (if
overlayPacks: true, overrides everything)
pack.mcmeta and pack.png are never copied from overlay packs — each pack keeps its own.
- Install Bun if you don't have it already.
- Open a terminal to the project root.
- On first use, install script dependencies:
bun install --cwd scripts - Run the build script:
bun run ./scripts/build.ts - Output is written to the
out/directory along with achecksums.txt(SHA1 hashes).