SpoutDev/SpoutAPI — pull request #59 by yetanotherx (2012-01-05 01:40:35+00:00)
Title: Add an Event-based Permissions system

This was created with feedback in IRC, as well as past experience. The problem with existing Permissions solutions is that there's no agreed standard for what a Permissions system would be like. Everyone uses them differently, and what works for one server may not work for another server. This system aims to elimnate those concerns by delegating all of the logic to the plugins. This simply adds 3 events and an interface, and that's all that's necessary.

Plugins that want to know if a player has a permission can call Player.hasPermission(node), and that method sends out a PermissionNodeEvent. Permissions plugins would then listen to that event, and adjust the result based on that. This also work for Player.isInGroup() and Player.hasGroups(), which call the other two events respectively.

Questions? Ask me in #spoutdev, as usual.