Overviewπ
API State: Unfinished
Todo
This part of the API is only planned.Do not use anything of this part of the API yet. It will change in the future.
Unfinished
This part of the API is brand-new. It will be changed if there are any bugs, missing features or usability improvements. This part of the API might receive breaking changes within a minor version.It is not recommended relying on this part of the API, it will most likely change.
Draft
Our own usage and testing has shown that this part of the API is complete and seems bug free. However, other plugins may have other use cases which are not covered by our testing. Therefore, please go ahead and use this API part. Let us know if there are missing features or bugs. This API part will be changed if there are more bugs, missing features or usability improvements. We will try to keep it compatible with previous versions if changes are needed. This part of the API won't receive breaking changes within a minor version.Please use this part of the API and give us feedback!
Stable
Both our own and third party testing showed that this part of the API is complete. Only bugs and major conceptual problems would lead to more changes. This part of the API will only change over at least one major version and will likely carry deprecation as long as possible.This part of the API should be safe to use. We try to keep it compatible with previous versions if changes are needed.
Integration API Classes
org.betonquest.betonquest.api.integration.IntegrationService
Introductionπ
The integration API allows integrating a plugin with BetonQuest supporting policies to manage partial integration based on conditions.
You should have viewed these pages
Use Case
Integrations are primarily used to extend BetonQuest with new functionality provided by other plugins.
Do Not Use
Integrations are not intended to grant access to features of BetonQuest in a read-only manner. Please use an API instance provided by BetonQuest instead.
Accessπ
Similar to obtaining the API, you can access the integration API by loading the IntegrationService instance from the
ServicesManager.
final ServicesManager servicesManager = getServer().getServicesManager(); //(1)!
final IntegrationService apiService = servicesManager.load(IntegrationService.class);
- Alternatively, you can use
Bukkit.getServicesManager()to obtain theServicesManagerinstance.
This can only be called after the onLoad method of BetonQuest and should be called before the onEnable method.
Obtaining the API directly is not supported this early in the loading process; however, integrations are built in such a way that
they are provided with the API instance when they are enabled by BetonQuest.