DAI 4.1 · LEVEL 0 · CHAPTER 7

Packaging & Installation

Package datapacks/resource packs correctly, install them in the right location, preserve stable identity, and avoid nested-ZIP releases.

No coding experience requiredCopyable examplesDAI 4.1

Packaging is mostly about the ZIP root.

Before distribution, open the ZIP itself. Do not trust the filename. The first level should immediately contain the pack metadata and its data/ or assets/ folder.

Datapack ZIP

Correct

MyGame_Datapack_v1.0.0.zip
├─ pack.mcmeta
└─ data/
   └─ my_game/

Wrong

MyGame_Datapack_v1.0.0.zip
└─ MyGame_Datapack_v1.0.0/
   ├─ pack.mcmeta
   └─ data/

Resource-pack ZIP

MyGame_ResourcePack_v1.0.0.zip
├─ pack.mcmeta
└─ assets/
   └─ my_game/

A complete DAI game commonly ships a datapack ZIP and a separate companion resource-pack ZIP. The two artifacts can be presented as one combo in DAI's official pack system without physically nesting one inside the other.

Where packs go

ArtifactLocationMeaning
DAI global datapack library<gameDir>/datapacks/DAI MAIN/ADDON installation/update source.
Normal world-local datapack<gameDir>/saves/<world>/datapacks/Standard Minecraft world datapack location.
Resource pack<gameDir>/resourcepacks/Client presentation packs.

Stable identity vs filename

The downloadable filename can change each release. The logical identity should not.

File: MyGame_v1.0.0.zip  → dai.pack_id: "my_game"
File: MyGame_v1.1.0.zip  → dai.pack_id: "my_game"

Same project identity; newer version.

Advance dai.version; keep dai.pack_id stable.

MAIN vs ADDON packaging

Declare the intended role in pack.mcmeta for new DAI projects:

MAIN example
"dai": {
  "role": "main",
  "pack_id": "my_game",
  "version": "1.0.0"
}
ADDON example
"dai": {
  "role": "addon",
  "pack_id": "my_addon",
  "version": "1.0.0"
}

Companion resource packs

For an auto-enabled companion, keep its stable companion identity even when the ZIP filename changes:

"dai": {
  "auto_enable": true,
  "companion_id": "my_game"
}

Release checklist

  • Open the final ZIP and confirm the root is correct.
  • No editor backups, source PSDs, temporary logs, test exports or duplicate old files are included unless intentionally distributed.
  • Fresh install works.
  • /reload / save-reload path works where applicable.
  • Previous-version save migration works when the project has already shipped.
  • Two-player test passes for multiplayer-capable systems.
  • Optional resource pack can be disabled without breaking gameplay if it is advertised as optional.
  • Changelog describes player-visible behavior and whether a fresh world is required.
  • Official-pack registry entry is published only after every referenced download is actually public.

Drag-and-drop packaging rule

If you are distributing a site/repository patch instead of a Minecraft pack, mirror the repository root inside the ZIP. A patch containing dai/guides/... should be dropped at the site's repository root so those paths merge in place. Do not wrap it in another deployment folder.

Checkpoint

You are ready when you can inspect a ZIP without extracting it and immediately tell whether Minecraft/DAI will see the correct root files.

Continue into DAI 4.1

How-To Guide Index · Complete 4.1 Capabilities