Since Dominion-2.9.0-beta, DominionAPI is supported.
For gradle, you can add the following code to your build.gradle file:
// build.gradle
repositories {
mavenCentral()
maven { url = uri("https://repo.papermc.io/repository/maven-public/") }
}
dependencies {
compileOnly("cn.lunadeer:DominionAPI:4.9.7")
// Use the server API version that your addon targets.
compileOnly("io.papermc.paper:paper-api:1.20.1-R0.1-SNAPSHOT")
}Add the following configuration to your plugin's plugin.yml file to ensure that your plugin is loaded after Dominion
is ready:
# plugin.yml
depend: [ Dominion ]Get the DominionAPI instance directly as follows:
import cn.lunadeer.dominion.api.DominionAPI;
DominionAPI dominionAPI = DominionAPI.getInstance();Then you can use the API, for example, to get the dominion information at a certain location:
DominionAPI dominionAPI;
@Override
public void onEnable() {
// Plugin startup logic
if (Bukkit.getPluginManager().isPluginEnabled("Dominion")) {
dominionAPI = DominionAPI.getInstance();
this.getLogger().info("Got Dominion instance");
} else {
throw new IllegalStateException("Dominion plugin is not enabled. Please ensure it is installed and enabled.");
}
DominionDTO d = dominionAPI.getDominion(some_location);
if (d == null) {
this.getLogger().info("no dominion found");
return;
}
this.getLogger().info("name:" + d.getName());
}API releases are built, signed and published to Maven Central by GitHub Actions
in this repository. See API_RELEASE.md for Secrets, versioning,
the v<version> tag trigger and interrupted-publication recovery.