HMCL
HMCL copied to clipboard
[Feature] 为模组管理增加一个依赖分析功能
描述 | Description
就是类似于apt那种,对文件夹里的模组在后台自动进行依赖分析。 可以通过一些方式把依赖关系显示出来,比如哪些依赖于A,哪些依赖于B,这种树状结构?
实现的话,至少fabric应该难度不大,模组的fabric.mod.json里面都写了的
"depends": {
"fabricloader": "\u003e\u003d0.15.0",
"fabric-api": "\u003e\u003d0.95.3",
"puzzleslib": "\u003e\u003d20.4.18",
"minecraft": "1.20.4",
"java": "\u003e\u003d17"
},
这个是EffectDescriptions的
原因 | Reason
就不说大型整合包,只算我自己平时用的Fabric的模组列表。 前期我还能够记得起来大致的依赖关系,后面数量一起来就完全搞不清楚谁是谁了。具体的例子的话,我至少能找两种:
- 比如今天模组更新之后崩溃,我看日志觉得可能和sodium有关系,我就给他禁用了进行测试,一启动游戏fabric loader直接报告三四个依赖于sodium的模组不能工作,我还要去挨个找到你是谁你是谁每个都关掉。
- 我之前用过Music Player,这家伙依赖于U Team Core,后来不用了,我就把Music Player给禁用了。U Team Core被我忘在一边了,等我想起来的时候我已经不记得这个模组是谁的前置依赖项了。所以我想说能不能有一个类似于apt autoremove的东西。
https://github.com/HMCL-dev/HMCL/issues/3025 https://github.com/HMCL-dev/HMCL/issues/2598
类似这个?
#3025
类似这个?
3025这个描述的是A依赖B,但没有安装B导致的启动崩溃,加个按钮扫描一下有没有这种问题。 应该说属于一个类型,但和我描述的两个场景都不一样
我期望的是:
- 很多模组依赖A,我把A禁用的时候弹一个窗,说明如果关掉A那么有哪些模组不能工作,会导致崩溃,是否要同步禁用掉这些模组。
- 自动检查有哪些模组作为依赖项,但是并没有任何模组依赖它。这种lib模组可以安全地被禁用(优化游戏性能和加载时间),可以做成一个按钮或者别的机制?
#3025 #2598
类似这个?
2598这个也不是同一个东西,虽然都可以归类于模组兼容性。