MinecraftClient: Linux fixes (#668)
* MC: open file selector if client is run without apmc * MC: linux fixes * we don't use shell anymore * use user_path for forge_dir. Unless read-only, this is the same as what cwd is set to.
This commit is contained in:
		
							parent
							
								
									60c7be87f8
								
							
						
					
					
						commit
						a9c32bc2e2
					
				| 
						 | 
				
			
			@ -208,8 +208,7 @@ def install_forge(directory: str, forge_version: str, java_version: str):
 | 
			
		|||
            with open(forge_install_jar, 'wb') as f:
 | 
			
		||||
                f.write(resp.content)
 | 
			
		||||
            print(f"Installing Forge...")
 | 
			
		||||
            # argstring = ' '.join([java_exe, "-jar", "\"" + forge_install_jar + "\"", "--installServer", "\"" + directory + "\""])
 | 
			
		||||
            install_process = Popen([java_exe, "-jar", forge_install_jar, "--installServer", directory], shell=not is_windows)
 | 
			
		||||
            install_process = Popen([java_exe, "-jar", forge_install_jar, "--installServer", directory])
 | 
			
		||||
            install_process.wait()
 | 
			
		||||
            os.remove(forge_install_jar)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -236,7 +235,7 @@ def run_forge_server(forge_dir: str, java_version: str, heap_arg: str) -> Popen:
 | 
			
		|||
    args = [java_exe, heap_arg, *forge_args, "-nogui"]
 | 
			
		||||
    logging.info(f"Running Forge server: {args}")
 | 
			
		||||
    os.chdir(forge_dir)
 | 
			
		||||
    return Popen(args, shell=not is_windows)
 | 
			
		||||
    return Popen(args)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def get_minecraft_versions(version, release_channel="release"):
 | 
			
		||||
| 
						 | 
				
			
			@ -299,13 +298,16 @@ if __name__ == '__main__':
 | 
			
		|||
    apmc_data = None
 | 
			
		||||
    data_version = None
 | 
			
		||||
 | 
			
		||||
    if apmc_file is None and not args.install:
 | 
			
		||||
        apmc_file = Utils.open_filename('Select APMC file', (('APMC File', ('.apmc',)),))
 | 
			
		||||
 | 
			
		||||
    if apmc_file is not None:
 | 
			
		||||
        apmc_data = read_apmc_file(apmc_file)
 | 
			
		||||
        data_version = apmc_data.get('client_version', '')
 | 
			
		||||
 | 
			
		||||
    versions = get_minecraft_versions(data_version, channel)
 | 
			
		||||
 | 
			
		||||
    forge_dir = options["minecraft_options"]["forge_directory"]
 | 
			
		||||
    forge_dir = Utils.user_path(options["minecraft_options"]["forge_directory"])
 | 
			
		||||
    max_heap = options["minecraft_options"]["max_heap_size"]
 | 
			
		||||
    forge_version = args.forge or versions["forge"]
 | 
			
		||||
    java_version = args.java or versions["java"]
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue