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/README.md

2.2 KiB

lib/launcher/python

Directories:

  • runtime will contain a python runtime

Files

  • gui.py will contain the GUI (Wow! Really?). The GUI will be accessed by main.py
  • mchandler.py will be the launcher library. This time, it will not be a runnable hybrid library
  • updater.py will be used for updating the mod pack and possibly the launcher as well
  • cfghandler.py will deal with config files
  • yggdrasil.py is a nearly feature-complete Minecraft authentication library

TODO list

  • gui.py

    • add a function to open the GUI
    • add functions for reading values from the GUI
    • add functions for writing values to the GUI
    • put the port of the GUI here or in a new file?
  • mchandler.py

    • add a launch function using the access token
    • add a function to verify a given access token moved to yggdrasil.py
    • add functtions to pass configuration data
      • launch command (with escape sequences for non-static values (configuration and user data) moved
      • RAM amount
      • Game Directory
      • Additional arguments
      • handled by a dictionary
    • add the launch command builder
    • add the launch command setter
    • add RAM auto detection
    • add proper error handling
  • updater.py

    • add a function to determine whether updates are available
    • add a function to download updates
    • add a function to update the launcher
    • add a function to update the mod pack
    • add different types of updates
      • required launcher updates
      • required mod pack updates
      • optional launcher updates
      • optional mod pack updates
      • setup change updates (used to install/uninstall components)
    • add initial mod pack install by applying a setup change update main.py
  • cfghandler.py

    • provide read and write functions for config values
    • add a function to set the config file path
    • add functions to load and store the configuration to the file
    • implement functions for config updates
    • raise adequate exceptions where needed
  • yggdrasil.py

    • add a function to verify user credentials and get the access token
    • add a function to verify a given acces token