IncendoPermissions is an upcoming Minecraft permission plugin, aimed to be both lightweight and easy to use, while still providing all the features expected of a permission plugin. IncendoPermissions aims to achieve this in a sane way, without bloating the plugin with a bunch of features that most people don't actually need or use.
Permissions:
*
wildcard support, etc:your.permission.group.*
. Matches all permissions of the typeyour.permission.group.<perm...>
!
priority permission, will override all permissions from higher priority groups. Permission checks are greedy, and a positive permission node with a priority prefix will always return true-
permission negation. Prefixing a permission with the negation prefix, will forcefully revert the permission. This can be combined with the priority prefix
Groups: Groups are hierarchical. If a permission group has a parent, then it will inherit the parent permissions. Child permissions will always override parent permissions, unless the parent permission is a priority permission.
An example setup would be:
member
├── builder
| └── advanced builder
└── moderator
└── administrator
A player may belong to several permission groups, in which case a greedy search will be performed for any positive permission node. Players may also have personal permission nodes assigned.
Filters: Permission nodes can be defined per world and gamemode, and they may also be timed. There will be an API that will allow you to extend this.
Properties: Groups and players can be assigned properties, such as chat prefixes and suffixes. There will be an API that will allow you to extend this.
Storage: The plugin will allow you to store permissions in either flat files (using YAML) or in a MySQL database.
If you are planning to commit any changes to the project, it would be highly appreciated if you were to follow the project code style conventions. To make this easier we have provided settings that can be imported into your IDE.
Eclipse:
Window > Preferences > Java > Code Style > Formatter
Press Import
and select ...path/to/project/code_style.xml
IntelliJ:
File > Settings > Editor > Code Style
. Next to "Scheme" there is a cog wheel, press that and then
Import Scheme > IntelliJ IDEA Code Style XML
and then select ..path/to/project/code_style.xml