快速使用
164 字小于 1 分钟
2025-04-16
pom.xml
<dependency>
<groupId>cn.lunadeer</groupId>
<artifactId>DominionAPI</artifactId>
<version>4.3</version>
<scope>provide</scope>
</dependency>
build.gradle
dependencies {
compileOnly 'cn.lunadeer:DominionAPI:4.3'
}
build.gradle.kts
dependencies {
compileOnly("cn.lunadeer:DominionAPI:4.3")
}
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实例
try {
dominionAPI = DominionAPI.getInstance();
this.getLogger().info("Got Dominion instance");
} catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
this.getLogger().severe("Failed to get Dominion instance %s".formatted(e.getMessage()));
}
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;
}