Skip to content

A CLI/TUI to manage modpack easier than just use Packwiz.

License

Notifications You must be signed in to change notification settings

Alfakynz/PackWize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PackWize

📜 Description

This CLI/TUI was created to manage modpacks more easily than just using Packwiz.
Run Packwiz commands across multiple directories at the same time.
Easily create modpacks by placing you config file into a configurations directory, it will be copied into your modpack directory when exporting it.
Made for creators who maintain multiple versions of a modpack.

✨ Features

Run packwiz commands for all Minecraft versions and launchers you want at the same time. Supports most packwiz commands.

  • Add mods to the modpack (url add supported)
  • Remove mods from the modpack
  • Update mods in the modpack
  • Pin/unpin mods in the modpack
  • Set an acceptable version
  • Export the modpack contents to a ZIP or MRPACK file (files are moved to: dist/{version})
  • List mods in the modpack
  • Export the modpack's content list to an MD file
  • Update the modpack version (not the minecraft version)
  • Refresh the pack.toml and index.toml files
  • Migrate Minecraft/lodaer version to another
  • Initialize a new modpack and create the configurations directories

All of these functions can be run for one Minecraft version in one launcher or for all Minecraft versions in all launchers.

🌲 Modpack tree example

Modpack
┣ 1.21.1
┃ ┣ configurations
┃ ┃ ┣ config
┃ ┃ ┗ ┗ sodium-options.json
┃ ┣ CurseForge
┃ ┃ ┣ mods
┃ ┃ ┃ ┣ fabric-api.pw.toml
┃ ┃ ┃ ┗ sodium.pw.toml
┃ ┃ ┣ index.toml
┃ ┃ ┗ pack.toml
┃ ┣ Modrinth
┃ ┃ ┣ mods
┃ ┃ ┃ ┣ fabric-api.pw.toml
┃ ┃ ┃ ┗ sodium.pw.toml
┃ ┃ ┣ index.toml
┃ ┃ ┗ pack.toml
┃ ┗ PACK_CONTENT.md
┣ configurations
┃ ┣ config
┃ ┃ ┗ sodium-options.json
┃ ┣ .packwizignore
┃ ┣ icon.png
┃ ┗ options.txt
┣ dist
┃ ┣ 1.21.1
┃ ┃ ┣ Modpack-1.0.0.mrpack
┗ ┗ ┗ Modpack-1.0.0.zip

⚙️ Requirements

📦 Installation

👤 For users

go install github.com/Alfakynz/PackWize/cmd/packwize@main

👨‍💻 For devs

git clone https://github.com/Alfakynz/PackWize.git
cd PackWize

Run the command without compiling:

go run ./cmd/packwize

To Compile:

make build

❌ Uninstallation

👤 For users

rm $(go env GOPATH)/bin/packwize

👨‍💻 For devs

You just need to remove the PackWize directory

🤝 Contributing

PackWize is a work in progress, and all suggestions are welcome.

If you'd like to contribute:

  • Open an issue to suggest an idea, report a bug, or discuss a change
  • Submit a pull request if you have an improvement to propose

To Do

  • Documentation (website)
  • Create a TUI