v3.0.0 Release candidate 3
Final release candidate.
I made several breaking changes that aims to fix the design issues I encountered during testing in the Xpdustry servers and the feedback of some fellow plugin developers (thanks @Prosta4okua).
⚠️ Breaking changes ⚠️
- Replaced the annotation based event API (
EventBus
) with a functional API (MoreEvents
). Reasoning is that mindustry event bus only support very basic functions, that does not justify the use of a wrapper class. - Simplified the permission API by removing redundant.
- Removed
fr.xpdustry.distributor.api.manager
package. - Removed
MUUIDAuthenticator
(Why using a dedicated class for authenticating MUUIDs while you can create an unauthenticated permission group with the permission API). PluginScheduler
has been overhauled to be more intuitive. It's not a plugin owned object with a fluent API, with builders to schedule tasks likePluginTaskBuilder
andPluginTaskRecipe
. More in the javadocs.- Forced the use of
ExtendedPlugin
in the Distributor API. LocalizationSourceRegistry
now requires a default locale.
Features
- You can now send localized messages to CommandSender without using the global translator (
CommandSender#sendLocalizedMessage
,CommandSender#sendLocalizedWarning
). ExtendedPlugin
has now listeners withExtendedPlugin#addListener
, a much better API compared to using aApplicationListener
.- Added recipes to the scheduler API with
PluginScheduler#recipe
. (Split your plugin tasks between async and sync steps very easily). - Added localization support for the permission commands.
Changes
- Improved localization API.
- Some stuff I may have forgotten...
Chores
- Finished the overall javadoc of Distributor.
Bugfixes
- Fixed a bug where content wasn't always localized if the language of the JVM wasn't english.