Skip to content

Libraries

BubbleFish edited this page Feb 21, 2026 · 6 revisions

Vintage can optionally use Smithed Weld that needs to be manually installed on your system to merge with other packs known as libraries.

File structure

Must be .zip or .json files inside of libs/data_packs and/or libs/resource_packs.

🎯 Example
libs
β”œβ”€β”€ data_packs
β”‚Β Β  β”œβ”€β”€ pack1_DP.json
β”‚Β Β  β”œβ”€β”€ pack2_DP.zip
β”‚Β Β  └── pack3_DP.zip
└── resource_packs
    └── pack1_RP.zip

Manual

Any .zip files inside of a libs/data_packs or libs/resource_packs directories will be merged as-is.

Automatic

Vintage can automatically download and remove libraries based on namespaces used in the code.

Simply create a <namespace>.json file with a download field pointing to the file download URL.

🎯 Example
// libs/data_packs/bs.---.json
{
    "download": "https://github.com/mcbookshelf/bookshelf/releases/download/v3.2.2/%[namespace]-1.21.11-v3.2.2.zip"
}

Note

Namespace can use --- to match any sequence of characters. %[namespace] can then be used to reference the matched namespace in the URL.

Once a library has been added, Vintage will modify this file to list the installed dependencies:

πŸ“¦οΈ Output
{
    "download": "https://github.com/mcbookshelf/bookshelf/releases/download/v3.2.2/%[namespace]-1.21.11-v3.2.2.zip",
    "installed": [
        "bs.id-1.21.11-v3.2.2.zip",
        "bs.math-1.21.11-v3.2.2.zip"
    ]
}

If a namespace is no longer referenced, Vintage will append .disabled to the file name to prevent it from being merged into the output.

Note

--delete-unused-libs can be used to delete the files instead.

πŸ“€ Getting Started

πŸ“šοΈ Features

🎁 Tutorials

🎲 Extras

Clone this wiki locally