-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Suggestion] Plugin API? #5
Comments
Also an auto updater which could be configured by plugins? |
I've been experimenting with this for the last few days (as you can see in the latest commits to the launcher). I've implemented some of the features you've listed but am unsure about some things.
|
The authentication servers (methods) would be selecting between custom and Shityauth in the new account window. This would be useful for cracked servers with their own launcher and want to restrict the use of it. |
So it would basically change it, so the launcher will only use your server when adding an account? |
Yes |
Maybe also find all plugins on the class path and. This line in my game uses a special class which can be used to find all types of an object on the class path. Also have a way to change the "Play Minecraft" button, Good for special modpacks with their own launcher. |
As I understand it, PF4J loads Extension classes from the class path by default, but doesn't run actual plugin code (e.g. in start()) or create an instance of
What exactly would you need to change about the "Play Minecraft" button? |
Some modpacks or servers may want to change the "Play Minecraft" into "Play %name_here%" and only restrict the user to special versions of Minecraft (with download mirrors). |
For theming / branding purposes a plugin might want to change some icons (e.g. the installation icon), so a plugin can make icons match more with their custom themes |
So you mean having a different installation icon to the launcher icon? |
Just defining different images for any icon in the program would be fine |
Maybe also a way for the plugin to change the data / installations directories so different data can be kept separately when using different plugins, also allows branding for special servers or modpacks. For example |
Maybe the |
Maybe the |
|
Maybe these ShittyAuthLauncher/src/main/java/me/mrletsplay/shittyauthlauncher/auth/AuthHelper.java Lines 28 to 29 in ba9fbfe
|
Those are actually always constant values, as per wiki.vg |
But some custom authentication servers may want different values. This then can allow custom authentication servers to enforce the use of their plugin |
I could add the default game data to the
I've been thinking about just making all of the strings part of some kind of localization file, so everything could be easily changed (and also allowing for different languages). The strings would then just have placeholders for the game name etc.
Are you using a self-signed certificate which your OS doesn't trust? Maybe you've added an exception in other places
Seems like a niche use-case, considering most authentication servers implementing Yggdrasil will most likely just ignore it, but it could be added to the API as well. |
A plugin API would allow people to possibly rebrand the launcher and add new UI features without people actually having to fork this and change the aspects they want.
This could include
I know of a library called PF4J (Plugin Framework for Java). You may see how I use it in my game.
The text was updated successfully, but these errors were encountered: