为什么即使我有一个侦听器和@EvenHandler也未激活该事件?

时间:2019-06-06 07:51:46

标签: java events bukkit

所以我正在开发一个插件,但是没有激活任何事件。

举个例子,我有这个事件:

th:value="${file.fileName}"

它在一个类中,该类实现为Listener。 在扩展JavaPlugin的类中就是这样(EditTeams是侦听器):

@EventHandler
public void onPlayerDeath(PlayerDeathEvent event){
  Bukkit.getBanList(BanList.Type.NAME).addBan(event.getEntity().getName(), "Du bist hiermit aus Combat ausgeschieden!", null, "");
}

我四处张望,但找不到问题。

2 个答案:

答案 0 :(得分:0)

尝试使用-

Bukkit.getServer().getPluginManager().registerEvents(new EditTeams(), this);

此外,我非常确定您需要实际踢用户,然后禁止他们-> e.getPlayer().kick("Reason");,然后将其添加到禁止列表中。

答案 1 :(得分:0)

只需将@Override注释添加到您的onEnable()方法中。如果那行不通,只需测试调用哪些方法

EditTeams events = new EditTeams();
public void onEnable(){
    System.out.println("OnEnable() triggered");
    Bukkit.getPluginManager().registerEvents(events, this);
}

@EventHandler
public void onPlayerDeath(PlayerDeathEvent event){
  System.out.println("PlayerDeathEvent Triggered.");
  Bukkit.getBanList(BanList.Type.NAME).addBan(event.getEntity().getName(), "Du bist hiermit aus Combat ausgeschieden!", null, "");
}

您在Sysout中是否抛出任何异常/堆栈跟踪?