-
Notifications
You must be signed in to change notification settings - Fork 0
Migrating from Patchouli
Applies to all versions (1.21.1 and 26.2).
Vellumli is a re-fork of Patchouli with every "patchouli" identifier renamed to "vellumli". The data format is otherwise the same, so migrating a book is mostly a set of mechanical renames. This page lists every rename that can be confirmed from the source code.
| Patchouli | Vellumli |
|---|---|
Folder patchouli_books
|
Folder vellumli_books
|
Type ids patchouli:text, patchouli:crafting, … |
vellumli:text, vellumli:crafting, … |
Template component ids patchouli:text, patchouli:item, … |
vellumli:text, vellumli:item, … |
Resource namespace patchouli: (textures, sounds, book ids…) |
vellumli: |
Item patchouli:guide_book
|
vellumli:guide_book |
Data component patchouli:book
|
vellumli:book |
Sound ids patchouli:book_open, patchouli:book_flip
|
vellumli:book_open, vellumli:book_flip
|
Config translation keys patchouli.configuration.*
|
vellumli.configuration.* |
GUI translation keys patchouli.gui.*
|
vellumli.gui.* |
Because page and component ids fall back to the vellumli namespace when no namespace is given, a bare "type": "text" keeps working unchanged after the rename.
A book's own namespace is your mod id, not patchouli, so content paths such as assets/<yourmod>/vellumli_books/<book>/… only change in the patchouli_books folder name. The book.json still lives on the data side and the categories/entries/templates on the assets side.
- The guide book item is now
vellumli:guide_book. - The command is
/open-vellumli-book(the old name was/open-patchouli-book), with the same[entry] [page]arguments. - The book open/flip sounds are
vellumli:book_openandvellumli:book_flip.
| Patchouli | Vellumli |
|---|---|
Package vazkii.patchouli.api
|
com.skd.vellumli.api |
PatchouliAPI |
VellumliAPI |
PatchouliAPI.IPatchouliAPI |
VellumliAPI.IVellumliAPI |
PatchouliConfig / IPatchouliConfigAccess
|
VellumliConfig / VellumliConfigAccess
|
PatchouliSounds, PatchouliItems, PatchouliCriteriaTriggers, PatchouliDataComponents, PatchouliJeiPlugin
|
VellumliSounds, VellumliItems, VellumliCriteriaTriggers, VellumliDataComponents, VellumliJeiPlugin
|
JEI package vazkii.patchouli.client.jei
|
com.skd.vellumli.compat.jei |
The interfaces IComponentProcessor, ICustomComponent, IVariable, IVariableProvider, IComponentRenderContext and the two events BookContentsReloadEvent / BookDrawScreenEvent keep their names; only their package changes. On 1.21.1 the API uses ResourceLocation (not the newer Identifier).
// Before
PatchouliAPI.get().openBookEntry(player, bookId, entryId, page);
// After
VellumliAPI.get().openBookEntry(player, bookId, entryId, page);The $(...) command syntax, color codes, links, tooltips and macros are unchanged from Patchouli. See Text formatting. The in-game editor's info text still points at the upstream Patchouli wiki for control codes; use the local page instead.
-
Multiblocks: the
vellumli:multiblockpage type and the in-world multiblock preview system are not ported. The multiblock API methods exist but are stubs that returnnullor do nothing. -
Advancements tab: the book's advancements-tab button and its screen are not ported, so
advancements_tabin book.json has no visible effect yet. - No bundled demo book: Vellumli ships no example book. The pages here replace it.
These were removed in Patchouli before this fork and remain errors in Vellumli:
-
extend— declare content through a resource pack instead. -
use_resource_pack: falseon a non-external book — must betrue.
Vellumli is a fork of Patchouli by Vazkii and williewillus. This documentation is licensed under CC BY-NC-SA 3.0. Not affiliated with or endorsed by the Patchouli authors.