Skip to content

Create an instance from a mod pack - #397

Merged
Maximilian-Nesslauer merged 5 commits into
mainfrom
pack-new-instance
Sep 20, 2026
Merged

Maximilian-Nesslauer merged 5 commits into
mainfrom
pack-new-instance

Conversation

@Maximilian-Nesslauer

Copy link
Copy Markdown
Member

Closes #366

  • The pack page and each row on the Modpacks tab have a new "New instance from this pack" button.
  • It opens the "Create instance" window with the pack name filled in. You can change the name. An empty or taken name shows an error, and the window stays open.
  • Borea then installs the pack into the new instance, with the same progress, Stop, Pause, choices and task history as Add.
  • When the pack has a warning, the row waits for your confirmation as before, and it names the instance that it will create.
  • Borea creates the instance only when the pack can install. When nothing can install, or you stop before the install starts, no instance is created.
  • When you stop or an install fails later, the instance stays with the mods that were installed, and the row says so.
  • The new instance becomes the active instance when no instance is active. Otherwise the active instance stays.
  • The instance page shows the pack and its version as the source of the new instance.
  • An instance name that is taken now shows a translated error, also in the normal "New instance" window.
  • Changing a choice while the row waits plans again, so the download size on the confirm button also follows for a pack that creates an instance.
  • The CLI has borea pack install <pack> [version] --new-instance <name> in place of --instance. --dry-run shows the plan and creates nothing, and --json has the new fields newInstance, created and activated. instanceId is null when no instance was created.

Fixture output of borea pack install navigation-pack --new-instance Navigation, only the lines that the test checks:

Pack navigation-pack 1.0.0 into the new instance 'Navigation':
  installed  flight-tools 2.0.0  modpack
Created instance 'Navigation' (<id>). It is now the active instance.

@Maximilian-Nesslauer Maximilian-Nesslauer added this to the v0.2.0 milestone Sep 19, 2026
@Maximilian-Nesslauer Maximilian-Nesslauer added area:core Borea.Core, the domain model area:storage Borea.Storage, persistence and TOML area:app Borea.App, the Avalonia UI area:cli Borea.Cli, CLI next to Borea.App labels Sep 19, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in Borea Sep 19, 2026
@Maximilian-Nesslauer Maximilian-Nesslauer moved this from Backlog to In review in Borea Sep 19, 2026
@coveralls

coveralls commented Sep 19, 2026 •

Copy link
Copy Markdown
Collaborator

Coverage Report for CI Build 35498943046

Warning

Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes.
Quick fix: rebase this PR. Learn more →

Coverage increased (+0.02%) to 87.349%

Details

  • Coverage increased (+0.02%) from the base build.
  • Patch coverage: 11 uncovered changes across 3 files (143 of 154 lines covered, 92.86%).
  • 1 coverage regression across 1 file.

Uncovered Changes

File Changed Covered %
src/Borea.App/ViewModels/MainViewModel.Packs.cs 61 52 85.25%
src/Borea.Cli/Commands/PackCommand.cs 55 54 98.18%
src/Borea.Storage/ModPacks/ModPackInstaller.cs 16 15 93.75%
Total (11 files) 154 143 92.86%

Coverage Regressions

1 previously-covered line in 1 file lost coverage.

File Lines Losing Coverage Coverage
src/Borea.App/ViewModels/MainViewModel.Playtime.cs 1 68.06%

Coverage Stats

Coverage Status
Relevant Lines: 26923
Covered Lines: 24537
Line Coverage: 91.14%
Relevant Branches: 13233
Covered Branches: 10539
Branch Coverage: 79.64%
Branches in Coverage %: Yes
Coverage Strength: 6629.23 hits per line

💛 - Coveralls

@Maximilian-Nesslauer
Maximilian-Nesslauer added this pull request to stack #400 September 19, 2026 22:33
@Maximilian-Nesslauer
Maximilian-Nesslauer merged commit 697b7a5 into main Sep 20, 2026
12 checks passed
@Maximilian-Nesslauer
Maximilian-Nesslauer deleted the pack-new-instance branch September 20, 2026 08:24
@github-project-automation github-project-automation Bot moved this from In review to Done in Borea Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:app Borea.App, the Avalonia UI area:cli Borea.Cli, CLI next to Borea.App area:core Borea.Core, the domain model area:storage Borea.Storage, persistence and TOML

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Create an instance from a mod pack

3 participants