README.md (1113B)
1 # mcl 2 3 Don't use this, it's not very good. 4 5 A tiny minecraft launcher. Downloads and launches the current release version of minecraft (java edition). Hacks in support for linux-aarch64. 6 7 Lots of missing things: 8 9 [ ] Downloading assets 10 [ ] Applying runtime config correctly 11 [ ] Compatibility with official launcher 12 [ ] Support for selecting a version 13 [ ] Anything to do with mods 14 [ ] Anything to do with login to minecraft account 15 [ ] Testing on platforms other than linux 16 [ ] Fast downloads 17 18 19 ## Learning 20 21 This project was a learning exercise. Challenges: 22 - Zig's stdlib http client only supports TLSv1.3, and Mojang's download servers only support TLSv1.2. Had to resort to libCURL C library. It was an experience. 23 - json parsing discriminating based on element type: see the specs for Manifest and Version. Some fields are _either_ a string or an array of strings and that requires zig's escape hatch implementing jsonParse on a type. 24 - hacking aarch64 support required some string manipulation 25 - general file manipulation etc. etc. 26 - it turns out that the pinebook pro is not fast enough to play minecraft