Changelog
Hi! In this new version, which has been in development since February of this year, several changes have been implemented that modernize the MiniPlaceholders code base, as well as improving performance for both regular and advanced use. In addition to adding ExpansionProvider, a new convention for creating expansions in MiniPlaceholders, without the need to rely on a specific platform.
Expansion Provider
As mentioned above, ExpansionProviders have been added, which are a type of independent project that can provide an Expansion according to the configured requirements. In addition, it is multiplatform and does not require an individual initializer for each platform you want to support. If you want to see an example of its use, you can check out its wiki page or directly review a practical example in the Template Expansion.
Rewritted API Usage
From now on, an audience will not be required when obtaining placeholders. This allows for greater efficiency, as it avoids creating multiple unnecessary objects by delegating the function of providing the required audience to the parsing phase. For this reason, to use MiniPlaceholders Audience placeholders, you must include the Audience in the target field of the MiniMessage#deserialize
method so that it can be recognized by the corresponding placeholders. In addition, you now have the ability to create type-safe placeholders by including the target class as the first argument. You can find more information about this in the wiki.
Due to these changes, most projects created for MiniPlaceholders v2 are incompatible with MiniPlaceholders v3. Please be patient while your favorite projects are updated to the new version.
At the time of writing this changelog, there are more than a dozen expansions already available for MiniPlaceholders v3, such as the PlatformInfo, ProxyConnection, Player, Spark, LuckPerms, PlaceholderAdapter, Vault, and more expansions...
These new expansions, as mentioned above, are no longer installed as separate plugins/mods. Now, you simply need to place them inside the MiniPlaceholders folder in the expansions folder.
If you liked this update and would like to contribute in some way, we have pull requests available so you can contribute to this project. You can also contribute financially via PayPal or GitHub Sponsors.
Full Changelog: https://github.com/MiniPlaceholders/MiniPlaceholders/compare/2.3.0...3.0.0