Skip to content
/ mc-modpack-kit Public template

A template designed to streamline the release process of Minecraft modpacks.

License

Notifications You must be signed in to change notification settings

ParadigmMC/mc-modpack-kit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Streamline the Minecraft Modpack Release Process with GitHub Actions!

Use this template GitHub Actions Badge Minecraft Badge


mc-modpack-kit is a GitHub Actions workflow template designed to simplify the release process of Minecraft modpacks using a structured monorepo approach. It automates essential tasks such as versioning, modpack building, and publishing on platforms like Modrinth and CurseForge.

It also includes an nix flake for you fellow nix enjoyers! The actions also use it!

Key Features

  1. Monorepo Structure

    Embrace the power of organization with a monorepo-style architecture. Each subdirectory represents a different modpack version or loader type, streamlining your management of multiple modpack variations within a single repository.

    Example subdirectories:

    • fabric/: Fabric loader version.
    • forge/: Forge loader version.

    You can create more just by initializing packwiz in the said directory of your choosing.

  2. Automated Releases

    Experience effortless version control with Release Please, which generates changelogs and handles version releases automatically, in sync with your pull requests. Maintain clarity with Conventional Commit Messages.

    Examples:

    • feat(modpack/<mod>): <description> for adding new features, configurations or content.
    • chore(modpack/<mod>): <description> for routine maintenance tasks or cleanups.
    • update(modpack/<mod>): update <mod> for updating mods to newer versions.
    • mod(modpack/<mod>): add <mod> for introducing new mods to the modpack.
  3. Mod Updates

    Update your mods effortlessly by utilizing the update.yml workflow located in .github/workflows/update.yml. This action efficiently updates all mods across all subdirectories.

Getting Started

  1. Fork the Repository

    Start by forking this repository to your GitHub account.

  2. Set Up Secrets and Permissions

    • Navigate to "Settings" -> "Secrets" and add the following secrets:
      • MODRINTH_TOKEN, MODRINTH_ID for Modrinth authentication.
      • CURSEFORGE_TOKEN, CURSEFORGE_ID for CurseForge authentication.
    • Enable "Allow GitHub Actions to create and approve pull requests" under "Settings" -> "Actions" -> "General" -> "Workflow permissions".
  3. Initialize Your Modpack

    • Generate a pack.toml file using packwiz (installation instructions here) within a modpack folder.
    • Begin by running packwiz init, preferably within the main directory.
  4. Set a release channel

    • By default this template uses the beta (0.1.0) channel, you can switch it to release (1.0.0) when you are ready!
    • This can be done via executing .github/workflows/bump-version-release.yml!
  5. You are good to go!

    • You can now merge the release PR that release please has made, sit back and enjoy a cup of coffee! ☕ ^-^

Troubleshooting and Support

If you encounter any issues or need assistance, consult the Issues page or reach out via my GitHub profile.

License

This project is licensed under the CC0 1.0 Universal License.

Acknowledgments

  • This project makes effective use of GitHub Actions and various tools to automate the modpack release process.
  • A heartfelt ❤️ thank you to Rafii for helping with this!
  • Special thanks to the GitHub community for their contributions and support.

Contributions, feedback, and improvements are warmly welcomed! Let's propel this project forward together! 🚀

About

A template designed to streamline the release process of Minecraft modpacks.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages