-
-
Notifications
You must be signed in to change notification settings - Fork 774
Extension dependencies #5839
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
Extension dependencies #5839
Conversation
|
Can you show an example extension.yml how those would be specified? That should be documented on the wiki; and would ideally require an extension to specify an API version |
|
Provided an example extension yaml file in the description of the PR, would we want to just show a warning for extensions that depend on different API versions? Since they could still work regardless (See ThirdPartyCosmetics, uses API version 2.4.1 but works with modern Geyser) |
|
I would also like to suggest the option to add a link for downloading any of the dependencies, since extensions for Geyser are quite hard to find dependencies:
myotherextension:
download-url: https://github.com/PlayerAnimationLibrary/GeyserPAL/releases # here
load: AFTER |
|
I'm not sure this is something we'd wanna implement, seems like a bit of a niche. |
|
Adding links to the dependency is IMO not a good idea, the extension author should link the dependency instead |
|
We might want translation strings for the new log messages. |
|
I've added some translation strings to this, #143 would need to be merged first |
|
@Novampr merged in languages; just needs bumping & documentation on https://geysermc.org/wiki/geyser/extensions#creating-geyser-extensions |
|
Old extensions load just fine, the dependency block is entirely optional and extensions still work without it |
|
#98 is ready for merge! |
# Conflicts: # core/src/main/resources/mappings
…the new dependency system.
… extension has dependencies
e820d1b to
7a504b3
Compare
Adds a dependency system to Geyser extensions, might be a little rough since I haven't touched graphs much, but it works.
Example
extension.yml:That example would ensure
myotherextensionis loaded BEFOREexampleextension(The wording does say AFTER in the extension, this simply defines how the current extension will load, so in this case, AFTERmyotherextension, this behaviour matches thepaper-plugin.ymlspec)