Skip to content
/ .minecraft Public template

An easy-to-use template for an automated modpack development environment.

License

Notifications You must be signed in to change notification settings

juraj-hrivnak/.minecraft

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

.minecraft

Build

An easy-to-use template for an automated modpack development environment.

Features

  • ⌨️ 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 .jars, resource packs, shader packs and overrides are handled properly! ModpackDownloader.
    • 🧰 Easy integration with MultiMC file structure.
  • 📝 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.

How It Works

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 from manifest.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 from manifest.json.

Development_02

Setup

  1. Click on the "Use this template" button.
  2. Clone the repository to your modpack folder.
  3. 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 run sh setup-linux.sh.
    • If you are on macOS, open your terminal and use the cd command to move into the ./pax folder, then run brew install grep and after it is finished, run sh setup-macos.sh.
  4. Configure overrides in the ./pax/sync_overrides.sh. By default only config, local, oresources, patchouli_books, resources, scripts and structures are synced with your modpack folder.
  5. Set up automatic releases using a CurseForge API token. (Can be done later or skipped if you don't wish to have releases automated.)
    1. Navigate to curseforge.com/account/api-tokens.

    2. Enter a name for your token and hit the "Generate Token" button. new_token

    3. Copy your generated secret (the jumbled mess of numbers, letters and dashes). new_token_copy

    4. Create a new Secret for GitHub Actions with the name CF_API_TOKEN, and for the value, paste your previously copied secret.

    5. Open an editor with the release workflow config file (located at .github/workflows/Release.yml in your project folder).

    6. 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.
  6. Enjoy!

Development

After you have set up your modpack, use the ModpackDownloader to download the mod .jars 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.