Permissions API

Permissions/Groups API specification, minecraft/forge patches and default implementation by me and @AbrarSyed

This is a repull for pull request #1122 , with Lex's suggestions implemented.

Feel free to comment if there's anything else.
The point of this line is to force actually provide a their information using their own context classes or something as opposed to contstructing a fake player for it. Ideally, this API should do away with fake players completely and render them obsolete.

On July 24, 2014 9:32:15 PM CDT, James <notifications@github.com> wrote:
>> +    public static boolean checkPerm(EntityPlayer player, String
>node)
>> +    {
>> +        return FACTORY.checkPerm(player, node, null);
>> +    }
>> +    
>> +    /**
>> +     * Check a permission with contexts
>> +     * @param player
>> +     * @param node
>> +     * @param contextInfo
>> +     * @return
>> +     */
>> +    public static boolean checkPerm(EntityPlayer player, String
>node, Map<String, IContext> contextInfo)
>> +    {
>> +        if (player instanceof FakePlayer)
>> +            throw new IllegalArgumentException("You cannot check
>permissions with a fake player. Use PermManager.getPerm(username,
>node)");
>
>Obnoxious and buggy. Let the factory figure out what to do with
>permissions for fake players.
>
>---
>Reply to this email directly or view it on GitHub:
>https://github.com/MinecraftForge/MinecraftForge/pull/1220/files#r15384117

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.