API Overview
Importing the API
To start using the Polar API, it must be included as a project dependency. Do not shade it. Add https://repo.polar.top/repository/polar/
to the dependency manager:
Example
Basic usage
The top.polar.api.PolarApiAccessor
class is a convenient way to access the Polar API object. It provides a method to retrieve the PolarApi
object supplied as a WeakReference
.
Important nuances regarding events
Polar API provides a flexible and robust event system to handle various server events. Events are represented by the PolarApiEvent
class, and the API defines a hierarchy of event classes that extend from it.
Polar class loading strategy
Polar classes are loaded asynchronously to Bukkit main thread. There may be a condition, at which, a plugin dependent on Polar was already loaded, but the PolarApiAccessor
class has not been loaded yet.
The PolarLoader plugin includes a LoaderApi
class, allowing to set up a preliminary listener, which is called the moment Polar is loaded completely.
Therefore, plugins utilizing the API need to depend on PolarLoader
(through plugin.yml).
Listening to events
Polar API has a custom-built event system, which is completely independent of Bukkit events.
Events are registered through EventListenerRepository
, which is accessible by using the PolarApi
reference returned by PolarApiAccessor
.