@@ -735,6 +735,8 @@ public static void getCacioJavaArgs(List<String> javaArgList, boolean isJava8, A
735735
736736 public static String [] getMinecraftJVMArgs (String versionName , File gameDir ) {
737737 JMinecraftVersionList .Version versionInfo = Tools .getVersionInfo (versionName , true );
738+ if (versionInfo .arguments == null || versionInfo .arguments .jvm == null )
739+ return new String [0 ];
738740
739741 Map <String , String > varArgMap = new ArrayMap <>();
740742 varArgMap .put ("classpath_separator" , ":" );
@@ -743,39 +745,37 @@ public static String[] getMinecraftJVMArgs(String versionName, File gameDir) {
743745 varArgMap .put ("natives_directory" , Tools .DIR_CACHE .getAbsolutePath ());
744746
745747 List <String > minecraftArgs = new ArrayList <>();
746- if (versionInfo .arguments .jvm != null ) {
747- for (Object arg : versionInfo .arguments .jvm ) {
748- if (arg instanceof String ) {
749- // These are defined later on
750- if (((String ) arg ).contains ("java.library.path" )) {
751- continue ;
752- }
753- if (arg .equals ("-cp" )) {
754- continue ;
755- }
756- if (arg .equals ("${classpath}" )){
757- continue ;
758- }
759- // Should fix Forge 1.17.1-37.0.12 and older from crashing
760- // Fixed in forge on https://github.com/MinecraftForge/MinecraftForge/pull/7919
761- // Released as Forge 1.17.1-37.0.13 in https://maven.minecraftforge.net/net/minecraftforge/forge/1.17.1-37.0.13/forge-1.17.1-37.0.13-changelog.txt
762- // yes this duplicates it, it's fine.
763- // FIXME: Workaround old bootstraplauncher <0.1.17 buggy behaviour. See FCL workaround
764- // https://github.com/FCL-Team/FoldCraftLauncher/blob/00e96bcf8ddc8a550e9aba6091a73d5bee973b54/FCLCore/src/main/java/com/tungsten/fclcore/download/MaintainTask.java#L198-L200
765- if (((String ) arg ).startsWith ("-DignoreList=" )){
766- minecraftArgs .add (arg +",${version_name}.jar" );
767- continue ;
768- }
748+ for (Object arg : versionInfo .arguments .jvm ) {
749+ if (arg instanceof String ) {
750+ // These are defined later on
751+ if (((String ) arg ).contains ("java.library.path" )) {
752+ continue ;
753+ }
754+ if (arg .equals ("-cp" )) {
755+ continue ;
756+ }
757+ if (arg .equals ("${classpath}" )){
758+ continue ;
759+ }
760+ // Should fix Forge 1.17.1-37.0.12 and older from crashing
761+ // Fixed in forge on https://github.com/MinecraftForge/MinecraftForge/pull/7919
762+ // Released as Forge 1.17.1-37.0.13 in https://maven.minecraftforge.net/net/minecraftforge/forge/1.17.1-37.0.13/forge-1.17.1-37.0.13-changelog.txt
763+ // yes this duplicates it, it's fine.
764+ // FIXME: Workaround old bootstraplauncher <0.1.17 buggy behaviour. See FCL workaround
765+ // https://github.com/FCL-Team/FoldCraftLauncher/blob/00e96bcf8ddc8a550e9aba6091a73d5bee973b54/FCLCore/src/main/java/com/tungsten/fclcore/download/MaintainTask.java#L198-L200
766+ if (((String ) arg ).startsWith ("-DignoreList=" )){
767+ minecraftArgs .add (arg +",${version_name}.jar" );
768+ continue ;
769+ }
769770
770- // TODO: Implement adding launcher brand and version
771- if (((String ) arg ).contains ("minecraft.launcher.brand" ) ||
772- ((String ) arg ).contains ("minecraft.launcher.version" )) {
773- continue ;
774- }
771+ // TODO: Implement adding launcher brand and version
772+ if (((String ) arg ).contains ("minecraft.launcher.brand" ) ||
773+ ((String ) arg ).contains ("minecraft.launcher.version" )) {
774+ continue ;
775+ }
775776
776- minecraftArgs .add ((String ) arg );
777- } //TODO: implement (?maybe?)
778- }
777+ minecraftArgs .add ((String ) arg );
778+ } //TODO: implement (?maybe?)
779779 }
780780 return JSONUtils .insertJSONValueList (minecraftArgs .toArray (new String [0 ]), varArgMap );
781781 }
0 commit comments