Hex-Dragon / PCL2

Plain Craft Launcher(我的世界启动器 PCL)的源代码,为支持社区研究而公开。
https://afdian.com/a/LTCat
Other
2.56k stars 185 forks source link

安装MCBBS整合包时不会添加整合包内JVM参数 #4395

Open tmdakm opened 2 months ago

tmdakm commented 2 months ago

检查项

描述

按照整合包规范制作了一个测试用MCBBS整合包 其中的mcbbs整合包packmeta文件和manifest文件都加上了 "launchInfo": { "minMemory": 0, "launchArgument": [], "javaArgument": [ "-XX:+ExplicitGCInvokesConcurrent" ] } 安装完成后,无法找到该jvm参数: image

重现步骤

拖动带有jvm参数的整合包进入pcl2窗口并安装

日志与附件

test.zip logs.zip

tmdakm commented 2 months ago

经过测试 我添加另一个整合包是有JVM参数 但是别人添加那个就没有 而这个test.zip是都没有 另附setup.ini: Count:9 LastVersionCode:51 Notice:11 LastMinecraftVersion:21w44a UiTheme:0 LaunchFolderSelect:$HuangyuRSCLIENT\.minecraft\ History:1.12.2 LaunchSplit:1 LaunchFolders:D:\Minecraft\xdms\.minecraft\ HomeUpdateRelease:True HomeForumPush:True LaunchVisibility:4 UiHiddenOtherHelp:False LaunchVersionSelect:555 LoginPageType:0 LaunchRamType:1 LaunchRamCustom:12 LaunchArgumentIndie:4 LaunchAdvanceGame:-XX:+DisableAttachMechanism UiCustomType:0

tmdakm commented 2 months ago

经过测试 我添加另一个整合包是有JVM参数 但是别人添加那个就没有 而这个test.zip是都没有 另附setup.ini: Count:9 LastVersionCode:51 Notice:11 LastMinecraftVersion:21w44a UiTheme:0 LaunchFolderSelect:$HuangyuRSCLIENT\.minecraft\ History:1.12.2 LaunchSplit:1 LaunchFolders:D:\Minecraft\xdms\.minecraft\ HomeUpdateRelease:True HomeForumPush:True LaunchVisibility:4 UiHiddenOtherHelp:False LaunchVersionSelect:555 LoginPageType:0 LaunchRamType:1 LaunchRamCustom:12 LaunchArgumentIndie:4 LaunchAdvanceGame:-XX:+DisableAttachMechanism UiCustomType:0

确定你的代码写对了吗( 也许是不符合格式?

我确定是按照格式写的 其他启动器可以正常导入 这个是setup.ini(

Xiaoyi311 commented 2 months ago

Modules/Minecraft/ModModpack.vb 的确没有关于 JVM 的相关代码,连 launchInfo 都没有编写

tmdakm commented 2 months ago

经过测试 我添加另一个整合包是有JVM参数 但是别人添加那个就没有 而这个test.zip是都没有 另附setup.ini: Count:9 LastVersionCode:51 Notice:11 LastMinecraftVersion:21w44a UiTheme:0 LaunchFolderSelect:$HuangyuRSCLIENT\.minecraft\ History:1.12.2 LaunchSplit:1 LaunchFolders:D:\Minecraft\xdms\.minecraft\ HomeUpdateRelease:True HomeForumPush:True LaunchVisibility:4 UiHiddenOtherHelp:False LaunchVersionSelect:555 LoginPageType:0 LaunchRamType:1 LaunchRamCustom:12 LaunchArgumentIndie:4 LaunchAdvanceGame:-XX:+DisableAttachMechanism UiCustomType:0

另一个整合包导入有jvm参数是因为导出了那个版本的pcl配置文件

tmdakm commented 2 months ago

经过测试 我添加另一个整合包是有JVM参数 但是别人添加那个就没有 而这个test.zip是都没有 另附setup.ini: Count:9 LastVersionCode:51 Notice:11 LastMinecraftVersion:21w44a UiTheme:0 LaunchFolderSelect:$HuangyuRSCLIENT\.minecraft\ History:1.12.2 LaunchSplit:1 LaunchFolders:D:\Minecraft\xdms\.minecraft\ HomeUpdateRelease:True HomeForumPush:True LaunchVisibility:4 UiHiddenOtherHelp:False LaunchVersionSelect:555 LoginPageType:0 LaunchRamType:1 LaunchRamCustom:12 LaunchArgumentIndie:4 LaunchAdvanceGame:-XX:+DisableAttachMechanism UiCustomType:0

另一个整合包导入有jvm参数是因为导出了那个版本的pcl配置文件

那就不奇怪了,可能你添加 JVM 参数的方法和 ta 的不一样,你的方法 PCL 也许不支持 修改 PCL 配置文件倒是可以办到

因为按照我找到的整合包manifest文件格式,里面是包含jvm参数的

Xiaoyi311 commented 2 months ago

我觉得这个应该算是新功能添加,是因为目前 PCL 代码中没有对 mcbbs.manifest 中的 JVM 参数做出相应处理。目前PCL对于导入游戏这一类的JVM参数处理好像就是PCL.ini了

LTCatt commented 2 months ago

@ZhaiSoul 有关于这个字段的文档么?

tmdakm commented 2 months ago

@ZhaiSoul 有关于这个字段的文档么?

"launchInfo": {
    "minMemory": 4096,
             //"支持的Java版本,该选项非强制,但需要警告玩家",
    "supportJava": [8, 9],
    "launchArgument": ["", ""],
    "javaArgument": ["", ""]
}

如果你说的是launchInfo的话(

zkitefly commented 2 months ago

@ZhaiSoul 有关于这个字段的文档么?

"launchInfo": { "minMemory": 4096, //"支持的Java版本,该选项非强制,但需要警告玩家", "supportJava": [8, 9], "launchArgument": ["", ""], "javaArgument": ["", ""] }

如果你说的是launchInfo的话(

这个是来自哪里的?

tmdakm commented 2 months ago

@ZhaiSoul 有关于这个字段的文档么?

"launchInfo": { "minMemory": 4096, //"支持的Java版本,该选项非强制,但需要警告玩家", "supportJava": [8, 9], "launchArgument": ["", ""], "javaArgument": ["", ""] } 如果你说的是launchInfo的话(

这个是来自哪里的?

某个开发群

tmdakm commented 2 months ago

写了个简单的读取,应该能用?(

LTCatt commented 6 days ago

@ZhaiSoul 帖主的示例整合包里,这个字段是这样的:

  "launchInfo": {
    "minMemory": 0,
    "launchArgument": [],
    "javaArgument": [
      "-XX:+ExplicitGCInvokesConcurrent"
    ]
  }

也就是说 javaArgument 应该追加在启动器默认的参数之后? 但这样的话,如果整合包需要删除/覆盖启动器默认的参数,就没法做到了吧…… 有没有什么字段是控制 ”是覆盖还是添加“ 这一行为的?

zkitefly commented 2 days ago

但这样的话,如果整合包需要删除/覆盖启动器默认的参数,就没法做到了吧……

整合包真的需要这样做吗

可以做到替换默认参数的某个值,但覆盖还是不用的吧

LTCatt commented 2 days ago

也行吧……(