Skip to content
This repository has been archived by the owner on Oct 17, 2021. It is now read-only.

Create a custom launcher core #6

Merged
merged 41 commits into from Jul 15, 2021
Merged

Create a custom launcher core #6

merged 41 commits into from Jul 15, 2021

Conversation

kanpov
Copy link
Collaborator

@kanpov kanpov commented Jul 11, 2021

The previous plan was to use GJMLC as a launcher core in this app, but it has some issues which have driven me to the conclusion of making our own launcher:

  • It is no longer supported. The repository hasn't been receiving any sort of updates since 2016
  • It is not on Maven Central. This makes depending on it hard (previously we just inlined the entire code into a new package)
  • It is outdated. Some parsing methods do not apply to the newest Mojang launcher formats, so a rework would be necessary anyway
  • It has bad code quality. The core would need some cleaning up before it's code becomes good
  • It is written in Java. As you may know, this project is fully in Kotlin, and adopting a Java library (especially a core component for the app to function correctly) is a bad idea, even though the interoperability works.
  • Most importantly, it only supports legacy launcher formats, which means that a huge rework for that would also be needed if we had decided to stick with GJMLC.

I cannot give any estimates on when this will be ready, and there will likely be conflicts with design-phase-zero branch.

@kanpov kanpov marked this pull request as draft July 11, 2021 08:56
@kanpov kanpov self-assigned this Jul 11, 2021
@kanpov kanpov requested a review from lucsoft July 11, 2021 13:07
@kanpov
Copy link
Collaborator Author

kanpov commented Jul 12, 2021

This PR is almost done.

Fabric, Forge, Quilt, profiles etc will come in other PRs.

All that's left to do is fix the launching system and add support for authentication.

@lucsoft lucsoft added this to In progress in MVP via automation Jul 12, 2021
@kanpov
Copy link
Collaborator Author

kanpov commented Jul 14, 2021

Minecraft launches now.

Auth, assets and asset indexes are the only things left to implement.

@kanpov kanpov marked this pull request as ready for review July 15, 2021 14:03
@kanpov
Copy link
Collaborator Author

kanpov commented Jul 15, 2021

This PR is almost ready for merge.

Waiting a bit for the CI to finish and merging it.

@kanpov kanpov merged commit 1439083 into master Jul 15, 2021
MVP automation moved this from In progress to Done Jul 15, 2021
@kanpov kanpov deleted the launcher branch July 15, 2021 14:26
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
MVP
Done
Development

Successfully merging this pull request may close these issues.

None yet

2 participants