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

53 lines
2.2 KiB
Markdown

# 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`_
* [x] 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
* [x] 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__
* [x] provide read and write functions for config values
* [x] add a function to set the config file path
* [x] add functions to load and store the configuration to the file
* [ ] implement functions for config updates
* [ ] raise adequate exceptions where needed
* __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