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()
}
dependencies {
compileOnly("cn.lunadeer:DominionAPI:4.6.0")
}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 = Dominion.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.getDominionByLoc(some_location);
if (d == null) {
this.getLogger().info("no dominion found");
return;
}
this.getLogger().info("name:" + d.getName());
}