Bukkit/Bukkit — pull request #585 by jedediah (2012-04-18 16:17:37+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, or block projectiles, 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.

CraftBukkit implementation PR:
https://github.com/Bukkit/CraftBukkit/pull/754