Signed-off-by: NotAShelf <raf@notashelf.dev> Change-Id: I31709798494a3180074f3a0ff81141766a6a6964
53 lines
1.9 KiB
Markdown
53 lines
1.9 KiB
Markdown
# Pakker
|
|
|
|
Fast, reliable multiplatform modpack manager for Minecraft, written in Rust.
|
|
Pakker manages Minecraft modpacks across CurseForge, Modrinth, and GitHub. It
|
|
handles project resolution, dependency linking, lockfile updates, exports, and
|
|
remote modpack workflows from a single CLI.
|
|
|
|
## Core Features
|
|
|
|
- Create and import modpacks
|
|
- Add, remove, update, and inspect projects
|
|
- Resolve dependencies across supported platforms with automatic cross-platform
|
|
project merging
|
|
- Manage pack configuration and per-project overrides
|
|
- Export CurseForge, Modrinth, and serverpack layouts
|
|
|
|
### New in Pakker
|
|
|
|
- Work with forked packs and remote repositories
|
|
- Interactively set, configure, and test API credentials
|
|
|
|
## Quick Start
|
|
|
|
1. Run `pakker init` to create a new modpack.
|
|
2. Use `pakker add` or `pakker add-prj` to add projects.
|
|
3. Run `pakker export` when you want distributable output.
|
|
|
|
## How It Works
|
|
|
|
Pakker maintains two files in your modpack directory:
|
|
|
|
- `pakker.json`: pack metadata, paths, overrides, and per-project settings
|
|
- `pakku-lock.json`: resolved project state with platform IDs, file URLs, and
|
|
dependency links
|
|
|
|
When you add a project, Pakker queries the supported platforms, merges results
|
|
into a single project record with cross-platform identifiers, resolves
|
|
dependencies recursively, and updates the lockfile. The resolver detects
|
|
circular dependencies and links related projects via `pakku_links`.
|
|
|
|
## Acknowledgments
|
|
|
|
[Pakku]: https://github.com/juraj-hrivnak/Pakku
|
|
|
|
Pakker is _greatly_ inspired by [Pakku], and commits to bringing similar
|
|
functionality with improved performance and additional features through a Rust
|
|
implementation. Pakku is by no means a bad project, but I found it difficult to
|
|
work with the Kotlin code.
|
|
|
|
[teksturepako]: https://github.com/juraj-hrivnak
|
|
|
|
Many thanks to [teksturepako] for Pakku, as well as his infinite patience, code
|
|
reviews and suggestions to bring Pakker to its current state.
|