1
0
Fork 0
mirror of https://github.com/packwiz/packwiz synced 2025-12-10 09:52:57 +00:00
A command line tool for editing and distributing Minecraft modpacks, using a git-friendly TOML format. Supports CurseForge and Modrinth mods with automated updates! https://packwiz.infra.link/
Find a file
TheEpicBlock 52b123018f
Always download files into cache (#362)
* Always download files into cache

Previous implementation would skip downloading the file if no new hashes were requested. Issue is that the curseforge and modrinth exports require the file contents. Not retrieving the file violates these assumptions. Instead of creating new parameters to force a file download, I changed the code to simply always download instead. This seems like reasonable behaviour for a cache. This fixes #296

* Bump cache index version, delete potentially broken files from old version
2025-11-24 14:33:19 +01:00
.github/workflows Update and fix nix flake (#341) 2025-08-10 21:04:46 +01:00
cmd Don't interpret the new nf version format as the old one (#363) 2025-09-02 17:10:22 +02:00
cmdshared Fix download warning print loops 2023-06-23 18:22:02 +01:00
core Always download files into cache (#362) 2025-11-24 14:33:19 +01:00
curseforge Add missing NeoForge to WriteManifestFromPack (#326) 2025-08-10 21:42:31 +01:00
github Run go fmt ./... 2024-08-28 18:26:29 +01:00
migrate Update dependencies, move to non-experimental slices package 2025-08-10 20:48:20 +01:00
modrinth Fix loader comparison when unrecognized loader is encountered (#372) 2025-11-02 00:57:34 +01:00
nix chore: update packwiz vendorHash 2025-11-01 17:44:02 +00:00
settings Update dependencies, move to non-experimental slices package 2025-08-10 20:48:20 +01:00
url Fix problems with sides in packwiz mr add and packwiz url add (#327) 2025-08-10 21:22:11 +01:00
utils Fix DisableAutoGenTag usage 2023-02-04 15:55:00 +00:00
.gitattributes Fix gitattributes file name (#337) 2025-08-10 20:32:49 +01:00
.gitignore Reformat, force line endings to LF for Go files 2024-08-28 18:14:00 +01:00
.goreleaser.yml Update goreleaser config 2024-09-24 23:08:53 +01:00
flake.lock Update and fix nix flake (#341) 2025-08-10 21:04:46 +01:00
flake.nix Update and fix nix flake (#341) 2025-08-10 21:04:46 +01:00
go.mod Tidy dependencies 2025-08-10 21:36:49 +01:00
go.sum Tidy dependencies 2025-08-10 21:36:49 +01:00
LICENSE Initial commit 2019-02-18 13:23:09 +00:00
main.go feat: begin github support 2024-04-15 14:48:55 -04:00
README.md Update dependencies, move to non-experimental slices package 2025-08-10 20:48:20 +01:00

packwiz

packwiz is a command line tool for creating Minecraft modpacks. Instead of managing JAR files directly, packwiz creates TOML metadata files which can be easily version-controlled and shared with git (see an example pack here). You can then export it to a CurseForge or Modrinth modpack, or use packwiz-installer for an auto-updating MultiMC instance.

packwiz is great for...

  • Distributing private modpacks for servers
  • Creating modpacks for CurseForge and Modrinth

packwiz is not so great for...

Join my Discord server if you need help here!

Features

  • Git-friendly TOML-based metadata format
  • MultiMC pack installer/updater, with support for optional mods and fast automatic updates - perfect for servers!
  • Pack distribution with HTTP servers, with a built in local server for testing
  • Easy installation and updating of multiple mods at once from CurseForge and Modrinth
  • Exporting to CurseForge and Modrinth packs
  • Importing from CurseForge packs
  • Server-only and Client-only mod handling
  • Creation of remote file metadata from JAR files for CurseForge mods

Installation

Prebuilt binaries are available from GitHub Actions - the UI is a bit terrible, but essentially select the top build, then download the artifact ZIP for your system at the bottom of the page.

Another option is to use nightly.link. Just go to the page, and download the artifact for your system.

To run the executable, first extract it, then add the folder where you extracted it to your PATH environment variable (see tutorial for Windows here) or move it to where you want to use it.

In future I will have a lot more installation options, but you can also compile from source:

  1. Install Go (1.24 or newer) from https://golang.org/dl/
  2. Run go install github.com/packwiz/packwiz@latest. Be patient, it has to download and compile dependencies as well!

Documentation

See https://packwiz.infra.link/ for the full packwiz documentation!