05-01-2015, 09:16 PM
MCServers knockback handling is very confused in places. If you are attacked by a mob or player the damage is knock back is applied in cEntity::DoTakeDamage. This method is also called by explosions, but the knock back handling is handled by cChunkMap::DoExplosionAt. I suspect the issue with damage in the air is that MCServer applies a flat upwards acceleration, not taking into account existing upwards velocity.