-
Bug
-
Resolution: Awaiting Response
-
None
-
2.3.481 (Mac), 2.3.481 (Linux), 2.3.481 (Windows), 2.3.481 (New Windows App)
-
Unconfirmed
-
928199
Minecraft Launcher version 2.3.481 introduces a severe regression that is causing Minecraft clients to treat the launcher's workDir as the Java default filesystem path (java.nio.file.FileSystem).
While this issue appears to not significantly affect vanilla unmodified Minecraft clients, it results in a severe adverse effect on all Minecraft mod loaders (Quilt, Fabric, Forge) that are configured in the launcher to use a custom game directory, which is a configuration that is used by a significant portion of Minecraft's playerbase.
Many Minecraft mods use java.nio.file.Paths.get() to derive the current Minecraft instance's profile directory in order to store data such as configuration files or other cached data, which is important to keep separate between instances that may belong to wildly different versions of Minecraft. This also causes the Launcher workDir to become unnecessarily polluted.
Please note that this is not to say that vanilla unmodified Minecraft clients are completely unaffected — this issue is also causing all client logs even for vanilla unmodified clients to be written to the incorrect directory.
This behaviour can be tested by observing the value returned by java.nio.file.Paths.get("config/").toAbsolutePath().
On a Minecraft client launched from Minecraft Launcher 2.3.462 (the last working version, still usable via the --skipUpdate argument), this returns the correct configured game profile directory — for example, ${HOME}/Library/Application Support/minecraft/1.19.2/config on macOS.
On a Minecraft client launched from Minecraft Launcher 2.3.481, this returns an incorrect value of ${HOME}/Library/Application Support/minecraft/config, which is incorrectly treating the launcher's workDir value as the game profile directory.
The root cause of this can be traced down to the default JRE filesystem path being returned from java.nio.file.FileSystem.getDefault() being incorrect on clients launched from Launcher 2.3.481.
※ EDIT: This issue is also most likely the root cause of MCL-22670 and MCL-22692.
※ EDIT 2: Other related issues: MC-257316 (incorrect project).