* Fix ignore file inconsistencies .packwizignore is supposed to work like .gitignore, yet it fails miserably at doing so, being able to ignore only global patterns like *.zip, and failing at patterns like /*.zip. This commit introduces two changes to fix the issue: - First, it uses a more up-to-date library. denormal/go-gitignore has not been updated since 2018 and has long open issues and pull requests, one of which tries to address leading slash ignoring, a-la /*.zip. denormal account seems to be abandoned since around the same year, so it makes sense to find a new library that does roughly the same thing. Gladly so, there's actually a library by sabhiram that shares the same name (but not the package name itself - which is just ignore - so it probably requires aliasing when importing). - Secondly, it checks relative paths against ignore file instead of the absolute ones, which makes it possible to use leading slash (and probably some other features) with the new library. From personal tests, it seems to address most - if not all - of the inconsistencies. However, since it's a different library more throughout testing probably wouldn't hurt to make sure it didn't break anything. * Move dependency to main block
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...
- Managing downloaded mod files (use Curse/GDLauncher or another CLI)
- People who want a GUI (though there are some third-party efforts)
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. To run the executable, add the folder where you downloaded 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:
- Install Go (1.17 or newer) from https://golang.org/dl/
- 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!