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:3.5")
}
Or if you use kotlin, you can add the following code to your build.gradle.kts
file:
// build.gradle.kts
repositories {
mavenCentral()
}
dependencies {
compileOnly("cn.lunadeer:DominionAPI:3.5")
}
For maven, you can add the following code to your pom.xml
file:
<!-- pom.xml -->
<dependencies>
<dependency>
<groupId>cn.lunadeer</groupId>
<artifactId>DominionAPI</artifactId>
<version>3.5</version>
<scope>provided</scope>
</dependency>
</dependencies>
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:
@Override
public void onEnable() {
// Plugin startup logic
try {
DominionAPI dominionAPI = DominionAPI.getInstance();
DominionDTO d = dominionAPI.getDominionByLoc(some_location);
if (d == null) {
this.getLogger().info("no dominion found");
return;
}
this.getLogger().info("name:" + d.getName());
} catch (Exception e) {
this.getLogger().info(e.getMessage());
}
}