Enforce more arguments

This commit is contained in:
Fierelier 2021-06-17 12:59:00 +02:00
parent fb7b725570
commit 5ca1d04891

View File

@ -63,6 +63,11 @@ def readJsonFile(file):
fileh.close()
return json.loads(data)
def findArgument(args,searchFor):
for arg in args:
if arg.startswith(searchFor): return True
return False
def findInChain(versionsPath,version,path):
versionPath = p(versionsPath,version)
clientJson = readJsonFile(p(versionPath,version + ".json"))
@ -323,11 +328,13 @@ def main():
libraryList = ""
if lv["osName"] != "windows": separator = ":"
print("\nLibraries:")
clientJar = ""
for libraryID in loadLibraries:
library = loadLibraries[libraryID]
if os.path.isfile(library["filePathOS"]):
if library["type"] == "client":
print("Client: " +library["filePathOS"])
clientJar = library["filePathOS"]
else:
print("- " +library["package"]+ ":" +library["name"]+ ":" +library["version"])
else:
@ -385,16 +392,18 @@ def main():
# JVM arguments:
args = []
djavaFound = False
cpFound = False
for arg in jvmArguments:
if arg.startswith("-Djava-library.path="): djavaFound = True
if arg == "-cp": cpFound = True
if djavaFound == False:
if not findArgument(jvmArguments,"-Djava-library.path="):
args.append("-Djava.library.path=" +nativesOutPath)
if cpFound == False:
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"])
args.append("-Dminecraft.client.jar=" +clientJar)
if not findArgument(jvmArguments,"-cp"):
args.append("-cp")
args.append(libraryList)
@ -410,6 +419,14 @@ def main():
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"])
print("\nLaunching Minecraft...")
if lv["console"] == "1":
proc = subprocess.Popen([lv["java"]] + args)