An easy-to-use template for an automated modpack development environment.
- ⌨️ Manage mods in command-line interface using PAX without the need to use CurseForge launcher.
- 📦 Export modpack and server pack easily, using PAX and ServerPackCreator.
- 🤝 Designed for multiple people working together...
- 📥 Mod
.jar
s, resource packs, shader packs and overrides are handled properly! ModpackDownloader. - 🧰 Easy integration with MultiMC file structure.
- 📥 Mod
- 📝 Handle changelogs easily, based on Keep a Changelog.
- 🧬 CI/CD using GitHub Actions.
- 📤 Automatically deploy to CurseForge and GitHub in about 5 minutes.
- 📃 Automatically generate mod changelog.
- 🗃️ Share development builds.
- ⚙️ Close issues with the 'fixed in dev' label on release.
This template uses various tools to help you with your modpack development and release process.
-
Release uses: PAX to export the modpack as zip, ModpackDownloader to download mod
.jar
's and other files frommanifest.json
, and ServerPackCreator to remove client-side mods and create the server pack.- Modpack can be released using GitHub actions, which requires a CurseForge API token. (Recommended)
- Or it can be exported locally and then released on CurseForge manually. (Not recommended)
-
Development uses: PAX to manage mods, and ModpackDownloader to download mod
.jar
's and other files frommanifest.json
.
- Click on the "Use this template" button.
- Clone the repository to your modpack folder.
- Run the set-up script:
- If you are on Windows 10 or higher, run the
./pax/setup-windows.ps1
with PowerShell. - If you are on Linux, open your terminal and use the
cd
command to move into the./pax
folder, then runsh setup-linux.sh
. - If you are on macOS, open your terminal and use the
cd
command to move into the./pax
folder, then runbrew install grep
and after it is finished, runsh setup-macos.sh
.
- If you are on Windows 10 or higher, run the
- Configure overrides in the
./pax/sync_overrides.sh
. By default onlyconfig
,local
,oresources
,patchouli_books
,resources
,scripts
andstructures
are synced with your modpack folder. - Set up automatic releases using a CurseForge API token. (Can be done later or skipped if you don't wish to have releases automated.)
-
Navigate to curseforge.com/account/api-tokens.
-
Enter a name for your token and hit the "Generate Token" button.
-
Copy your generated secret (the jumbled mess of numbers, letters and dashes).
-
Create a new Secret for GitHub Actions with the name
CF_API_TOKEN
, and for the value, paste your previously copied secret. -
Open an editor with the release workflow config file (located at .github/workflows/Release.yml in your project folder).
-
Locate the
PROJECT_ID
env variable and change the value to your modpack project ID.
env: PROJECT_ID: "443254" # If your Curseforge page shows 443254 as the Project ID.
-
- Enjoy!
After you have set up your modpack, use the ModpackDownloader to download the mod .jar
s and other files.
- Open your terminal/cmd and use the
cd
command to move into the./pax
folder, then run the ModpackDownloader:java -jar ModpackDownloader-<version>.jar modpack ..
Note Make sure to replace the
<version>
with the correct version of ModpackDownloader.