packwiz
Manage Minecraft modpacks
TLDR
Interactively create a new modpack in the current directory
Add a mod from Modrinth or Curseforge
List all mods in the modpack
Update index.toml after manually editing files
Export as a Modrinth (.mrpack) or Curseforge (Zip) file
SYNOPSIS
packwiz <command> [<arguments>...] [<options>...]
PARAMETERS
init
Initializes a new packwiz modpack in the current directory, setting up the basic configuration files.
refresh
Updates all mods in the modpack based on their .pw-mod definitions, downloading or updating files as needed.
add <mod-id>
Adds a new mod to the modpack, creating a .pw-mod file for it. Supports various platforms (CurseForge, Modrinth).
remove <mod-id>
Removes a mod from the modpack and its associated .pw-mod file.
update [<mod-id>]
Updates a specific mod or all mods to their latest compatible versions, as specified by their .pw-mod files.
generate
Generates a distributable modpack archive (e.g., .mrpack or .zip) for release and distribution.
serve
Starts a local HTTP server to serve the modpack for clients using the packwiz launcher or similar tools.
curseforge / modrinth
Platform-specific subcommands for operations like importing existing modpacks or managing project data from CurseForge or Modrinth.
DESCRIPTION
packwiz is a command-line utility designed for managing Minecraft modpacks in a declarative and Git-friendly manner. It allows modpack developers to specify their mod lists and configurations using small, human-readable files (e.g., .pw-mod) instead of directly including large mod binaries in version control. This approach facilitates easy collaboration, versioning, and distribution of modpacks. packwiz automates the process of downloading, updating, and generating distributable modpack archives (like .mrpack files) from platforms such as CurseForge and Modrinth, ensuring reproducible builds and streamlined development workflows. It's a powerful tool for both individual modpack creators and large development teams.
CAVEATS
packwiz primarily manages modpack definitions; a separate Minecraft launcher (e.g., MultiMC, Prism Launcher, or the packwiz launcher) is required to actually run the generated modpack. An active internet connection is necessary for downloading mods and updates. Familiarity with Git is beneficial for leveraging its version control capabilities for modpack development.
DECLARATIVE MODPACK DEFINITION
Unlike tools that directly store mod binaries, packwiz uses small .pw-mod files containing metadata (like mod ID, file ID, download URL, checksum) to define each mod. This makes modpack repositories extremely small and easy to version control with Git.
CROSS-PLATFORM COMPATIBILITY
packwiz is written in Go, providing native binaries for Windows, macOS, and Linux, ensuring consistent behavior across different operating systems without requiring a specific runtime environment like Java (for packwiz itself).
HISTORY
packwiz emerged as a modern solution to the challenges of managing large, binary-heavy Minecraft modpacks with traditional version control systems. Its development focused on creating a lightweight, declarative, and Git-friendly alternative to previous methods, allowing for easier collaboration, automated updates, and more reliable modpack distribution. It has gained significant traction in the Minecraft modding community for its robust and efficient approach.