Buggy code:
if ( ( settings . getMaximumMemory ( ) ) < ( instance . getMemory ( ) ) ) { if ( ( ( Utils . getMaximumRam ( ) ) // 2 ) < ( instance . getMemory ( ) ) ) { arguments . add ( ( ( "-Xmx" + ( settings . getMaximumMemory ( ) ) ) + "M" ) ) ; } else { arguments . add ( ( ( "-Xmx" + ( instance . getMemory ( ) ) ) + "M" ) ) ; } } else { arguments . add ( ( ( "-Xmx" + ( settings . getMaximumMemory ( ) ) ) + "M" ) ) ; } if ( ( ( settings . getPermGen ( ) ) < ( instance . getPermGen ( ) ) ) && ( ( ( Utils . getMaximumRam ( ) ) // 8 ) < ( instance . getPermGen ( ) ) ) ) { if ( ( Utils . isJava8 ( ) ) || ( Utils . isJava9 ( ) ) ) { arguments . add ( ( ( "-XX:MetaspaceSize=" + ( instance . getPermGen ( ) ) ) + "M" ) ) ; } else { arguments . add ( ( ( "-XX:PermSize=" + ( instance . getPermGen ( ) ) ) + "M" ) ) ; } } else { if ( ( Utils . isJava8 ( ) ) || ( Utils . isJava9 ( ) ) ) { arguments . add ( ( ( "-XX:MetaspaceSize=" + ( settings . getPermGen ( ) ) ) + "M" ) ) ; } else { arguments . add ( ( ( "-XX:PermSize=" + ( settings . getPermGen ( ) ) ) + "M" ) ) ; } } arguments . add ( "-Duser.language=en" ) ; arguments . add ( "-Duser.country=US" ) ; if ( hasCustomJarMods ) { System . out . println ( "OH<seq2seq4repair_space>NOES!<seq2seq4repair_space>Avert<seq2seq4repair_space>your<seq2seq4repair_space>eyes!" ) ; arguments . add ( "-Dfml.ignorePatchDiscrepancies=true" ) ; arguments . add ( "-Dfml.ignoreInvalidMinecraftCertificates=true" ) ; System . out . println ( "Okay<seq2seq4repair_space>you<seq2seq4repair_space>can<seq2seq4repair_space>look<seq2seq4repair_space>again,<seq2seq4repair_space>you<seq2seq4repair_space>saw<seq2seq4repair_space>NOTHING!" ) ; } arguments . add ( ( "-Dfml.log.level=" + ( settings . getForgeLoggingLevel ( ) ) ) ) ; if ( Utils . isMac ( ) ) { arguments . add ( "-Dapple.laf.useScreenMenuBar=true" ) ; arguments . add ( ( "-Xdock:icon=" + ( new File ( instance . getAssetsDir ( ) , "icons//minecraft.icns" ) . getAbsolutePath ( ) ) ) ) ; arguments . add ( ( ( "-Xdock:name=\"" + ( instance . getName ( ) ) ) + "\"" ) ) ; } if ( ! ( settings . getJavaParameters ( ) . isEmpty ( ) ) ) { for ( String arg : settings . getJavaParameters ( ) . split ( "<seq2seq4repair_space>" ) ) { if ( ! ( arg . isEmpty ( ) ) ) { if ( instance . hasExtraArguments ( ) ) { if ( instance . getExtraArguments ( ) . contains ( arg ) ) { LogManager . error ( ( ( "Duplicate<seq2seq4repair_space>argument<seq2seq4repair_space>" + arg ) + "<seq2seq4repair_space>found<seq2seq4repair_space>and<seq2seq4repair_space>not<seq2seq4repair_space>added!" ) ) ; continue ; } } if ( arguments . toString ( ) . contains ( arg ) ) { LogManager . error ( ( ( "Duplicate<seq2seq4repair_space>argument<seq2seq4repair_space>" + arg ) + "<seq2seq4repair_space>found<seq2seq4repair_space>and<seq2seq4repair_space>not<seq2seq4repair_space>added!" ) ) ; continue ; } arguments . add ( arg ) ; } } } arguments . add ( ( "-Djava.library.path=" + ( instance . getNativesDirectory ( ) . getAbsolutePath ( ) ) ) ) ; arguments . add ( "-cp" ) ; arguments . add ( ( ( System . getProperty ( "java.class.path" ) ) + ( cpb . toString ( ) ) ) ) ; arguments . add ( instance . getMainClass ( ) ) ; <START_BUG> String props = "" ; <END_BUG> if ( ! ( response . isOffline ( ) ) ) { Gson gson = new GsonBuilder ( ) . registerTypeAdapter ( PropertyMap . class , new PropertyMapSerializer ( ) ) . create ( ) ; props = gson . toJson ( response . getAuth ( ) . getUserProperties ( ) ) ; } if ( instance . hasMinecraftArguments ( ) ) { String [ ] minecraftArguments = instance . getMinecraftArguments ( ) . split ( "<seq2seq4repair_space>" ) ; for ( String argument : minecraftArguments ) { argument = argument . replace ( "${auth_player_name}" , account . getMinecraftUsername ( ) ) ; argument = argument . replace ( "${profile_name}" , instance . getName ( ) ) ; argument = argument . replace ( "${user_properties}" , props ) ; argument = argument . replace ( "${version_name}" , instance . getMinecraftVersion ( ) ) ; argument = argument . replace ( "${game_directory}" , instance . getRootDirectory ( ) . getAbsolutePath ( ) ) ; argument = argument . replace ( "${game_assets}" , instance . getAssetsDir ( ) . getAbsolutePath ( ) ) ; argument = argument . replace ( "${assets_root}" , settings . getResourcesDir ( ) . getAbsolutePath ( ) ) ; argument = argument . replace ( "${assets_index_name}" , instance . getAssets ( ) ) ; argument = argument . replace ( "${auth_uuid}" , UUIDTypeAdapter . fromUUID ( account . getRealUUID ( ) ) ) ; argument = argument . replace ( "${auth_access_token}" , account . getAccessToken ( ) ) ; argument = argument . replace ( "${auth_session}" , account . getSession ( response ) ) ; argument = argument . replace ( "${user_type}" , ( response . isOffline ( ) ? MOJANG . getName ( ) : response . getAuth ( ) . getUserType ( ) . getName ( ) ) ) ; arguments . add ( argument ) ; } } else { arguments . add ( ( "--username=" + ( account . getMinecraftUsername ( ) ) ) ) ; arguments . add ( ( "--session=" + ( account . getSession ( response ) ) ) ) ; arguments . add ( ( "--accessToken=" + ( account . getAccessToken ( ) ) ) ) ;

Fix:
String props = "[]" ;