Java OnPlayerDeath事件不工作

Java OnPlayerDeath事件不工作,java,bukkit,Java,Bukkit,我一直在尝试制作一个枪支游戏插件,但我无法让玩家死亡事件正常工作。插件加载得很好,但是当我杀死另一个玩家时,什么也没发生 package me.GunGame; import org.bukkit.ChatColor; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.Pla

我一直在尝试制作一个枪支游戏插件,但我无法让玩家死亡事件正常工作。插件加载得很好,但是当我杀死另一个玩家时,什么也没发生

package me.GunGame;

import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener {

  @
  Override
  public void onEnable() {
    getLogger().info("Gun Game Enabled");
  }@
  Override
  public void onDisable() {
    getLogger().info("Gun Game Disabled");
  }

  @
  EventHandler
  public void OnPlayerDeath(PlayerDeathEvent e) {
    Player p = e.getEntity();
    p.sendMessage(ChatColor.RED + "You have died!");
    Player k = p.getKiller();
    k.sendMessage(ChatColor.RED + "You killed " + p.getDisplayName());
  }
}

您必须添加到onEnable()中

你没有注册你的活动

@Override
public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);
    getLogger().info("Gun Game Enabled");
}

一个简单的错误,人们投了反对票,因为如果你仔细阅读你的代码,你就会看到这一点。此外,它在wiki上多次提到它。

您需要注册插件以接收事件。使用
getServer().getPluginManager().registerEvents
进行注册。有关更多详细信息,请参阅