Deepa's preferred modpack development environment, focused on forge 1.20.1, with preset mods and github actions
- Pakku:
- Easily control mods and resourcepacks, handling dependendices for you.
- Can sync your existing installed mods and resourcepacks from your modpack to be automatically manifested for exports
- Can easily fetch mods from the pakku manifest file that others have synced to, for contributors to pull the latest mods and resource packs
- Mods and folders can be easily marked as client or serverside only, or even to not export at all. Useful for dev environment specific mods like ProbeJS or worldedit.
- Github workflow/Actions:
- Autolinting
- By default, will automatically fix any lint issues in the KubeJS folder, keeping your code organized hassle free.
- This behavior can be easily changed as applicable, if you prefer it to check pull requests.
- By default, will automatically fix any lint issues in the KubeJS folder, keeping your code organized hassle free.
- Build and Release
- Automatically builds on commit, and will push to curseforge on a version change (Serverpacks included)
- Automatically Diffs Mods and Pull Requests, and attaches your changelog
- Can replace text with the update number, useful for the main menu or other files that should have the modpack version.
- Can publish a truncated changelog to discord if a webhook is provided.
- Autolinting
- Other:
- Setup that allows contributors to pull and make commits directly from their minecraft instance, no need to drag files between them
- Issue and pull request templates
- A default
.gitignoreIncluding many common mods files, and client configs that should be used with the "configured defaults" mod - A client config default options setup, preventing users having their client configs overwritten on modpack updates
- This template was written solely with Prism Launcher in mind. Those using other launchers will need to adjust setup instructions as needed to allow their launcher to recognize the template as an instance.
- Expects understanding git and some basics like commits, pull requests, merging, pushing/pulling.
- Recommended to install https://gitforwindows.org/ on windows
- Optionally but optimally, install Pakku locally. Alternatively you could just use the .jar file located in the templates minecraft folder with
java -jar pakku.jar help.- For using Pakku to pull curseforge mods, add your curseforge accounts API key to pakku. See guide on the Pakku wiki
- Python 3.6+ (To use the dev instance setup script)
- All platforms: https://www.python.org/downloads/
- Win11/Win10 with winget:
winget install python3(In cmd/powershell)
- Clone/download this repository
- Rename the cloned repository folder to whatever your modpack name is, or leave it for later if unsure.
- Inside of the repository, run the
dev_instance_setup.pypython script- You may look inside of this script with a text editor for instructions on using it, how to download python/java, potential issues, and what it does.
- Import the output dev-environment modpack .zip file that the script outputs at
./instanceBuild/modpackname.zipinto prismlauncher (Drag zip file over or right click the background andcreate instance>import) - Creating and setting up a repository
- At https://github.com/new, create a new empty repository. You do not need to set a template/license/readme or anything here as it'll be overwritten.
- (Replace
username/modpack-repowith your own name and repo name from the link)
- (Replace
- In a command line using git, run
git remote add origin https://github.com/username/modpack-repo.gitto change the tracked remote from the original template repo to your new modpack repo. - use
git branch -M mainandgit push -u origin main, thengit branch -M devandgit push -u origin devto create both required branches on your github repository.
- At https://github.com/new, create a new empty repository. You do not need to set a template/license/readme or anything here as it'll be overwritten.
- Follow the build/release actions setup & usage guide to setup repository secrets, learn proper practices, and setup publishing workflow.
- Follow the above instructions for a new modpack setup
- (assuming you don't have an existing repo, if you do you could use this and force push over it? Or remove all files from your original repo and use this guide then push the changes)
- Drag over your modpacks folders like
mods,configs,kubejsor whatever else is required for your modpack to work into the modpack template repository (Note not deleting the existing mod folder in the template can cause dupes, optimally delete the templates mod folder) - Assuming you have added new mods or replaced the mods folder entirely, open the minecraft folder in a terminal and run
pakku syncorjava -jar pakku.jar syncif you didn't install pakku. This will update pakkus modlist used for exporting. (You can usepakku --yes sync/fetchto skip all confirmations on the command)
See CONTRIBUTING.md
See build/release actions setup & usage
- This template supports automatically posting changelogs to discord: add a discord webhook to your secrets with the name
discord-webhookif you wish to enable that. - Some of the linting rules are disabled by default, you can enable them (or even add your own!) by editing
custom-plugin.mjs. - By default, the changes on the
mainanddevbranches are built, branch names and behavior can be adjusted in the buildscript.
- This template is a very opinionated fork of Panpack with many more preinstalled mods and tools, with additional scripts and a differing dev environment.
- Buildscripts modified from panpack, which are modified from Terrafirmagreg