- Kotlin 97.3%
- Shell 2.7%
| .idea | ||
| agent | ||
| art | ||
| buildSrc | ||
| core | ||
| gradle | ||
| manager | ||
| .gitignore | ||
| CHANGELOG.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| license.md | ||
| PublishRelease.sh | ||
| readme.md | ||
| settings.gradle.kts | ||
Packwitch is a minecraft modpack creation, management, and distribution tool.
Create modpacks via a cli application (graphical interface is planned), the Manager; and update/maintain the modpack on the user end via a Java agent (or just run standalone!) aptly named the Agent, or your choice of Unsup or Packwiz agents respectively. So if you cant tell by now, it's heavily inspired by both.
Mirrors:Codeberg | ForgeJo
Note
Currently under heavy development
As such, currently only the CLI Manager is being worked on, and once its finished I will work on the Agent. For now I will only be working on Packwiz/Unsup agent support.
You can see the progress in the Kanban/Issues & Milestones.
Index:
- Requirements
- Installing
- Building
- Usage
- Notable Features
- Contributing
- License
- Special Thanks
- Donations
Requirements:
- Java 21 (Manager), Java 8+ (Agent)
Installing:
note: if you are experiencing any issues in the current release, its worth trying an install based on the latest commit, it may have already been fixed!
if you package this for another linux distro or OS, be sure to open an issue and let me know so i can add it here!
Linux:
- Arch Linux: you can install from the aur, packwitch-manager, packwitch-manager-bin, packwitch-manager-git
Windows/Mac/Other:
Right now you'll just have to download the latest release, unzip it, and run the corresponding file in packwitch/bin
Building:
Manager:
Run
./gradlew :manager:assembleDist
you will find the compressed release in manager/build/distributions/
Usage:
Usage: packwitch [-fhvV] [-e=<environment>] [COMMAND] , __ _ _ _ /|/ \ | |(_| | |_/o | | |___/ __, __ | | | | | _|_ __ | | | / | / |/_) | | | | | / |/ \ | \_/|_/\___/| \_/ \_/ \_/ |_/|_/\___/| |_/ -e, --env, --environment=<environment> Path to project directory. -f, --force Force operation, skipping checks. WARNING: this can cause issues! -h, --help Show this help message and exit. -v, --verbose Verbose logging mode. -V, --version Print version information and exit. Commands: add, a add a mod/file to the project convert, c convert the project of a given directory to packwitch init, i initialize the project and config. list, ls return a list of files in project. pin pin a project unpin unpin a project refresh, ref refresh the index. release, rel package pack for release and use with prismlauncher. remove, rm remove project with given slug/id update, up update project with given slug/id or update all projects serve, host serve the pack on a local server
Notable Features:
- Sinnytra Connector detection
- Unsup Agent support
- TODO: finish this list lol
Contributing (?)
the project is split into 3 (4) sub-modules: manager, agent and core, buildSrc.
- core is a shared library between agent and manager, to simplify common functions.
- manager is the cli (gui eventually) for managing the pack.
- agent is the planned client facing component, meant to update the pack on the user side.
- buildSrc, which is for unifying build dependencies and scripts between the modules.
there is also art, for containing any art related to the project.
it is preferred that you have gpg key commit signing set so commits are verifyably by you, but not required. see
License:
Packwitch is licensed under the AGPLv3
Special Thanks:
- elke, for the fantastic name, and letting me bounce ideas.
- Exa, for creating Unsup.
- comp500, for creating Packwiz.
- Modrinth, for having a very usable api with good docs.
- The Modding Community, for being so cool....
Spare change?
hi im broke, if you have a lil disposable income and like packwitch, id be grateful if you sent some snack/gas money my way!