Skip to content

Overview

Work in Progress! 🚧 πŸ‘· πŸ—

Both the plugin and the API are currently getting redesigned.

Therefore, required docs and API's are likely missing and will be added one by one. Newly added API's are subject to change and will have an API state assigned to them.

We appreciate any feedback! The old API page is still available and explains API that was not reworked yet.

API States

Unfinished

This part of the API is brand-new. It will be changed if there are any bugs, missing features or usability improvements.

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.

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 should be safe to use. We try to keep it compatible with previous versions if changes are needed.

Adding BetonQuest as a dependencyπŸ”—

You can add BetonQuest as a dependency using your build system. Here is the config for Maven:

Add this to your repositories tag
<repository>
    <id>betonquest-repo</id>
    <url>https://nexus.betonquest.org/repository/betonquest/</url>
</repository>
Add this to your dependencies tag
<dependency>
    <groupId>org.betonquest</groupId>
    <artifactId>betonquest</artifactId>
    <version>2.0.2-SNAPSHOT</version>
    <scope>provided</scope>
</dependency>

Ensuring that BetonQuest is loadedπŸ”—

Plugin Load Order

BetonQuest must already be loaded by the Minecraft server when you access any API. If it isn't your code will fail hard with a ClassNotFoundException.

Therefore, declare BetonQuest as a soft dependency or hard dependency inside your plugin's plugin.yml file. A hard dependency will prevent your plugin from loading if BetonQuest is not installed. If your plugin is just a BetonQuest addon, you should use a hard dependency. If your plugin is a standalone plugin that can work without BetonQuest, you should use a soft dependency.

plugin.yml
name: "My BetonQuest Addon"
depend:
  - BetonQuest
# ...
plugin.yml
name: "My Standalone Plugin"
softdepend:
  - BetonQuest
# ...

Next StepsπŸ”—

Now you should read how to Obtain the API.