Skip to content

feat(download): 快速下载资源#3240

Merged
SALTWOOD merged 8 commits into
devfrom
feat/comp-quick-download
Jun 22, 2026
Merged

feat(download): 快速下载资源#3240
SALTWOOD merged 8 commits into
devfrom
feat/comp-quick-download

Conversation

@SALTWOOD

@SALTWOOD SALTWOOD commented Jun 22, 2026

Copy link
Copy Markdown
Member

This PR closes #3221.
本 PR 在模组存档、数据包等页面的卡片信息右侧添加一个快捷下载按钮,允许通过点击此按钮快速下载资源。

image image

Summary by Sourcery

为组件搜索结果卡片新增可配置的快速下载支持,包括实例/文件夹目标选择以及基于兼容性的集中式文件选取。

New Features:

  • 在搜索结果中兼容的资源卡片上显示快速下载按钮,用于获取最新的兼容文件。
  • 引入可配置的快速下载行为,可在当前实例、已选择的实例或用户自选文件夹之间选择下载目标。

Enhancements:

  • 将兼容性检查和最新文件选取逻辑集中化,以便在快速下载流程和实例选择中复用。
  • 统一资源卡片操作按钮的处理逻辑,使收藏和快速下载按钮在悬停、可见性及点击行为上保持一致。
  • 将快速下载偏好设置接入游戏管理设置页面和本地化资源。
Original summary in English

Summary by Sourcery

Add configurable quick-download support for component search result cards, including instance/folder targeting and centralized compatibility-based file selection.

New Features:

  • Expose a quick-download button on compatible resource cards in search results to fetch the latest compatible file.
  • Introduce a configurable quick-download behavior to choose between current instance, selected instance, or a user-chosen folder as the download target.

Enhancements:

  • Centralize compatibility checks and latest-file selection logic for reuse across quick-download flows and instance selection.
  • Unify resource card action button handling so favorite and quick-download buttons share consistent hover, visibility, and click behavior.
  • Wire quick-download preferences into the game management settings page and localization resources.

新功能:

  • 在下载搜索结果中的资源卡片上添加“快速下载”按钮,用于获取项目的最新兼容文件。
  • 引入可配置的快速下载行为,用于控制资源是保存到当前实例、指定实例,还是指定文件夹。

增强改进:

  • 将兼容性检查和最新文件选择逻辑集中化,以支持跨实例的快速下载。
  • 改进资源卡片操作按钮的处理方式,使多个操作(收藏和快速下载)在悬停和点击时拥有一致的体验。
  • 将快速下载选项接入游戏管理设置页面和本地化资源中。
Original summary in English

Summary by Sourcery

为组件搜索结果卡片新增可配置的快速下载支持,包括实例/文件夹目标选择以及基于兼容性的集中式文件选取。

New Features:

  • 在搜索结果中兼容的资源卡片上显示快速下载按钮,用于获取最新的兼容文件。
  • 引入可配置的快速下载行为,可在当前实例、已选择的实例或用户自选文件夹之间选择下载目标。

Enhancements:

  • 将兼容性检查和最新文件选取逻辑集中化,以便在快速下载流程和实例选择中复用。
  • 统一资源卡片操作按钮的处理逻辑,使收藏和快速下载按钮在悬停、可见性及点击行为上保持一致。
  • 将快速下载偏好设置接入游戏管理设置页面和本地化资源。
Original summary in English

Summary by Sourcery

Add configurable quick-download support for component search result cards, including instance/folder targeting and centralized compatibility-based file selection.

New Features:

  • Expose a quick-download button on compatible resource cards in search results to fetch the latest compatible file.
  • Introduce a configurable quick-download behavior to choose between current instance, selected instance, or a user-chosen folder as the download target.

Enhancements:

  • Centralize compatibility checks and latest-file selection logic for reuse across quick-download flows and instance selection.
  • Unify resource card action button handling so favorite and quick-download buttons share consistent hover, visibility, and click behavior.
  • Wire quick-download preferences into the game management settings page and localization resources.

