快速使用
168 字小于 1 分钟
2025-04-16
pom.xml
<dependency>
<groupId>cn.lunadeer</groupId>
<artifactId>DominionAPI</artifactId>
<version>4.5</version>
<scope>provide</scope>
</dependency>
build.gradle
dependencies {
compileOnly 'cn.lunadeer:DominionAPI:4.5'
}
build.gradle.kts
dependencies {
compileOnly("cn.lunadeer:DominionAPI:4.5")
}
package cn.lunadeer.dominionpluginexample;
import cn.lunadeer.dominion.api.DominionAPI;
import cn.lunadeer.dominion.api.dtos.DominionDTO;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.plugin.java.JavaPlugin;
public final class DominionPluginExample extends JavaPlugin implements Listener {
@Override
public void onEnable() {
// 1. 获取DominionAPI实例
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.");
}
this.getServer().getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
// 2. 使用 API 获取玩家当前的领地
DominionDTO dominion = dominionAPI.getPlayerCurrentDominion(event.getPlayer());
if (dominion == null) {
this.getLogger().info("Player %s is not in a dominion".formatted(event.getPlayer().getName()));
} else {
this.getLogger().info("Player %s is in dominion %s".formatted(event.getPlayer().getName(), dominion.getName()));
}
}
private DominionAPI dominionAPI;
}