Maven Bukkit服务器插件EventHandler

时间:2014-05-20 08:54:28

标签: maven

我有以下代码。我想在受到攻击时制作发送攻击者的玩家名字的插件。发芽它不起作用..任何解决方案?

@EventHandler
public void onEntityDamage(EntityDamageEvent event) {
    final Entity entity = event.getEntity();
    if (entity instanceof Player) {
    Player player = (Player)entity;
    player.sendMessage("You have been damaged.");
    }
}

1 个答案:

答案 0 :(得分:0)

您是否曾与朋友或破解帐户一起尝试过?

首先你使用了错误的事件。 EntityDamageEvent表示实体(例如玩家)造成损害。只需使用EntityDamageByEntityEvent即可。 而且,在你的代码和你的代码中,有些东西是一个玩家  消息是("You have been damaged") ..实际上这是无情的,因为就像我之前说的那样,该播放器是DAMAGER而不是DAMAGED。 更好的代码将是:

@EventHandler

public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
    final Entity entity = event.getDamager();
    if (entity instanceof Player) {
    Player player = (Player)entity;
    final Entity entity2 = event.getEntity();
     if(entity2 instanceof Player){
    Player player2 = (Player)entity2;
     player2.sendMessage("You got damaged by " + player.getName());
        }
}                        

}

相关问题