@@ -0,0 +1,1486 @@
+package co.phoenixlab.discord.api.entities;%0A%0Aimport java.util.EnumSet;%0A%0Apublic enum Permission %7B%0A    GEN_CREATE_INSTANT_INVITE(0),%0A    GEN_KICK_MEMBERS(1),%0A    GEN_BAN_MEMBERS(2),%0A    GEN_MANAGE_ROLES(3),%0A    GEN_MANAGE_PERMISSIONS(4),%0A    GEN_MANAGE_CHANNELS(5),%0A    GEN_MANAGE_SERVER(6),%0A    CHAT_READ_MESSAGES(10),%0A    CHAT_SEND_MESSAGES(11),%0A    CHAT_SEND_TTS_MESSAGES(12),%0A    CHAT_MANAGE_MESSAGES(13),%0A    CHAT_EMBED_LINKS(14),%0A    CHAT_ATTACH_FILES(15),%0A    CHAT_READ_MESSAGE_HISTORY(16),%0A    CHAT_MENTION_EVERYONE(17),%0A    VOICE_CONNECT(20),%0A    VOICE_SPEAK(21),%0A    VOICE_MUTE_MEMBERS(22),%0A    VOICE_DEAFEN_MEMBERS(23),%0A    VOICE_MOVE_MEMBERS(24),%0A    VOICE_USE_VAD(25);%0A%0A%0A    private final int bitNum;%0A%0A    Permission(int bitNum) %7B%0A        this.bitNum = bitNum;%0A    %7D%0A%0A    public int getBitNum() %7B%0A        return bitNum;%0A    %7D%0A%0A    public long toLong() %7B%0A        return 1L %3C%3C bitNum;%0A    %7D%0A%0A    public boolean test(long l) %7B%0A        return (l & toLong()) != 0;%0A    %7D%0A%0A    public static EnumSet%3CPermission%3E fromLong(long l) %7B%0A        EnumSet%3CPermission%3E ret = EnumSet.noneOf(Permission.class);%0A        for (Permission permission : values()) %7B%0A            if (permission.test(l)) %7B%0A                ret.add(permission);%0A            %7D%0A        %7D%0A        return ret;%0A    %7D%0A%0A    public static long toLong(EnumSet%3CPermission%3E set) %7B%0A        long accum = 0L;%0A        for (Permission permission : set) %7B%0A            accum %7C= permission.toLong();%0A        %7D%0A        return accum;%0A    %7D%0A%7D%0A

Add permissions enumeration