Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

Pack Index

nahkd123 edited this page Jul 15, 2022 · 2 revisions

For every single Multipacks pack, there is a JSON file that is called "Pack Index". This file itself contains all informations about the pack, such as which files it should export to .zip, which pack should be used as dependency (so you don't have to spend time writing shell scripts just to copy files from other packs) and which game version it should targets.

The pack index is usually named multipacks.json, which is a JSON file that looks something like this:

{
    "id": "hello-world",
    "name": "Hello, World!",
    "author": "nahkd123",
    "description": "We are creating Multipacks pack!",
    "version": "1.0.0",
    "gameVersion": ">=1.19",
    "exports": {
        "assets": "RESOURCES",
        "data": "DATA"
    }
}

Including other packs

From repositories

You can include other packs as dependencies to your pack by adding include field:

{
    "...": "...",
    "include": {
        "dependency-id": "version selector (something like >=1.0.1 or <=5.0.0)",
        "another-dependency": "1.0.0"
    }
}

These dependencies must be present in the selected repositories for Multipacks CLI to bundle. Currently, each user will have a local repository at <home folder>/.multipacks. Packs installed using Multipacks CLI usually added to this folder.

multipacks-cli pack install dependency-pack
ls ~/.multipacks/dependency-pack/v1.0.0

Include locally

You can include other pack relatively using file:<path/to/dependency> instead of version selector:

{
    "id": "neat-pack",
    "...": "...",
    "include": {
        "items": "file:./neat-pack-items",
        "blocks": "file:./neat-pack-blocks"
    }
}

Exports control

exports control how Multipacks will exports all files and expose it to your pack so you can, for example, relocate it using post processing passes.

{
    "...": "...",
    "exports": {
        "assets": "resources",
        "data": "data",
        "pack.png": "*", "//": "Use * to get it included regardless of exporting filters"
    }
}

Post processing

Main page: Post Processing

Multipacks have a power feature: Post processing passes. These passes modify files in your pack into something else, such as splitting sprite atlas into multiple PNGs, or applying multiple PNG overlays on top of an sprite.

{
    "...": "...",
    "postProcess": <Post processing object>
}

Multipacks Wiki super-duper-useful sidebar

New to Multipacks?

Multipacks Basics

Post processing passes

Platforms

Miscellaneous

Clone this wiki locally