Skip to content

v0.19.0

Compare
Choose a tag to compare
@juraj-hrivnak juraj-hrivnak released this 08 Oct 21:27
· 105 commits to main since this release

Highlights

  • Added the cfg command for configuring properties of the config file, by @SettingDust in #29.
    • This change deprecated the pakku set [<projects>] argument. Use the config file (pakku.json) or the cfg prj subcommand instead.
  • Implemented configurable subpaths for projects and configurable paths for project types.
  • Implemented configurable project aliases, by @SettingDust in #34.
  • Added support for data packs.
  • Added better support for multi-loader modpacks, by @SettingDust in #36 and #37. (Sinytra Connector support.)
    • Project files are now also sorted in order of loaders in the lock file.
  • Rewritten fetch command's deleting algorithm to account for subpaths.
    • Saves & screenshots are always excluded.
  • Improved the UI of the status command.
    • Now it's much nicer and shows you changes to project files.

Fixes

  • Fixed ConcurrentModificationException on running fetch command in some cases.
  • Fixed setting loaders using the set command when projects have unusual loaders.

Configurable Subpaths

There is now a new subpath property for projects that you configure in the config file or using the cfg prj subcommand.

Config file - syntax:

{
  "projects": {
    "<project>": {
      "subpath": "<path>"
    }
  }
}

Config file - example usage:

{
  "projects": {
    "sodium-extras": {
      "subpath": "optimize.client"
    },
    "iris": {
      "subpath": "decoration.client"
    }
  }
}

Configurable Paths for Project Types

There is now a variable for each project type that you configure in the config file or using the cfg command.

Config file - syntax:

{
  "paths": {
    "mods": "<path>",
    "resource_packs": "<path>",
    "data_packs": "<path>",
    "worlds": "<path>",
    "shaders": "<path>"
  }
}

Project Aliases

There is now a new aliases property of type array for projects that you configure in the config file or using the cfg prj subcommand.

Config file - syntax:

{
  "projects": {
    "<project>": {
      "aliases": ["<alias>"]
    }
  }
}

Config file - example usage:

{
  "projects": {
    "forgified-fabric-api": {
      "aliases": ["fabric-api"]
    }
  }
}

API

  • Updated Clikt to 5.0.0 & Mordant to 3.0.0.
  • Improved docs generation with better subcommand support.