Bukkit/CraftBukkit — pull request #754 by jedediah (2012-04-18 16:12:12+00:00)
Title: two new APIs: affect spawning and entity-entity collision

I added these two APIs to support better vanish plugins.

The entity-entity collision API provides overrides for the Entity.canBePushed() and Entity.canBeCollidedWith() predicates (MCP names). A player that returns false from these methods will not be able to push other players or mobs, though it will look a bit glitchy from their perspective due to client-side logic.

The spawn-affecting API adds a flag to players to indicate whether they should be ignored by mob spawning algorithms. Normally, mobs don't spawn within 24m or despawn within 32m of a player. Players also activate spawners within 16m and affect the mob caps. Using this API, individual players can be exempted from all that.