How to get if a player attacks a mob?

Discussion in 'Plugin Development' started by Darkedge, Sep 19, 2011.

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

    Darkedge

    Alright, so I've got the mob checker working, events working, all I need now is to check if it was a player that attacked, and retrieve that players name, I've tried using lastdamagecause, all I seem to be able to get is entity_attack... but I need the player that attacked? Ideas? Code snippet? :)

    Darkedge.
     
  2. Code:java
    1. public void onEntityDamage(EntityDamageEvent event) {
    2. if (event instanceof EntityDamageByEntityEvent && !(event.getEntity instanceof Player)) {
    3. EntityDamageByEntityEvent nEvent = (EntityDamageByEntityEvent) event;
    4. if (event.getDamager() instanceof Player) {
    5. Player p = (Player) event.getDamager();
    6. //do stuff
    7. }
    8. }
    9. }
     
  3. Offline

    Darkedge

    Thanks, looks good, won't be able to use it till tomorrow tho, thanks :)

    Darkedge.
     
  4. Offline

    Darkedge

    For future reference, that code isn't fully working, but Eclipse helped me fix it up:
    PHP:
        public void onEntityDamage(EntityDamageEvent event) {
            if (
    event instanceof EntityDamageByEntityEvent && event.getEntity() instanceof Player) {
                
    EntityDamageByEntityEvent nEvent = (EntityDamageByEntityEventevent;
                if (
    nEvent.getDamager() instanceof Player) {
                    
    Player p = (PlayernEvent.getDamager();
                    
    //do stuff
                
    }
            }
        }
     
Thread Status:
Not open for further replies.

Share This Page