HMCL-dev / HMCL

A Minecraft Launcher which is multi-functional, cross-platform and popular
https://hmcl.huangyuhui.net
GNU General Public License v3.0
6.89k stars 676 forks source link

[Feature] LocalModpackPage 支持套文件夹检查支持 #2724

Open zkitefly opened 8 months ago

zkitefly commented 8 months ago

描述 | Description

当前 LocalModpackPage 检查的路径是:

xxx.zip
├── .minecraft
│   ├── versions
│   │    └──  version

但若路径为如下路径时,会检测失败

xxx.zip
├── xxx
│   ├── .minecraft
│   │    └── versions
│   │    │      └──  version

image

原因 | Reason

不弄的话感觉这功能没意义了(

burningtnt commented 8 months ago

这是整合包格式不标准导致的吧……

zkitefly commented 8 months ago

这是整合包格式不标准导致的吧……

这个是传统的 .minecraft 打包的压缩包

有些打包者会返回到上一目录选择该文件夹📂来打包,结果打包出来的格式会是这样的:

xxx.zip
├── xxx
│   ├── .minecraft
│   │    └── versions
│   │    │      └──  version

检测就无效了,所以我就说感觉不特殊检测感觉这功能就没意义了(

burningtnt commented 8 months ago

感觉没啥问题,这种情况下极有可能是包含启动器的?

try (FileSystem fs = CompressingUtils.createReadOnlyZipFileSystem(file, charset)) {
    findMinecraftDirectoryInManuallyCreatedModpack(file.toString(), fs);
    throw new ManuallyCreatedModpackException(file);
} catch (IOException e) {
    // ignore it
}

HMCL 目前是做特殊识别才提示的,即这个提示是预期中的表现