HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

[Bug] For mods that contain multiple loader metadata files at the same time, `Check for Updates` may result in mismatched releases

Open 3gf8jv4dv opened this issue 1 year ago • 15 comments

平台 | Platform

Windows 11

问题描述 | Problem Description

Using release-3.5.8 (release).

  1. Install a 1.20.6 Fabric instance
  2. Install relatively old versions of CreativeCore and AmbientSounds
  3. Trigger Check for Updates
  4. You will find that the former matches the correct release, and the latter matches the release for NeoForge

According to my comment at https://github.com/HMCL-dev/HMCL/issues/3048#issuecomment-2132564398, the problem should be strange behavior of developers during the build process. The former only contains the metadata files for the corresponding modloader, while the latter contains both. I tried Prism Launcher, which contains similar functionality, and it matched the corresponding releases correctly.

Can we follow https://github.com/HMCL-dev/HMCL/pull/3089 and revise the corresponding code logic?

Preview

Thanks to TheWhiteDog9487 for discovering and mentioning this issue.

启动器崩溃报告 / 启动器日志文件 | Launcher Crash Report / Launcher Log File

N/A

3gf8jv4dv avatar May 28 '24 14:05 3gf8jv4dv

If the latest version support both Fabric and NeoForge, why can't HMCL update the mod to this version?

burningtnt avatar May 28 '24 14:05 burningtnt

If the latest version support both Fabric and NeoForge, why can't HMCL update the mod to this version?

No, it is not supported. The developers released it in two files (Fabric and NeoForge).

3gf8jv4dv avatar May 28 '24 14:05 3gf8jv4dv

I suddenly remembered that there are indeed developers who have implemented a release file to support multiple modloaders at the same time (such as the Serilum series and Zume), but this situation will not be discussed here, only traditional mods (the support of different modloaders reflects into a different file).

3gf8jv4dv avatar May 28 '24 14:05 3gf8jv4dv

@burningtnt

Any ideas on this issue?

3gf8jv4dv avatar Jun 16 '24 15:06 3gf8jv4dv

It's strange that HMCL seems not to have checked the mod loader type. It will take longer time.

burningtnt avatar Jun 16 '24 15:06 burningtnt

Could you provide a screenshot on the local mod list page for mod AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar?

burningtnt avatar Jun 18 '24 13:06 burningtnt

Could you provide a screenshot on the local mod list page for mod AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar?

@burningtnt

HMCL-dev@e0ecd5e, HMCL-dev/HMCL/actions/runs/9547498968

Preview

3gf8jv4dv avatar Jun 18 '24 14:06 3gf8jv4dv

Could you provide a screenshot on the local mod list page for mod AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar?

@burningtnt

HMCL-dev@e0ecd5e, HMCL-dev/HMCL/actions/runs/9547498968

Preview Image

Could you provide a screenshot of the zip root directory after opening AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar this mod with a zip file viewer?

burningtnt avatar Jun 18 '24 14:06 burningtnt

It's strange that HMCL consider this mod as a NeoForge mod.

burningtnt avatar Jun 18 '24 14:06 burningtnt

@burningtnt

Preview

By the way, if the reply includes pictures, it is not recommended to quote them.

3gf8jv4dv avatar Jun 18 '24 14:06 3gf8jv4dv

@burningtnt

Preview Image

I suppose this bug is because AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar supports both Fabric and NeoForge. And HMCL only consider whether is support NeoForge.

burningtnt avatar Jun 18 '24 14:06 burningtnt

I suppose this bug is because AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar supports both Fabric and NeoForge. And HMCL only consider whether is support NeoForge.

There is a reason why the mod’s developer marked FABRIC in the filename, and @TheWhiteDog9487 also proved this in https://github.com/HMCL-dev/HMCL/issues/3048#issuecomment-2132535344. I just tested this as well, the game does not launch on a NeoForge instance using AmbientSounds_FABRIC_v6.0.2_mc1.20.6.jar. Strictly speaking, this is a problem for the developers of the mod. Maybe I'll consider giving him/her/them feedback.

But having said that, some mods do support multiple modloaders in a single jar, and for such mods this issue is not a big deal, like the Zume and Serilum series. But showing them as mods from another modloader in one modloader’s instance does not sound like a good idea.

3gf8jv4dv avatar Jun 18 '24 14:06 3gf8jv4dv

Yes, I agree with you. We will provide support for mods with multiple modloaders. But that maybe another task.

burningtnt avatar Jun 18 '24 14:06 burningtnt

@burningtnt

Regarding the issues with AmbientSounds, I have reported them to its developers.

https://github.com/CreativeMD/AmbientSounds/issues/236

3gf8jv4dv avatar Jun 18 '24 14:06 3gf8jv4dv

CreativeMD’s comment:

Sorry, but AmbientSound has one codebase for both versions. CreativeCore deals with the loading on different sides. All I could is to delete the files inside the jar when compiling them. But i also do not understand why the launcher needs to the stuff in that way anyway. I mean the launcher should know if a given instance is forge or fabric, right?

3gf8jv4dv avatar Jun 19 '24 05:06 3gf8jv4dv

@Glavo 最近的 commit 有解决这个问题么?

3gf8jv4dv avatar Oct 09 '25 13:10 3gf8jv4dv

#4621 应当在一定程度上解决了该问题,烦请社区帮助测试

burningtnt avatar Oct 09 '25 13:10 burningtnt

就本 issue 提到的模组来说,经测试已经可以正确匹配更新。 I've tested the mods mentioned in this issue and confirmed they now correctly match updates.

CC @Glavo @burningtnt @TheWhiteDog9487

3gf8jv4dv avatar Nov 09 '25 17:11 3gf8jv4dv