Pakku Help

Overriding Project's Properties

If a project has a property that is not correct (marked with a wrong side or as not redistributable, even though you have explicit permission to redistribute it) you can override it using the config file.

Changing project side to `CLIENT`

  1. Open the config file (pakku.json) and find a property named projects.

  2. Use the project slug, name, ID or filename to create a new property in it:

    { "projects": { "jei": { } } }
  3. And finally, add the property with the value you want to override.

    In our example, we will override JEI's project side to CLIENT:

    { "projects": { "jei": { "side": "CLIENT" } } }

Understanding Project Sides

The side property determines where a project (mod, resource pack, etc.) can run:

  • CLIENT: Only on the client (e.g., JEI, shader mods, client-side HUD mods)

  • SERVER: Only on the server (e.g., server management tools, server-side optimization mods)

  • BOTH: On both client and server (e.g., most content mods, Fabric API)

  • null (unspecified): Treated as BOTH by default

Impact on Exporting

The side property affects how projects are exported to client modpacks, controlled by the export_server_side_projects_to_client configuration:

When export_server_side_projects_to_client = false (default):

  • CurseForge: SERVER-side projects are excluded from the manifest

  • Modrinth: SERVER-side projects are included with env.client = "unsupported"

When export_server_side_projects_to_client = true:

  • All projects are included regardless of side (backward compatible behavior)

26 April 2026