4.0

Release

rojo8399 released this version on Jul 19, 2017

138.0 KB
Download

Version 4.0: The dynamic update.

This update is a major update to the plugin, and provides a whole host of new features to the plugin.

What’s new in version 4.0:

  • Refactored PlaceholderService class to support new internals. Relational placeholders are now supported and enforced by default, and the documentation covers use cases quite well. New methods are provided to use this updated service more effectively.
  • Removed all old semblance of Expansions in favour of a new Expansion system.
    • This expansion system uses generically typed classes to allow more types for sources, observers and return types.
    • This new system is easier to use, because of the newly added ExpansionBuilder. This builder can be created from the service and provides simple and fluent methods to create expansions.
    • Annotation-based methods: This is the really interesting part of the update. You can now create methods in any object, annotate them with @Placeholder, and, provided that there are no parameters that aren’t annotated properly, it will be used as a placeholder parsing method (via expansion builders). Similar to how Sponge handles events, this system allows you to create fully dynamic parsers from methods. The expansion builder has lots of details, and you can even create a builder straight from the service with this as well.
  • Numerous smaller fixes and updates have been added. Check the wiki in the coming days (I am running out of time right now) for any and all information you need to use this plugin, or check the commit change log on GitHub to see what was changed.
  • All default placeholders provided in the plugin are still present and work exactly the same; Unfortunately, there is currently no way to disable or enable any one placeholder, but in the next update there will be.

IMPORTANT:

This update is VERY MUCH a breaking update. This means that any plugins using PlaceholderAPI WILL break. (Nucleus Gluon should receive an update very soon fixing it, but that is all I can confirm.) While this may discourage people from updating, plugins merely using the service to parse placeholders should quickly be able to update (they need to rearrange a few parameters and then they are finished). Plugins adding new placeholders might take some more time, but the new system allows for much easier placeholder registration so that shouldn’t take too long.

Look forward to 4.1 with some further changes (non-breaking) and fixes, but until then, here is 4.0.

Check out the plugin wiki!

View the plugin on GitHub!

See the plugin’s statistics!

Dependencies