LuckPerms

LuckPerms

41.4k Downloads

Permission resolution question

vrogojin opened this issue ยท 1 comments

commented

Description

I have UltimateClaims and trying to allow to the default group to run any action except of anything under ultimateclaims.toggle
I have this permission check for ultimateclaims.toggle.hostilemobspawning like this:

23:01:53.262
[CHAT] [LP] Permission information for ultimateclaims.toggle.hostilemobspawning:
23:01:53.262
[CHAT] [LP] - default does not have ultimateclaims.toggle.hostilemobspawning set.
23:01:53.262
[CHAT] [LP] - default does not inherit ultimateclaims.toggle.hostilemobspawning.
23:01:53.262
[CHAT] [LP] - default has ultimateclaims.toggle.* set to false in context global.
23:01:53.262
[CHAT] [LP] - default has ultimateclaims.* set to true in context global.
23:01:53.262
[CHAT] [LP] 
23:01:53.267
[CHAT] [LP] Permission check for ultimateclaims.toggle.hostilemobspawning:
23:01:53.267
[CHAT] [LP]     Result: true
23:01:53.267
[CHAT] [LP]     Processor: bukkit.ChildProcessor
23:01:53.267
[CHAT] [LP]     Cause: parent: ultimateclaims.*
23:01:53.267
[CHAT] [LP]     Context: None

I was thinking the result must be FALSE since ultimateclaims.toggle.* has priority over ultimateclaims.*, isn't it?

Reproduction steps

Issue these commands on server

/lp group default permission set ultimateclaims.* true
/lp group default permission set ultimateclaims.toggle.* false

Expected behaviour

ultimateclaims.toggle.hostilemobspawning must be set to FALSE

Environment details

  • Server type/version: Spigot running version 1.17.1 build 2021-07-06T11:59:45+00:00
  • LuckPerms version: v5.3.47

Any other relevant details

commented

This is intended behavior.

The author of UltimateClaims has configured within their plugin that anyone with the ultimateclaims.* permission should also automatically be given ultimateclaims.toggle.hostilemobspawning (LuckPerms calls this "Bukkit Child permissions")

This takes priority over wildcards assigned within your permissions setup.

If you don't want this to happen, speak to the UltimateClaims author - they can fix it most easily by adding an additional child permission for ultimateclaims.toggle.* which includes the child nodes.