-
Notifications
You must be signed in to change notification settings - Fork 0
Pakku Command Reference
This page covers the Pakku commands used in Lavendre's development workflow, plus two rules specific to this project: how mods get added, and what happens to files that aren't tracked by Pakku.
| Category | Command | Description |
|---|---|---|
| Project operations | pakku add |
Add new projects with automatic dependency resolution |
pakku rm |
Remove projects safely with dependency checking | |
pakku update |
Update projects individually or in bulk | |
pakku ls |
List projects | |
pakku insp |
Inspect project details | |
pakku diff |
Compare different versions of your modpack | |
| Development environment | pakku init |
Create a new modpack |
pakku import |
Import existing modpacks | |
pakku fetch |
Set up or update your development environment | |
pakku sync |
Sync your local project files with your modpack | |
| Modpack distribution | pakku export |
Create distribution-ready packages |
pakku remote |
Install a modpack from a Git URL (great for server owners) |
For the full command reference, see the official Pakku documentation.
Important
In Lavendre, only Modrinth pulls are allowed through pakku add.
This isn't an arbitrary rule, it comes down to how CurseForge's official API works.
CurseForge's official API includes a per-project distribution toggle that mod authors control. When an author disables third-party distribution on their project, the mod becomes unavailable to third-party tools through the API entirely, including Pakku, other modpack managers, and server auto-installers. This isn't a Pakku limitation; it's a restriction CurseForge enforces at the platform level to give authors control over how their work gets distributed and to protect their Author Rewards Points earnings.
In practice, this means:
- Some CurseForge mods can still be fetched automatically via
pakku add. - Many others cannot, and will fail or be skipped during
pakku fetch. - Whether a given mod is fetchable depends entirely on that author's toggle, not on anything Pakku or Lavendre controls.
- Default to Modrinth. If a mod exists on both platforms, add it from Modrinth.
- If a mod is CurseForge-only, check whether it can still be fetched via the API. If it can't, see the next section.
If a mod only exists on CurseForge and its distribution toggle blocks API access, it cannot be added with pakku add. Instead, it has to be manually bundled into the modpack.
Important
Before bundling any CurseForge-only mod, check the mod's license. It must explicitly allow redistribution. If the author's license doesn't allow redistribution (or says nothing about it), the mod cannot be bundled, no exceptions.
If redistribution is allowed:
- Download the mod file directly from its CurseForge page.
- Place it in the correct
.pakkuoverrides folder, following the same client/server/shared logic covered in Directory Structure:- Client-only mod →
.pakku/client-overrides/mods/ - Shared between client and server →
.pakku/overrides/mods/ - Server-only mod →
.pakku/server-overrides/mods/
- Client-only mod →
- Note the mod's source and license permission in your commit message or PR description, so it's traceable later.
This keeps the mod working in the modpack without relying on API access Pakku doesn't have permission to use.
Important
Running pakku fetch will automatically delete, without warning, any resource packs, shaders, or mods present in your instance that were not added through Pakku.
This includes files you might assume are safe because they're "required," such as the Mizuno's 16 Craft JE and Mizuno's 16 Craft JE CIT resource packs referenced in Building From Source. If those packs weren't added as a tracked Pakku project, a plain pakku fetch will wipe them out on the next run.
If you have resource packs, shaders, or mods in your instance that aren't tracked by Pakku, run:
pakku fetch shelfInstead of deleting untracked files, this moves them into .pakku/shelf, where they're preserved rather than wiped. You can then copy them back into your instance's resourcepacks, shaderpacks, or mods folder as needed.
When to use pakku fetch shelf:
- You've manually installed a resource pack or shader that isn't part of the modpack definition.
- You're testing a CurseForge-only mod locally before deciding whether to bundle it.
- You're unsure whether everything in your instance is currently tracked by Pakku, and want to be safe before fetching.
When in doubt, shelf it first. A plain pakku fetch gives you no second chance to recover deleted files.
Lavendre is licensed under the terms in LICENSE.md. For issues or contributions, visit the repository.
Tip
Welcome to Lavendre Wiki! Please use this sidebar to navigate.