9 Commits

Author SHA1 Message Date
Danielle
b223dc7cba
Authentication (#37)
* Initial authentication implementation

* Store user info in the database, improve encapsulation in profiles

* Add user list, remove unused dependencies, add spantraces

* Implement user remove, update UUID crate

* Add user set-default

* Revert submodule macro usage

* Make tracing significantly less verbose
2022-07-15 08:39:38 -07:00
Danielle
10610e157f
Refactor Library
The launcher code was in a position ripe for sphagetti, so this rewrites it in a more robust way.
In addition to cleaner code, this provides the following changes:
- Removal of obsolete Mojang authentication
- The rebasing of some internal state into a Sled database
- Tweaks which make some internal mechanisms more robust (e.g. profiles which fail to load can be removed)
- Additional tooling integration such as direnv
- Distinct public API to avoid messing with too much internal code
- Unified error handling in the form of `theseus::Error` and `theseus::Result`
2022-06-27 15:53:25 -07:00
Danielle
8935d0e56c
Move launcher working directory to standard location (#31)
* Move launcher working directory to standard location

* Fix settings save, attempt to get better backtraces

* Add environment variable for settings path
2022-04-10 13:14:53 -07:00
Danielle
d1070ca213
Initial draft of profile metadata format & CLI (#17)
* Initial draft of profile metadata format

* Remove records, add Clippy to Nix, fix Clippy error

* Work on profile definition

* BREAKING: Make global settings consistent with profile settings

* Add builder methods & format

* Integrate launching with profiles

* Add profile loading

* Launching via profile, API tweaks, and yak shaving

* Incremental update, committing everything due to personal system maintainance

* Prepare for review cycle

* Remove reminents of experimental work

* CLI: allow people to override the non-empty directory check

* Fix mistake in previous commit

* Handle trailing whitespace and newlines in prompts

* Revamp prompt to use dialoguer and support defaults

* Make requested changes
2022-03-28 18:41:35 -07:00
leocth
596ca8ab4f &* is simply just bad. let deref coercion figure it out 2022-02-20 22:54:05 +08:00
Jai A
9d74e84c01
Add method of storing launcher data, fix forge 1.17+, add launcher settings 2021-12-19 22:48:50 -07:00
Jai A
54cd2f873c
Add error handling 2021-07-09 20:05:04 -07:00
Jai A
a0e35ad853
Proof of concept of launching Minecraft from Rust 2021-07-04 22:46:56 -07:00
Jai A
93418edbe7
Downloading launcher files 2021-06-29 22:32:52 -07:00