2017-01-28 8 views
-2

Как я могу определить, стрелял ли игрок другого игрока с луком? Я хочу получить имена игроков. Итак, как я могу это сделать?Minecraft bukkit player снял другого игрока с луком

+0

посмотреть чат? Там есть плагины, которые пишут точно, кто убил кого-либо из того, какой метод или кто умер от этой причины. – 97hilfel

+0

Но я хочу обнаружить его за код, не играющий, я хочу работать с этими значениями. – user7353558

+0

Я понял это и имел ввиду, может быть, вы можете доступ к чату и его анализ – 97hilfel

ответ

2

Используйте bukkit events, в частности EntityDamageByEntityEvent. Тогда просто проверить, кто игроки:

@EventHandler 
public void onEntityDamageByEntity(EntityDamageByEntityEvent event) { 

    Entity damager = event.getDamager(); 

    if(damager instanceof Arrow) { // check if the damager is an arrow 

     Arrow arrow = (Arrow) damager; 
     if(arrow.getShooter() instanceof Player) { 
      // the arrow.getShooter() here is the player who fired the arrow 
     } 

     Entity entityHit = event.getEntity(); 
     if(entityHit instanceof Player) { 
      Player playerHit = (Player) entityHit; 
      // playerHit here is the player who got hit 
     } 

} 

Это в основном, как вы получаете игроков, теперь вам нужно всего лишь использовать эту информацию, чтобы распечатать его в чате или что вы хотите сделать. Удачи!