Hex-Dragon / PCL2

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

启动forge optifine共存版本, 在游戏界面内点击"打开光影包文件夹"时提示找不到文件夹 #3868

Closed EndlessEmptiness closed 1 month ago

EndlessEmptiness commented 5 months ago

检查项

描述

使用PCL2 启动 Minecraft 时在菜单的视频子菜单内点击"打开光影包"文件夹,提示 "找不到文件"

PCL2版本: Snapshot 2.7.3, 能够在 Release 2.7.1.1 中复现 Minecraft版本: 1.12.2 Forge版本: 14.23.5.2847 Optifine版本: G5 Java版本: _1.8.0362 系统: Windows 10 ProWorkstation, 22H2 image

重现步骤

  1. 在启动游戏后由主菜单进入选项->视频设置->光影->光影包文件夹
  2. 提示 Windows找不到文件'\C:\Programs\PCL2.minecraft\versions\1.12.2-Forge_14.23.5.2847-Optifine_G5 光影包测试\shaderpacks\'。请确定文件名是否正确后,再试一次。

日志与附件

latest.log Log1.txt

allMagicNB commented 5 months ago

用 HMCL 启动试试

EndlessEmptiness commented 5 months ago

用 HMCL 启动试试

采用 最新版HMCL(3.5.8) 启动原PCL下载的同版本 无法启动

allMagicNB commented 5 months ago

EndlessEmptiness commented 5 months ago

使用HMCL启动该版本无法启动 [摘自HMCL启动的latest.log]

[11:44:31] [main/ERROR]: Unable to launch java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_411] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_411] at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_411] at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?] at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?] Caused by: java.lang.NoSuchMethodError: javax.vecmath.Matrix4f: method ()V not found at net.minecraftforge.client.ForgeHooksClient.(ForgeHooksClient.java:420) ~[ForgeHooksClient.class:?] at net.minecraft.client.Minecraft.(Minecraft.java:335) ~[bib.class:?] at net.minecraft.client.main.Main.main(SourceFile:123) ~[Main.class:?] ... 6 more

[11:44:31] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraftforge.fml.relauncher.FMLSecurityManager.checkPermission(FMLSecurityManager.java:49) [11:44:31] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.SecurityManager.checkExit(Unknown Source) [11:44:31] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.Runtime.exit(Unknown Source) [11:44:31] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:-1]: at java.lang.System.exit(Unknown Source) [11:44:31] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraft.launchwrapper.Launch.launch(Launch.java:138) [11:44:31] [main/INFO]: [java.lang.ThreadGroup:uncaughtException:-1]: at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

burningtnt commented 5 months ago

…… 这是因为你两头用的 JRE 根本不一致。

EndlessEmptiness commented 5 months ago

…… 这是因为你两头用的 JRE 根本不一致。

更换相同Java(362)后无法启动的问题能够在HMCL上复现

allMagicNB commented 5 months ago

改下 通用->设置->全局游戏设置->Java 路径 再启动

EndlessEmptiness commented 5 months ago

改下 通用->设置->全局游戏设置->Java 路径 再启动

您所指的是HMCL启动器吗?如果是的话,我已经尝试修改了Java路径为PCL2一致,仍无法启动

allMagicNB commented 5 months ago

改下 通用->设置->全局游戏设置->Java 路径 再启动

您所指的是HMCL启动器吗?如果是的话,我已经尝试修改了Java路径为PCL2一致,仍无法启动

那 PCL 能启动吗?

EndlessEmptiness commented 5 months ago

改下 通用->设置->全局游戏设置->Java 路径 再启动

您所指的是HMCL启动器吗?如果是的话,我已经尝试修改了Java路径为PCL2一致,仍无法启动

那 PCL 能启动吗?

正如您所看见的,PCL2可以启动,并且出现了这个BUG

burningtnt commented 5 months ago

HMCL 启动后,请上传崩溃信息

allMagicNB commented 5 months ago

上传下新 latest.log,注意是直接发文件而不是切片

burningtnt commented 5 months ago

至于本 Issue,则是 OptiFine 代码没有判断 shaderpacks 文件夹是否存在导致的。你去手动新建路径上的那个文件夹即可。与 PCL2 无关

EndlessEmptiness commented 5 months ago

HMCL 启动后,请上传崩溃信息

minecraft-exported-crash-info-2024-05-20T11-55-12.zip 以上是HMCL启动的崩溃报告

EndlessEmptiness commented 5 months ago

至于本 Issue,则是 OptiFine 代码没有判断 shaderpacks 文件夹是否存在导致的。你去手动新建路径上的哪个文件夹

补充说明: 在发送Issue前我已经检查过并确认shaderpacks文件夹存在且在其中放置的光影可以被识别 仅“打开光影包文件夹”出现错误

allMagicNB commented 5 months ago

