Почему событие не активируется, даже если у меня есть слушатель и @EvenHandler? - PullRequest
0 голосов
/ 06 июня 2019

Итак, я работаю над плагином, но ни одно из моих событий не активируется.

Например, у меня есть это событие:

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

Это в классе, которыйреализован как слушатель.И это в моем классе, который расширяет JavaPlugin (EditTeams - слушатель):

EditTeams events = new EditTeams();
public void onEnable(){
    Bukkit.getPluginManager().registerEvents(events, this);
}

Я много осматривался, но не смог найти проблему.

Ответы [ 2 ]

0 голосов
/ 13 июня 2019

Просто добавьте аннотацию @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?

0 голосов
/ 06 июня 2019

попробуй и используй -

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

Кроме того, я почти уверен, что вам нужно пнуть пользователя, затем забанить его -> e.getPlayer().kick("Reason");, а затем добавить его в список банов.

...