Skip to content
This repository has been archived by the owner on Jul 2, 2023. It is now read-only.

Remove launcher #123

Merged
merged 11 commits into from
Feb 23, 2023
Merged

Remove launcher #123

merged 11 commits into from
Feb 23, 2023

Conversation

TheKodeToad
Copy link
Collaborator

I will possibly also use this branch to add Prism instance and version JSON auto-building within Gradle!

This launcher all began on the 31st of October, 2020. It was made in
Java, and only capable of launching the vanilla game.

Soon afterwards, I tried developing an actual client to launch. I didn't
want to use MCP, because I prefered mixin. I'd already made a standalone
mixin server using LaunchWrapper and looking at
https://github.com/CodeCrafter47/Rainbow/ amongst other projects - for
1.16.

However, I couldn't get either Legacy Fabric or ForgeGradle to work
nicely, neither could I get the LaunchWrapper service to work for some
reason (plus I didn't have a Discord account). I somehow ended up doing
asm which wasn't nice. I tried using some build-time stuff to remap
string constants containing mappings. The first feature of this client I
tried to implement was something to make it so that pressing F3+C *only*
cleared the chat rather than bringing up the whole overlay too. This was
hard!

Eventually I gave up and after explaining to my friend that it was
causing me to (metaphorically) tear my hair out, I finally opted for
MCP. Later on I managed to get MCP working with OptiFine and distributed
the launcher with a crude autoupdater to this friend.

One day, I spammed !polycatgen commands on the PolyMC Discord (before
all of the drama happened - well at least the most recent one) and
nearly got banned or muted (I can't remember). This is unrelated, but
funny! On the same day (I can't verify because I'm now banned!), I
started working on an electron launcher but it didn't go anywhere.

When I saw my friend had migrated, I tried to add a feature to support
this. Since the launcher code was made before Microsoft accounts to play
the game were a thing, adding it was a lot of effort. I couldn't work
out how to register an application so used a webview (mistake).
MiniDigger had a good JavaFX example but this project was swing so it
needed to be embedded. This didn't go well and the Linux JDK doesn't
have JavaFX bundled so eventually I returned to the Electron launcher.
This is the launcher this commit finally rids the world of (if merged)!

p.s. my hair has been growing without being cut this whole time which is
cool
@RaptaG
Copy link
Contributor

RaptaG commented Feb 22, 2023

Prism instance and version JSON auto-building within Gradle!

As in auto updating instance?

@TheKodeToad
Copy link
Collaborator Author

TheKodeToad commented Feb 22, 2023

This relates to automatically creating an instance zip.
If more stuff was moved to the actual client auto-upating would be easier, which is probably the next step.

@TheKodeToad
Copy link
Collaborator Author

Hmm, I think that's kind of irrellavent to this pr. Considering everyone voted for the same thing, it's probably time to merge!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants