print(colored(colorama.Fore.GREEN,"\nSetting up launcher variables...")) launcherVariables["auth_player_name"] = lv["name"] launcherVariables["version_name"] = findInChainDeepest(versionsPath,lv["version"],["id"]) launcherVariables["game_directory"] = lv["gamePath"] launcherVariables["assets_root"] = assetsPath launcherVariables["auth_access_token"] = "-" launcherVariables["auth_uuid"] = hashlib.md5(lv["name"].encode('utf-8')).hexdigest() launcherVariables["user_type"] = "offline" launcherVariables["version_type"] = clientJson["type"] launcherVariables["natives_directory"] = nativesOutPath launcherVariables["launcher_name"] = "offline-minecraft-launcher" launcherVariables["launcher_version"] = "0.0" launcherVariables["classpath"] = libraryList launcherVariables["game_assets"] = assetsPath launcherVariables["auth_session"] = "-" launcherVariables["user_properties"] = "{}" if lv["profileFolder"] == "1": profilePath = p(lv["gamePath"],"profiles") launcherVariables["game_directory"] = p(profilePath,lv["name"],lv["version"],".minecraft") if not os.path.isdir(launcherVariables["game_directory"]): os.makedirs(launcherVariables["game_directory"]) os.chdir(launcherVariables["game_directory"]) if launcherVariables["game_directory"].replace(pUp(launcherVariables["game_directory"]) + os.sep,"",1) == ".minecraft": print(colored(colorama.Fore.MAGENTA,"> game_directory is called .minecraft, setting APPDATA/HOME environment variables to parent directory.")) os.environ["APPDATA"] = pUp(launcherVariables["game_directory"]) os.environ["HOME"] = os.environ["APPDATA"] # JVM arguments: args = [] if not findArgument(jvmArguments,"-Djava-library.path="): args.append("-Djava.library.path=" +nativesOutPath) if not findArgument(jvmArguments,"-Dminecraft.launcher.brand="): args.append("-Dminecraft.launcher.brand=" +launcherVariables["launcher_name"]) if not findArgument(jvmArguments,"-Dminecraft.launcher.version="): args.append("-Dminecraft.launcher.version=" +launcherVariables["launcher_version"]) if lv["osName"] == "windows": if not findArgument(jvmArguments,"-XX:HeapDumpPath="): args.append("-XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump") args.append("-Dminecraft.client.jar=" +clientJar) if not findArgument(jvmArguments,"-cp"): args.append("-cp") args.append(libraryList) for arg in jvmArguments: for var in launcherVariables: arg = arg.replace("${" +var+ "}",launcherVariables[var]) args.append(arg) args = args + json.loads(lv["jvmArguments"]) args.append(clientJson["mainClass"]) for arg in arguments: for var in launcherVariables: arg = arg.replace("${" +var+ "}",launcherVariables[var]) args.append(arg) if not findArgument(args,"--gameDir"): args.append("--gameDir") args.append(launcherVariables["game_directory"]) if not findArgument(args,"--assetsDir"): args.append("--assetsDir") args.append(launcherVariables["assets_root"])