2022-05-13 13:36:37 +00:00
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 ( )
2022-05-18 00:32:22 +00:00
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 )
2022-05-13 13:36:37 +00:00
if lv [ " jvmArch " ] == " " :
print ( colored ( colorama . Fore . GREEN , " Querying JVM architecture... " ) )
2022-05-18 00:32:22 +00:00
if " 64-Bit " in subprocess . check_output ( [ javaExe , " -version " ] ) . decode ( " utf-8 " ) :
2022-05-13 13:36:37 +00:00
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 " ] :
2022-05-18 00:29:33 +00:00
print ( colored ( colorama . Fore . YELLOW , " \n Warning, 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. " ) )
2022-05-18 00:09:01 +00:00
lv [ " osName " ] = " linux "
2022-05-13 13:36:37 +00:00
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: " )