A system to allow manipulation, addition and removal of spawn conditions for entities.
Access to a collection of SpawnRules for each entity type registered on the server.
Rules could be set to either allow or forbid a condition - each condition could be a block type - or an environmental measurement.
Such things as light level, daylight level, time of day, block type.
Even more advanced concepts within minecraft such as "is a cave" for bats - or "in a village" or "in a house"
Could also be linked to "regions" if such a concept made it into the API.
Justification and Use Case:
With this plugins can alter the existing rules for spawning instead of having to monitor all spawns and reject invalid ones. Or even worse - creating a repeating scheduled task to artificially induce spawns.
It makes more sense to change spawn conditions - than to try to change things after the proverbial horse has bolted.
Plugins providing new block types and inserting then in the world could then easily register this block as a suitable spawn place for valid mobs.
Would need to decide if the default spawn state for an entity is anywhere - or nowhere. i.e. if rules build up - or filter...