@pcl-ce-automation pcl-ce-automation Bot added 🚧 正在处理 开发人员正在对该内容进行开发、测试或修复,进展中 size: L PR 大小评估:大型 labels Jun 22, 2026
@sourcery-ai

sourcery-ai Bot commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

审阅者指南(Reviewer's Guide)

为搜索结果卡片中的兼容资源文件实现可配置的快捷下载流程:在卡片 UI 中接入新的操作按钮,将兼容性/最新文件选择逻辑集中处理,并在游戏管理配置和本地化中暴露相关行为设置。

资源卡片快捷下载时序图

sequenceDiagram
    actor User
    participant MyCompItem
    participant ModComp
    participant ModInstanceList
    participant ModLoader

    User->>MyCompItem: BtnDownload_Click
    MyCompItem->>ModComp: QuickDownload(project)
    activate ModComp
    ModComp->>ModComp: CompFilesGet(project.Id, project.FromCurseForge)
    ModComp->>ModComp: files.Where(f => f.Available)
    ModComp-->>User: HintService.Hint(Loading)
    ModComp->>Config: read QuickDownloadBehavior
    alt behavior == 0
        ModComp->>ModMain: MyMsgBoxSelect(options)
        ModMain-->>ModComp: choice
    end

    alt behavior == 1 (current instance)
        ModComp->>ModInstanceList: McMcInstanceSelected
        ModComp->>ModComp: QuickDownloadToInstance(project, files, instance)
        ModComp->>ModComp: IsInstanceSuitableForFile(instance, file, ResolveLoaders(file, project))
        ModComp->>ModComp: PickLatestFile(compatible)
        ModComp->>ModComp: StartQuickDownload(file, target)
    else behavior == 2 (pick instance)
        ModComp->>ModComp: QuickDownloadPickInstance(project, files)
        ModComp->>ModInstanceList: mcInstanceListLoader / mcInstanceList
        ModComp->>ModMain: MyMsgBoxSelect(options)
        ModMain-->>ModComp: selected instance
        ModComp->>ModComp: QuickDownloadToInstance(project, files, instance)
        ModComp->>ModComp: StartQuickDownload(file, target)
    else behavior == 3 (pick folder)
        ModComp->>SystemDialogs: SelectFolder()
        SystemDialogs-->>ModComp: saveFolder
        ModComp->>ModComp: QuickDownloadToFolder(project, files)
        ModComp->>ModComp: PickLatestFile(files)
        ModComp->>ModComp: StartQuickDownload(file, target)
    end

    ModComp->>ModLoader: new LoaderDownload(...)
    ModLoader-->>ModComp: loader
    ModComp->>ModLoader: loader.Start(1)
    ModComp-->>User: HintService.Hint(DownloadStarted)
    deactivate ModComp
Loading

文件级变更(File-Level Changes)

Change Details Files
添加集中式的快捷下载管线,用于获取最新的兼容资源文件,并根据可配置行为将其下载到指定实例或文件夹。
  • 新增 ModComp.QuickDownload 入口,在后台线程中运行,加载可用的项目文件,并根据 QuickDownloadBehavior 分流到具体的下载流程。
  • 实现 QuickDownloadToInstanceQuickDownloadPickInstanceQuickDownloadToFolder 等辅助方法,用于解析目标实例/文件夹、筛选兼容文件,并在需要时通过用户提示启动下载。
  • 抽取下载器解析、实例/文件兼容性检查、最新文件选择以及下载任务构造等共享逻辑(StartQuickDownloadGetSubFolderResolveLoadersIsInstanceSuitableForFilePickLatestFile)。
Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
将快捷下载按钮集成到资源卡片中,并统一操作按钮的悬停/点击行为,使多个操作能干净地共存。
  • 扩展 ToCompItem 以接受 showQuickDownload 标志,并通过 ShowDownloadBtn 将其传递到卡片实例。
  • 重构 MyCompItem 以分别跟踪收藏和下载按钮的可见性,计算 HasActionButtons,并基于任一可见操作来驱动 PanButtons 的可见性和动画。
  • BtnDownload 点击事件接入 ModComp.QuickDownload,以针对关联的 CompProject 执行快捷下载,并更新命中测试逻辑,使点击收藏或下载按钮不会触发卡片主体点击。
  • 确保搜索结果页面根据需要决定是否显示快捷下载(对 ModPack 类型禁用),并在创建卡片时传入该标志。
Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Plain Craft Launcher 2/Pages/PageDownload/Comp/MyCompItem.xaml.cs
Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml.cs
Plain Craft Launcher 2/Pages/PageDownload/Comp/MyCompItem.xaml
为快捷下载行为提供配置项和本地化支持,并在游戏管理 UI 中展示该设置。
  • Config.Download.Comp 下新增 QuickDownloadBehavior 配置字段,并添加对应的持久化键。
  • 将“游戏管理”页面中的下拉框绑定到 QuickDownloadBehavior,以便用户选择快捷下载时如何选择目标实例/文件夹。
  • 为快捷下载提示、提示气泡、按钮标签和行为描述新增中英文(zh-CNen-US)本地化字符串,并更新相关 XAML 以引用这些字符串。
PCL.Core/App/Config.cs
Plain Craft Launcher 2/Pages/PageSetup/PageSetupGameManage.xaml.cs
PCL.Core/App/Localization/Languages/en-US.xaml
PCL.Core/App/Localization/Languages/zh-CN.xaml
Plain Craft Launcher 2/Pages/PageSetup/PageSetupGameManage.xaml

与关联 issue 的对照评估(Assessment against linked issues)

Issue Objective Addressed Explanation
#3221 在下载/搜索 UI 的资源/模组卡片上(收藏按钮旁)添加快捷下载按钮。
#3221 点击快捷下载按钮时,允许选择目标实例(首项为当前选中实例)或路径,并提供可配置行为,使可跳过提示且可在设置中更改。
#3221 实现逻辑,使快捷下载获取所选资源的最新兼容版本,并将其下载到选定的实例或文件夹中。

可能相关的 issue(Possibly linked issues)

  • #: PR 实现了在模组卡片旁增加快捷下载按钮、可选实例以及可配置行为,符合 issue 的需求

提示与命令(Tips and commands)

与 Sourcery 交互(Interacting with Sourcery)

  • 触发新的代码审查: 在 Pull Request 中评论 @sourcery-ai review
  • 继续讨论: 直接回复 Sourcery 的审查评论。
  • 从审查评论生成 GitHub issue: 在审查评论下回复,要求 Sourcery 根据该评论创建 issue。也可以直接在审查评论中回复 @sourcery-ai issue 来创建对应的 issue。
  • 生成 Pull Request 标题: 在 PR 标题中任意位置写上 @sourcery-ai 即可随时生成标题。也可以在 Pull Request 中评论 @sourcery-ai title 以(重新)生成标题。
  • 生成 Pull Request 摘要: 在 Pull Request 正文的任意位置写上 @sourcery-ai summary,即可在该位置生成 PR 摘要。也可以在 Pull Request 中评论 @sourcery-ai summary 以(重新)生成摘要。
  • 生成审阅者指南: 在 Pull Request 中评论 @sourcery-ai guide 以(重新)生成审阅者指南。
  • 一次性解决所有 Sourcery 评论: 在 Pull Request 中评论 @sourcery-ai resolve,即可将所有 Sourcery 评论标记为已解决。适用于你已经处理完所有评论且不希望再看到它们的时候。
  • 忽略所有 Sourcery 审查: 在 Pull Request 中评论 @sourcery-ai dismiss,即可忽略所有现有的 Sourcery 审查。特别适用于你希望从头开始新的审查时 —— 别忘了随后评论 @sourcery-ai review 以触发新的审查!

自定义你的体验(Customizing Your Experience)

访问你的 仪表盘 以:

  • 启用或禁用诸如 Sourcery 生成的 Pull Request 摘要、审阅者指南等审查功能。
  • 更改审查语言。
  • 添加、删除或编辑自定义审查指令。
  • 调整其他审查相关设置。

获取帮助(Getting Help)

Original review guide in English

Reviewer's Guide

Implements a configurable quick-download workflow for compatible resource files from search result cards, wiring a new action button into the card UI, centralizing compatibility/latest-file selection logic, and exposing behavior settings in the game management configuration and localization.

Sequence diagram for quick download from resource card

sequenceDiagram
    actor User
    participant MyCompItem
    participant ModComp
    participant ModInstanceList
    participant ModLoader

    User->>MyCompItem: BtnDownload_Click
    MyCompItem->>ModComp: QuickDownload(project)
    activate ModComp
    ModComp->>ModComp: CompFilesGet(project.Id, project.FromCurseForge)
    ModComp->>ModComp: files.Where(f => f.Available)
    ModComp-->>User: HintService.Hint(Loading)
    ModComp->>Config: read QuickDownloadBehavior
    alt behavior == 0
        ModComp->>ModMain: MyMsgBoxSelect(options)
        ModMain-->>ModComp: choice
    end

    alt behavior == 1 (current instance)
        ModComp->>ModInstanceList: McMcInstanceSelected
        ModComp->>ModComp: QuickDownloadToInstance(project, files, instance)
        ModComp->>ModComp: IsInstanceSuitableForFile(instance, file, ResolveLoaders(file, project))
        ModComp->>ModComp: PickLatestFile(compatible)
        ModComp->>ModComp: StartQuickDownload(file, target)
    else behavior == 2 (pick instance)
        ModComp->>ModComp: QuickDownloadPickInstance(project, files)
        ModComp->>ModInstanceList: mcInstanceListLoader / mcInstanceList
        ModComp->>ModMain: MyMsgBoxSelect(options)
        ModMain-->>ModComp: selected instance
        ModComp->>ModComp: QuickDownloadToInstance(project, files, instance)
        ModComp->>ModComp: StartQuickDownload(file, target)
    else behavior == 3 (pick folder)
        ModComp->>SystemDialogs: SelectFolder()
        SystemDialogs-->>ModComp: saveFolder
        ModComp->>ModComp: QuickDownloadToFolder(project, files)
        ModComp->>ModComp: PickLatestFile(files)
        ModComp->>ModComp: StartQuickDownload(file, target)
    end

    ModComp->>ModLoader: new LoaderDownload(...)
    ModLoader-->>ModComp: loader
    ModComp->>ModLoader: loader.Start(1)
    ModComp-->>User: HintService.Hint(DownloadStarted)
    deactivate ModComp
Loading

File-Level Changes

Change Details Files
Add centralized quick-download pipeline that fetches the latest compatible resource file and downloads it to a chosen instance or folder based on configurable behavior.
  • Introduce ModComp.QuickDownload entry that runs in a background thread, loads available project files, and routes to specific download flows depending on QuickDownloadBehavior.
  • Implement QuickDownloadToInstance, QuickDownloadPickInstance, and QuickDownloadToFolder helpers to resolve target instance/folder, filter compatible files, and start downloads with user prompts when needed.
  • Extract shared logic for loader resolution, instance/file compatibility checks, latest-file selection, and download task construction (StartQuickDownload, GetSubFolder, ResolveLoaders, IsInstanceSuitableForFile, PickLatestFile).
Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Integrate a quick-download button into resource cards and unify action button hover/click behavior so multiple actions coexist cleanly.
  • Extend ToCompItem to accept a showQuickDownload flag and propagate it to card instances via ShowDownloadBtn.
  • Refactor MyCompItem to track separate visibility for favorite and download buttons, compute HasActionButtons, and drive PanButtons visibility/animations based on any visible action.
  • Wire BtnDownload click to invoke ModComp.QuickDownload for the associated CompProject and update hit-testing logic so clicks on either favorite or download buttons don’t trigger the main card click.
  • Ensure search result pages decide when to show quick download (disabled for ModPack types) and pass this flag when creating cards.
Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Plain Craft Launcher 2/Pages/PageDownload/Comp/MyCompItem.xaml.cs
Plain Craft Launcher 2/Pages/PageDownload/Comp/PageComp.xaml.cs
Plain Craft Launcher 2/Pages/PageDownload/Comp/MyCompItem.xaml
Expose configuration and localization for quick-download behavior and surface the setting in the game management UI.
  • Add QuickDownloadBehavior configuration field under Config.Download.Comp with persisted backing key.
  • Bind Game Management page combo box to QuickDownloadBehavior so users can choose how quick downloads target instances/folders.
  • Add localized strings for quick-download prompts, hints, button labels, and behavior descriptions in zh-CN and en-US, and update the relevant XAML to reference them.
PCL.Core/App/Config.cs
Plain Craft Launcher 2/Pages/PageSetup/PageSetupGameManage.xaml.cs
PCL.Core/App/Localization/Languages/en-US.xaml
PCL.Core/App/Localization/Languages/zh-CN.xaml
Plain Craft Launcher 2/Pages/PageSetup/PageSetupGameManage.xaml

Assessment against linked issues

Issue Objective Addressed Explanation
#3221 Add a quick download button on the resource/mod cards (next to the favorite button) in the download/search UI.
#3221 When clicking the quick download button, allow choosing the target instance (with the first entry being the currently selected instance) or a path, with behavior configurable so that the prompt can be skipped and later changed in settings.
#3221 Implement logic so that quick download retrieves the latest compatible version of the selected resource and downloads it to the chosen instance or folder.

Possibly linked issues

  • #: PR 实现了在模组卡片旁增加快捷下载按钮、可选实例及可配置行为,符合 issue 请求

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@SALTWOOD SALTWOOD marked this pull request as ready for review June 22, 2026 15:36
@pcl-ce-automation pcl-ce-automation Bot added 🛠️ 等待审查 Pull Request 已完善,等待维护者或负责人进行代码审查 and removed 🚧 正在处理 开发人员正在对该内容进行开发、测试或修复,进展中 labels Jun 22, 2026
@SALTWOOD SALTWOOD requested a review from a team June 22, 2026 15:36

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey - 我在这里给出了一些整体层面的反馈:

  • QuickDownloadPickInstance 中,IsInstanceSuitableForFile 可能会对每个实例重复调用 Load(),同时你也可能在其他地方加载实例;建议考虑在前面统一加载实例,或者缓存加载结果,以避免在每次兼容性检查时重复加载。
  • IsInstanceSuitableForFile 中的兼容性逻辑似乎与详细下载流程 (Save_Click / isVersionSuitable) 中的现有逻辑相似;将这部分逻辑提取到一个共享的辅助方法中,可以减少重复代码,也能降低两个流程随时间产生差异的风险。
  • PickLatestFile 方法接收一个可选的 compatFilter 参数,但在这个 PR 中从未使用;为了保持 API 一致性,要么移除该参数以简化接口,要么在当前预先过滤兼容文件的地方开始使用它。
供 AI 代理使用的提示
Please address the comments from this code review:

## Overall Comments
- In `QuickDownloadPickInstance`, `IsInstanceSuitableForFile` may call `Load()` on each instance repeatedly while you also potentially load instances elsewhere; consider ensuring instances are loaded once up front or caching the result to avoid repeated loading on every compatibility check.
- The compatibility logic in `IsInstanceSuitableForFile` appears to mirror existing logic from the detailed download flow (`Save_Click`/`isVersionSuitable`); extracting this into a shared helper would reduce duplication and the risk of the two paths diverging over time.
- The `PickLatestFile` method accepts an optional `compatFilter` parameter that is never used in this PR; either remove the parameter for simplicity or start using it where you currently pre-filter compatible files to keep the API coherent.

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎分享 ✨
帮我变得更有用!请在每条评论上点 👍 或 👎,我会根据你的反馈改进后续评审。
Original comment in English

Hey - I've left some high level feedback:

  • In QuickDownloadPickInstance, IsInstanceSuitableForFile may call Load() on each instance repeatedly while you also potentially load instances elsewhere; consider ensuring instances are loaded once up front or caching the result to avoid repeated loading on every compatibility check.
  • The compatibility logic in IsInstanceSuitableForFile appears to mirror existing logic from the detailed download flow (Save_Click/isVersionSuitable); extracting this into a shared helper would reduce duplication and the risk of the two paths diverging over time.
  • The PickLatestFile method accepts an optional compatFilter parameter that is never used in this PR; either remove the parameter for simplicity or start using it where you currently pre-filter compatible files to keep the API coherent.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `QuickDownloadPickInstance`, `IsInstanceSuitableForFile` may call `Load()` on each instance repeatedly while you also potentially load instances elsewhere; consider ensuring instances are loaded once up front or caching the result to avoid repeated loading on every compatibility check.
- The compatibility logic in `IsInstanceSuitableForFile` appears to mirror existing logic from the detailed download flow (`Save_Click`/`isVersionSuitable`); extracting this into a shared helper would reduce duplication and the risk of the two paths diverging over time.
- The `PickLatestFile` method accepts an optional `compatFilter` parameter that is never used in this PR; either remove the parameter for simplicity or start using it where you currently pre-filter compatible files to keep the API coherent.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@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: 2866ce5dbf

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs

@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: 3f93102d18

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs Outdated
Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Comment thread PCL.Core/App/Localization/Languages/en-US.xaml Outdated
Comment thread PCL.Core/App/Localization/Languages/en-US.xaml Outdated
SALTWOOD and others added 5 commits June 23, 2026 00:14
Co-authored-by: ChilovenBustiangle <116699482+Chiloven945@users.noreply.github.com>
Co-authored-by: ChilovenBustiangle <116699482+Chiloven945@users.noreply.github.com>
@SALTWOOD SALTWOOD requested a review from Chiloven945 June 22, 2026 16:17
@pcl-ce-automation pcl-ce-automation Bot added 🕑 等待合并 已处理完毕,正在等待代码合并入主分支 and removed 🛠️ 等待审查 Pull Request 已完善,等待维护者或负责人进行代码审查 labels Jun 22, 2026

@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: b86b6dd128

ℹ️ About Codex in GitHub

Codex has been enabled to automatically 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 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
Comment thread Plain Craft Launcher 2/Modules/Minecraft/ModComp.cs
@SALTWOOD SALTWOOD merged commit 74ad8af into dev Jun 22, 2026
3 checks passed
@pcl-ce-automation pcl-ce-automation Bot added 👌 完成 相关问题已修复或功能已实现,计划在下次版本更新时正式上线 and removed 🕑 等待合并 已处理完毕,正在等待代码合并入主分支 labels Jun 22, 2026
@SALTWOOD SALTWOOD deleted the feat/comp-quick-download branch June 22, 2026 16:25
@pcl-ce-automation pcl-ce-automation Bot removed the 👌 完成 相关问题已修复或功能已实现,计划在下次版本更新时正式上线 label Jun 22, 2026
@pcl-ce-automation pcl-ce-automation Bot added the 🛠️ 等待审查 Pull Request 已完善,等待维护者或负责人进行代码审查 label Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: L PR 大小评估:大型 🛠️ 等待审查 Pull Request 已完善,等待维护者或负责人进行代码审查

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[C#]: 快捷下载MOD

3 participants