监听
211 字小于 1 分钟
2025-05-13
与其他所有的 BukkitEvent 一样,要想监听 Dominion 的事件,你需要实现一个监听器类,并在其中实现你想要监听的事件。
// DominionEventHandler.java
import cn.lunadeer.dominion.events.dominion.DominionCreateEvent;
public class DominionEventHandler implements Listener {
@EventHandler(priority = EventPriority.NORMAL)
public void onDominionCreateEvent(DominionCreateEvent event) {
if (event.isCancelled()) return;
// do something you want
}
}
注意 EventPriority
由于 Dominion 核心也是基于 Event 驱动的,而核心的监听优先级为 EventPriority.HIGH
。 因此如果你的监听优先级在 EventPriority.HIGH
之后,则你在监听中做的相关操作可能不会生效。
为了避免这种情况,你的 EventHandler
优先级应当在 EventPriority.HIGH
之前(例如:LOWEST
LOW
NORMAL
,默认不指定则为 NORMAL
)。
在你的插件的主类中注册这个监听器:
// YourPluginMainClass.java
public class YourPluginMainClass extends JavaPlugin {
@Override
public void onEnable() {
// Plugin startup logic
getServer().getPluginManager().registerEvents(new DominionEventHandler(), this);
}
}