Allow extensions to load other extension's classes, and store extensions by IDs instead of name (#3946)

- the extensionmanagers `extension` method now takes in a extension id instead of name
- extension folders are now created using extension id's
- Extensions can load classes from other extensions now
- Added warning about external class loading
- Wherever applicable: store extensions internally by id instead of name
This commit is contained in:
chris 2023-10-01 07:17:53 +02:00 committed by GitHub
parent 1d75d084a7
commit 34ff8c1217
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 56 additions and 29 deletions

View file

@ -194,7 +194,7 @@ public class GeyserSpigotPlugin extends JavaPlugin implements GeyserBootstrap {
commandMap.register(extension.description().id(), "geyserext", pluginCommand);
} catch (InstantiationException | IllegalAccessException | InvocationTargetException | NoSuchMethodException ex) {
this.geyserLogger.error("Failed to construct PluginCommand for extension " + extension.description().name(), ex);
this.geyserLogger.error("Failed to construct PluginCommand for extension " + extension.name(), ex);
}
}
}