Skip to content
LlaGuiTo edited this page Sep 28, 2026 · 2 revisions

Vellumli documentation

Vellumli is a data-driven, dependency-free in-game documentation book system for Minecraft. Modders and modpack makers build guidebooks entirely with JSON: books, categories, entries, pages and reusable templates. No Java is required for a basic book.

Vellumli is a fork of Patchouli by Vazkii and williewillus. This documentation describes the behavior of the code in this repository.

Versions

Minecraft Loader Vellumli Branch
26.2 NeoForge 26.2.0.57 1.2.0 minecraft/26.2/neoforge-26.2.0.57/main
1.21.1 NeoForge 21.1.249 1.0.0 minecraft/1.21.1/neoforge-21.1.249/main

Book JSON, page types, text formatting, templates and configuration are the same in every version; only the Java API differs, see API.

Requirements

Component Version
Minecraft 1.21.1, 26.2
NeoForge 21.1.249+, 26.2.0.57+
Java 21+ (1.21.1), 25+ (26.2)
Vellumli 1.0.0 (1.21.1), 1.2.0 (26.2)
Required dependencies None (dependency-free by design)
JEI Optional (searchable-book compatibility only)

Pages

Page What it covers
Getting started Your first book, step by step: folder layout, minimal JSON, getting the item, reloading.
book.json Every field of the book manifest.
Categories and entries Category and entry JSON fields, sorting, locking, advancements and secret entries.
Page types Every registered page type id, its fields and an example.
Text formatting All $(...) codes, colors, links, macros and list markup.
Templates Custom templates, template components, variables and processors.
API The Java API for mod developers: VellumliAPI, processors, custom components and events.
Configuration Every config option and built-in config flag.
Migrating from Patchouli Converting an existing Patchouli book to Vellumli.

Where the data lives

Vellumli reads from two places. The book manifest lives in the data pack, and everything else (categories, entries, templates) lives in the assets pack so resource packs can translate or override it:

# required: the book manifest (a datapack path)
data/<namespace>/vellumli_books/<book>/book.json

# content (a resourcepack path, one folder per language with an en_us fallback)
assets/<namespace>/vellumli_books/<book>/en_us/categories/<id>.json
assets/<namespace>/vellumli_books/<book>/en_us/entries/<id>.json
assets/<namespace>/vellumli_books/<book>/en_us/templates/<id>.json

The <namespace> of the book id is the mod id that ships the manifest. For external books (loose books placed directly in .minecraft/vellumli_books/) the contents live next to the manifest instead, under an en_us folder.

Clone this wiki locally