Hit by arrow

Discussion in 'Plugin Development' started by Forseth11, Apr 10, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Forseth11

    How can I use: EntityDamageByEntityEvent to see if a player was hit by an arrow.
     
  2. Offline

    DanielSturk

    Code:
    event.getCause() == DamageCause.PROJECTILE
    (This includes snowballs, fire balls, potions, ect...)
    I would recommend you use
    Code:
        @EventHandler
        void hit(ProjectileHitEvent event){
            if(event.getEntity().getType() == EntityType.ARROW){
               
            }
        }
     
  3. Offline

    SirTyler

    Code:
    if(event.getDamager() instanceof Arrow) //Its an Arrow
    
     
  4. Offline

    Forseth11

    SirTyler DanielSturk

    I tried both ways and nothing happened:

    Code:
    public void playerShotByBow(ProjectileHitEvent event){   
            if(event.getEntity().getType() == EntityType.ARROW){
                    Player p = (Player)event.getEntity();
                    p.sendMessage("You were hit");
            }
        }
     
  5. Offline

    chasechocolate

    Forseth11 use EntityDamageByEntityEvent, check if the event.getEntity() is a Player and check if the event.getDamager() is an Arrow.
     
  6. Offline

    ZeusAllMighty11

    Code:
    @EventHandler
    public void onHit(EntityDamageByEntityEvent e){
        Entity e1 = e.getEntity();
        Entity e2 = e.getEntity().damager():
        if(instanceof Arrow){
            Arrow arrow = (Arrow) e2;
            if(arrow.getShooter() instanceof Player){
                Player shooter = (Player) arrow.getShooter()'
            }
        }
    }
     
Thread Status:
Not open for further replies.

Share This Page