An arrow can be shot by a Player, a hostile mob, or a non-LivingEntity (e.g. an arrow trap). Suppose an arrow is fired and hits a LivingEntity, like a tamed wolf or a player. An EntityDamage event fires with a cause of DamageCause.PROJECTILE, and my EntityDamageListener begins to execute. Is there a way of figuring out whether the arrow came from a player, a hostile mob, or a non-LivingEntity? I was poking through EntityDamageEvent and I don't see anything that would let me distinguish where the arrow came from.