# 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 * [ ] add functtions to pass configuration data * [ ] launch command (with escape sequences for non-static values (configuration and user data) * [ ] RAM amount * [ ] Game Directory * [ ] Additional arguments * [ ] Anything I may have forgotten * __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 * __yggdrasil.py__ * [x] add a function to verify user credentials and get the access token * [x] add a function to verify a given acces token