你再换下 HMCL 启动用的 Java,换成 C:\Users\janhous\.jdks\corretto-1.8.0_362\jre\bin\java.exe

还是不行的话,换官方版 JRE 8u411 启动试试……

EndlessEmptiness commented 5 months ago

你再换下 HMCL 启动用的 Java,换成 C:\Users\janhous\.jdks\corretto-1.8.0_362\jre\bin\java.exe

还是不行的话,换官方版 JRE 8u411 启动试试……

均尝试过,以这两个Java用HMCL启动皆无效

allMagicNB commented 5 months ago

你这 Java 还是换个官方的新版吧……

EndlessEmptiness commented 5 months ago

你这 Java 还是换个官方的新版吧……

用的就是最新的8u411...

allMagicNB commented 5 months ago

你这 Java 还是换个官方的新版吧……

用的就是最新的8u411...

上传新的日志(PCL HMCL Minecraft)

EndlessEmptiness commented 5 months ago

你这 Java 还是换个官方的新版吧……

用的就是最新的8u411...

上传新的日志(PCL HMCL Minecraft)

新旧日志除Java版本号外无区别,基本排除Java导致的问题。

allMagicNB commented 5 months ago

你这 Java 还是换个官方的新版吧……

用的就是最新的8u411...

上传新的日志(PCL HMCL Minecraft)

新旧日志除Java版本号外无区别,基本排除Java导致的问题。

你先发上来

EndlessEmptiness commented 5 months ago

你这 Java 还是换个官方的新版吧……

用的就是最新的8u411...

上传新的日志(PCL HMCL Minecraft)

新旧日志除Java版本号外无区别,基本排除Java导致的问题。

你先发上来

[JavaOffical-8u411] minecraft-exported-crash-info-2024-05-23T13-28-29.zip [JavaOffical-8u411] PCL2_Log1.txt [JavaOffical-8u411] latest.log

allMagicNB commented 5 months ago

@burningtnt

Pigeon0v0 commented 5 months ago

你是否曾经将系统的库文件夹设置到了根目录之类的...

LTCatt commented 5 months ago

这个 C:\ 左边还多了个 \……总感觉不是启动器导致的…… 先等等看 HMCL 会不会也有这问题吧

Tactsohg commented 4 months ago

解决方法是JVM参数加个-Djdk.lang.Process.allowAmbiguousCommands=true

原因是Java8版本太新了,从某个版本开始在Process启动程序时会用更安全的方式对执行的命令进行转义,而1.12.2之类的老版本MC与OptiFine在开发时并没有做这种适配(毕竟不能预知未来= =),所以需要加那个参数让Java禁用那个安全转义。 虽然不是PCL2的锅,要不把这个参数给搞成默认的?官启倒是直接用的没这问题的旧版Java8。

allMagicNB commented 4 months ago

@EndlessEmptiness 能否再测试下其他启动器(比如 BakaXL XMCL 啥的)会不会报错

wuliaodexiaoluo commented 4 months ago
Java: Oracle JRE 8u411 ![image](https://github.com/Hex-Dragon/PCL2/assets/160083863/cd72f541-7d20-43f5-a3ab-1b009f3dac3c)

@EndlessEmptiness 导出下启动脚本然后发上来?

EndlessEmptiness commented 4 months ago

@EndlessEmptiness 导出下启动脚本然后发上来?

启动 1.12.2-Forge_14.23.5.2847-OptiFine_G5 光影包测试.bat.txt

EndlessEmptiness commented 4 months ago

解决方法是JVM参数加个-Djdk.lang.Process.allowAmbiguousCommands=true

原因是Java8版本太新了,从某个版本开始在Process启动程序时会用更安全的方式对执行的命令进行转义,而1.12.2之类的老版本MC与OptiFine在开发时并没有做这种适配(毕竟不能预知未来= =),所以需要加那个参数让Java禁用那个安全转义。 虽然不是PCL2的锅,要不把这个参数给搞成默认的?官启倒是直接用的没这问题的旧版Java8。

感谢回复! 有效,按照预期解决。 @LTCatt

allMagicNB commented 4 months ago

先别关

JingHai-Lingyun commented 2 months ago

image Log1.txt 不知为何高版本 NeoForge 在模组依赖不正确报错时 PCL 分析也出现了 / 开头,不过原理应该是差不多的?

LTCatt commented 1 month ago

https://bugs.openjdk.org/browse/JDK-8282989

EndlessEmptiness commented 1 month ago

识别码: 0420-E65F-1BA7-483B请求解锁隐藏主题(终于修了awa)

LTCatt commented 4 weeks ago

你的解锁码:sCinunnUiaZFX1hN8DyEPNQ7zEvKqhDN 在 更多 → 关于与鸣谢 → 输入解锁码 中使用,谢谢支持~