This repository has been archived on 2020-03-22. You can view files and clone it, but cannot push or open issues/pull-requests.
ThatMinecraftLauncher/lib/launcher/python/mchandler.py

56 lines
2.0 KiB
Python
Raw Normal View History

2019-10-16 22:44:34 +02:00
import os
2019-10-16 22:44:34 +02:00
# java -Xmx$RAM$ -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M -Djava.library.path=$NATIVES$ -cp $LIBRARIES$ net.minecraft.launchwrapper.Launch --username $USERNAME$ --version 1.7.10-Forge10.13.4.1614-1.7.10 --gameDir $GAMEDIR$ --assetsDir $ASSETS$ --assetIndex 1.7.10 --uuid $UUID$ --accessToken $ACCESSTOKEN$ --userProperties {} --userType mojang --width $WINDOWWIDTH$ --height $WINDOWHEIGHT$ --tweakClass cpw.mods.fml.common.launcher.FMLTweaker
# $RAM$ the amount of RAM with postfix (k, M, G ...)
# $WINDOWWIDTH$, $WINDOWHEIGHT$ window width and height in pixels without the WMs decoration
# $USERNAME$ the username as shown in-game
# $UUID$ the players uuid
# $ACCESSTOKEN$ a valid accessToken
# $NATIVES$ the directory containing the natives
# $LIBRARIES$ a colon-separated (semicolon-separated on Windowze) list of library jars
# $GAMEDIR$ the game directory IMPORTANT! Change the cwd to that directory before launch. Some mods are coded to find the standard paths by using the cwd.
# $ASSETS$ the directory containing the assets
game_properties = {
"window width": "1366",
"window height": "768",
2019-10-16 22:44:34 +02:00
"ram": autoram(),
"username": None,
"uuid": None,
"access token": None,
"native directory": "lib/natives",
"library directory": "lib/jar", # will be transformed by the launch function
"asset directory": "res",
"game directory": "run",
"java executable": "java"}
2019-10-16 22:44:34 +02:00
command = None
full_command = None
def autoram():
return "4G"
# TODO: detect available RAM
def launch():
2019-10-16 22:44:34 +02:00
global command
if command is None:
return 1
# TODO: Raise an exception
return os.system(command)
def set_parameter(parameter, value):
2019-10-16 22:44:34 +02:00
global game_propertoies
game_properties[parameter] = value
build_full_command()
def build_full_command():
global game_properties
global command
global full_command
# TODO: implement
def set_command(minecraft_command):
global command
command = minecraft_command
build_full_command()