protected ArrayList<String> ParseGameArguments(){
    String sartemp[] = GlobalVar.minecraftArguments.split(" ");
    String word = new String();
    ArrayList<String> arltemp = new ArrayList<String>();
    
    if(GlobalVar.ExpertSettings){
            Utils.LogPrintConsole("Использован сторонний путь до java: "+GlobalVar.JavaPath);
            Utils.LogPrintConsole("Использованы дополнительные параметры запуска java: "+GlobalVar.JavaVMArg);
            arltemp.add(GlobalVar.JavaPath);
            arltemp.add(GlobalVar.JavaVMArg);
        }else
        {
            Utils.LogPrintConsole("Подбор оптимальных опций ява машины:");
            arltemp.add("java");
            arltemp.add("-Xincgc");
            Utils.LogPrintConsole("Улучшение чистки памяти -Xincgc");
            long Ram = Runtime.getRuntime().maxMemory()/1024L/1024L;
            if (Ram >=1000L){
                Utils.LogPrintConsole("Возможно выделить более 1гб памяти, принудительное выставление -Xms1G");
                arltemp.add("-Xms1G");
            }else{
                if(Ram<512L){
                    Utils.LogPrintConsole("В вашей системе слишком мало свободной памяти,");
                    Utils.LogPrintConsole("для плавной игры рекомендуется не менее 512 мб свободной памяти. Выделено:"+Ram+"Мб");
                    Utils.LogPrintConsole("Рекомендуется закрыть все сторонние программы или воспользоваться расширенными настройками ява машины.");
                }
                Utils.LogPrintConsole("-Xmx"+Ram+"m");
                Utils.LogPrintConsole("-Xms"+Ram+"m");
                arltemp.add("-Xmx"+Ram+"m");
                arltemp.add("-Xms"+Ram+"m");
            }
        }
        arltemp.add("-cp");
        arltemp.add(ClientFolderPath+"bin"+ File.separator+"*");
        arltemp.add("-Dfml.ignoreInvalidMinecraftCertificates=true");
        arltemp.add("-Dfml.ignorePatchDiscrepancies=true");
        arltemp.add(GlobalVar.mainClass);
        
    for (String s : sartemp) 
    {  
        switch (s){
            case "${auth_player_name}":{  arltemp.add(GlobalVar.userName); break;}
            case "${auth_session}":  {arltemp.add(GlobalVar.sessionId);break;}
            case "${version_name}":  {arltemp.add(GlobalVar.id);break;}
            case "${game_directory}":  {arltemp.add(ClientFolderPath);break;}
            case "${game_assets}":  {arltemp.add(ClientFolderPath+"assets");break;}
            default: {arltemp.add(s);break;}
        }
    }
    
//Utils.LogPrintConsole(arltemp.toString());
    return arltemp;
}