fabric-loader icon indicating copy to clipboard operation
fabric-loader copied to clipboard

Unable to launch 13w16a-13w23a because of added launch args

Open SpaceWalkerRS opened this issue 5 months ago • 4 comments

Starting with 13w16a, Minecraft uses JOpt Simple to parse the launch args. Unfortunately, it does not enable allowsUnrecognizedOptions until 13w23b. As a result, all versions between 13w16a and 13w23a crash on launch because of launch args added by Fabric.

Perhaps the main method ought to be patched to enable allowsUnrecognizedOptions?

SpaceWalkerRS avatar Jul 28 '25 08:07 SpaceWalkerRS

It appears the JOpt Simple version used (4.4) in those Minecraft versions did not yet have that option. It was added in 4.5, which Minecraft started using in 13w23b.

SpaceWalkerRS avatar Jul 28 '25 09:07 SpaceWalkerRS

What launch args are being added? Is it something loader is doing? If so I don't think we should be altering this behaviour, not adding the unrecognised args seems like the proper fix to me.

modmuss50 avatar Jul 28 '25 10:07 modmuss50

As far as I can tell, it's about MinecraftGameProvider::processArgumentMap.

not adding the unrecognised args seems like the proper fix to me

The reason I prefer the other solution is that mods may want to parse custom launch args, and there is no way for Loader to know which args would go truly unused.

One example of this is the versionType argument. Minecraft didn't recognize this argument until 16w05b, when it started using it to display modified branding information on the title screen and the debug overlay. There are mods for Ornithe and also Legacy Fabric that backport this feature to older versions.

I recognize that it's just a handful of snapshots that are broken, but if the fix is to not pass unrecognized launch args, features like this will break for a whole lot more versions.

SpaceWalkerRS avatar Jul 28 '25 10:07 SpaceWalkerRS

I'd gate our argument additions behind a version check in the MC GameProvider and look into adding a way for mods to add / change the args from preLaunch or earlier.

Player3324 avatar Jul 28 '25 14:07 Player3324