HMCL-dev / HMCL-dev/HMCL

[Feature] 自动处理mod依赖关系

Open
#6,710 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
Java
Stars
10.1k
Forks
934
Avg merge
1d 5h
Merged PRs (30d)
82

Description

概述 | Summary

在下载需要各种前置的mod时,自动处理依赖关系。

原因 | Reason

有许多mod都有其自身的前置mod,否则就无法运行。对于小白,处理这么多mod并不友好(其实我也是)。HMCL现在已经可以在安装mod时,显示它所必须/可选的前置mod,那么理论上HMCL启动器就完全可以完成补全前置mod的过程。

详情 | Description

(我并不了解Java,所以如有错误还请指正。)
每当打开某个mod时,读取所需要的前置列表,保存;按图索骥,依次下载各mod的“推荐”版本(最大限度避免兼容问题);完成。
但是实际情况非常棘手,我列出几个我遇见过的:

  1. “推荐”版本是测试版,兼容问题。(Iris & Sodium,于8.17下载的测试版Sodium不兼容Iris,被迫回滚)
  2. 部分前置mod没有适配该版本MC。(Traveller's Backpack,可选前置Accessories未适配26.2)
  3. 依赖关系复杂,层层嵌套。(通用机械,A需要B, C, D, E,但是B还需要E, F, G)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by reviewing HMCL's existing mod installation flow and the dependency information it already displays, then determine how version compatibility and nested dependencies are represented. Done should include a defined approach for resolving required and recommended dependencies while handling unavailable or incompatible versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, game-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.