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