Skip to content

修复无法正确安装 MultiMC 整合包的问题 - #6584

Open
burningtnt wants to merge 1 commit into
HMCL-dev:mainfrom
burningtnt:fix/cannot-install-multimc-packs
Open

修复无法正确安装 MultiMC 整合包的问题#6584
burningtnt wants to merge 1 commit into
HMCL-dev:mainfrom
burningtnt:fix/cannot-install-multimc-packs

Conversation

@burningtnt

Copy link
Copy Markdown
Member

No description provided.

@github-actions github-actions Bot added the 1+ label Aug 2, 2026
@Glavo

Glavo commented Aug 2, 2026

Copy link
Copy Markdown
Member

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2ff7de23d9

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

throw new IllegalArgumentException("MaintainTask requires independent game version");
GameInstanceManifest newVersion = maintain(repository, manifest.resolve(repository));
return newVersion.withPatches(manifest.getPatches());
return newVersion.patches() == null ? newVersion : newVersion.withPatches(manifest.getPatches());

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Preserve nonempty input patches when saving

When saving any standalone manifest with nonempty patches, such as those produced by GameInstallTask or DefaultGameBuilder, manifest.resolve(repository) returns the launch view whose patches are always cleared by DefaultGameRepository.Status.resolve; maintain does not recreate them, so this condition returns the flattened manifest instead of restoring the input patches. This drops Minecraft, loader, and modpack patch metadata, causing LibraryAnalyzer to classify installed components as JUST_EXISTED and preventing later update/removal flows from manipulating the known patches correctly. The absence check needs to use the input manifest so only genuinely absent patch lists remain absent.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants