High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
Go to file
Bukkit/Spigot 90b6068b6b Apply default permissions by registration order.
When permissibles recalculate their permissions they set the default permission values in the order as the default permissions are provided by the plugin manager.

This order is currently arbitrary and can even change depending on the number of buckets of the underlying hashset which stores those default permissions.

When a plugin defines default permissions inside its plugin.yml (eg. permission 'A' with default value 'true') and a server admin defines different default values for these permissions inside the permissions.yml (eg. permission 'myDefaultPerms' with default value 'true' and with child 'A' set to 'false'), then the outcome will depend on the order in which those default permissions (and their childs) get evaluated inside PermissableBase#recalculatePermissions().
The permission which gets processed last will overwrite the permission value of 'A' according to its definition. Since this order is arbitrary and inconsistent, the server admin will experience weird behavior with his defined default permissions sometimes working and sometimes not.

By: blablubbabc <lukas@wirsindwir.de>
2019-02-17 17:06:31 +01:00
paper-api Apply default permissions by registration order. 2019-02-17 17:06:31 +01:00