print(colored(colorama.Fore.GREEN,"Reading config...")) config = configparser.ConfigParser() config.optionxform = str config.read(p(omlPath,"config.ini")) global lv lv = config["default"] for var in lv: glbs = globals().copy() for glb in glbs: lv[var] = lv[var].replace("$+" +glb+ "$",str(glbs[glb])) lcs = locals().copy() for lc in lcs: lv[var] = lv[var].replace("$" +lc+ "$",str(lcs[lc])) if lv["osName"] == "": lv["osName"] = platform.system().lower() if lv["osName"] == "darwin": lv["osName"] = "macos" if lv["osVersion"] == "": lv["osVersion"] = platform.version() print(colored(colorama.Fore.GREEN,"Checking for Java...")) global javaExe javaExe = shutil.which(lv["java"]) if javaExe == None: print(colored(colorama.Fore.RED,"Java wasn't found at '" +lv["java"]+ "'. Please configure java in config.ini.")) sys.exit(1) if lv["jvmArch"] == "": print(colored(colorama.Fore.GREEN,"Querying JVM architecture...")) if "64-Bit" in subprocess.check_output([javaExe,"-version"]).decode("utf-8"): lv["jvmArch"] = "amd64" else: lv["jvmArch"] = "x86" print("") for setting in lv: print(colored(colorama.Fore.BLACK,setting+ "=" +str(lv[setting]))) if len(sys.argv) > 1: for arg in sys.argv[1:]: if arg.startswith("-"): continue argSplit = arg.split("=",1) if len(argSplit) > 1: lv[argSplit[0]] = argSplit[1] else: lv[argSplit[0]] = True if not lv["osName"] in ["windows","linux","macos"]: print(colored(colorama.Fore.YELLOW,"\nWarning, unsupported OS detected: '" +lv["osName"]+ "'. Needs to be either windows, linux or macos. Define it with osName=name in the config."),file=sys.stderr) print(colored(colorama.Fore.MAGENTA,"Falling back to assuming Linux.")) lv["osName"] = "linux" print("") if not "version" in lv: lv["version"] = input("Version ID: ") if "-downloadonly" in sys.argv: lv["name"] = "Player" if not "name" in lv: lv["name"] = input("Player name: ")