Release v1.16-b5
github-actions
released this
30 Jun 09:02
·
1047 commits
to bleeding
since this release
NOTE: This is an unofficial build and includes bleeding edge features for testing.
Since Last Release:
- 87430f8 (HEAD, tag: v1.16-b5) Merge remote-tracking branch 'remotes/origin/feature/plugins-1.16' into t/bleeding [bundabrg]
| # Conflicts:
| # .gitignore
| # connector/src/main/java/org/geysermc/connector/GeyserConnector.java
| # connector/src/main/java/org/geysermc/connector/network/UpstreamPacketHandler.java
| - 5583373 (origin/feature/plugins-1.16) Merge Fixes [bundabrg]
| - 96993d3 Merge branch 'feature/1.16' into feature/plugins-1.16 [bundabrg]
| # Conflicts:
| # bootstrap/sponge/src/main/java/org/geysermc/platform/sponge/GeyserSpongePlugin.java
| # bootstrap/standalone/src/main/java/org/geysermc/platform/standalone/GeyserStandaloneBootstrap.java
| # connector/src/main/java/org/geysermc/connector/bootstrap/GeyserBootstrap.java
| # connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
| - 708d3eb (origin/feature/plugins) Add some plugin logging for loading and enabling [bundabrg]
| - 0f333ee Fix getDataFolder and implment getResourceAsStream() [bundabrg]
| - 0b2c928 Provide
getResourceAsStream
for GeyserPlugin [bundabrg]
| - ed0706a Provide a
getDataFolder
method to GeyserPlugin [bundabrg]
| - c0499bd Merge branch 'u/master' into feature/plugins [bundabrg]
| # Conflicts:
| # connector/src/main/java/org/geysermc/connector/GeyserConnector.java
| # connector/src/main/java/org/geysermc/connector/network/session/GeyserSession.java
| - 42a7b12 Remove mention of EventContext from documents [bundabrg]
| - bc99d55 Update Documentation Stylesheet to use full width [bundabrg]
| - b36e1d9 Allow events to self unregister [bundabrg]
| - fb8919d Major Overhaul of Event system [bundabrg]
| Changes:
| * Clean up lot of duplicated code
| * Move execution to relevant classes to more easily allow overriding behaviour later
| * Support a Filter keyword for Events. This allows registering to an event but filtering which ones actually execute the handler based upon a passed in class. This also indirectly supports Generic TypeVariable events better
| * Update DownStream and Upstream packet events to have a TypeVariable of the packet type. This allows getting the correct packet in the handler
| * Remove Context as I don't need it anymore
| * Implement a Builder pattern for LambdaEventHandlers to more easily allow adding or extending.
| * Plugins now have their own EventHandler to provide plugin specific features
| * Implement DownstreamPacketSendEvent, DownstreamPacketReceiveEvent, UpstreamPacketReceiveEvent, UpstreamPacketSendEvent
| - 94f7f49 Implement Plugin Logger [bundabrg]
| This provides a thin wrapper to the regular logger with the plugin name prefixed to the messages.
| - 24f1ba2 Plugin Classloader Fixes [bundabrg]
| We don't want to actually call defineClass when searching for the Plugin so we instead load and parse the annotation from the bytecode.
| - 7909d64 Implement chaining for Registration [bundabrg]
| This allows chaining a delay to unregister a lambda event so that it can be cancelled should it not fire in a reasonable amount of time.
| - e4b4498 Update PDF Documentation Stylesheets [bundabrg]
| - d024dc0 Finish Implementing Plugin Message Channels [bundabrg]
| Changes:
| * You can now register/unregister for plugin channels using GeyserSession#registerPluginChannel, GeyserSession#unregisterPluginChannel. Any new session will then automatically register these channels as well.
|
| * Added documentation describing how Plugin Message Channels work
| - a17e1dc Implement Plugin Messages [bundabrg]
| Changes:
| * New method on GeyserSession: sendPluginMessage(String channel, byte[] data) that will send a ClientPluginMessage packet to downstream
| * New Event: PluginMessageEvent. Triggers when a PluginMessage is received.
| * Update Documentation
| - 7a39635 Multiple Changes [bundabrg]
| Changes:
| * Rename EnableEvent, DisableEvent to PluginEnableEvent and PluginDisableEvent. These are now triggered for all plugins when enabling/disabling.
| * Added GeyserStartEvent, GeyserStopEvent, triggered after starting and before stopping Geyser
| * Updated EventManager.trigger to return an EventResult which contains chainable methods with runnables
| * Add UpstreamPacketSendEvent, UpstreamPacketReceiveEvent, DownstreamPacketSendEvent, DownstreamPacketReceiveEvent which trigger for the respective direction of packet flow and are cancellable.
| * Update Documentation
| - 85b03ef Touch up some errors in documentation [bundabrg]
| - 9f4a789 Add Initial Documentation [bundabrg]
| - 14564dd Implement annotation based registration for EventManager [bundabrg]
| The EventManager will now allow classes to be registered and all methods of the class annotated with @event will be added as event handlers.
|
| PluginManager provides a proxy to some of the registration functions in EventManager to allow it to track EventHandlers that belong to a plugin.
| - ef20c0f Implement Event Management and move Plugins to utilize that [bundabrg]
| Instead of plugins being the focus Geyser instead implements an Event Management system that can be used internally. Plugins are then able to utilize this through the convenience of an external jar and registering annotated classes.
| - c88469e Initial Plugin System Implemented [Brendan Grieve] | head -n 300