LuckPerms

LuckPerms

41.4k Downloads

Transient resolution order not working properly on bukkit

bloodmc opened this issue · 9 comments

commented

LP Version: 4.4.26

https://github.com/lucko/LuckPerms/blob/master/sponge/sponge-service/src/main/java/me/lucko/luckperms/sponge/service/model/ResolutionOrder.java#L38-L41

Persistent permissions set on the default type should have higher priority than transient permissions. This works perfectly fine on Sponge side with LuckPerms but does not work at all with LP Bukkit. Without this feature, GriefDefender default permissions do not work as expected.

zml2008 changed this years back when I requested it for PEX

PEXPlugins/PermissionsEx@a8da1bd

commented

LP Bukkit has no concept of a default subject.

commented

https://github.com/lucko/LuckPerms/wiki/Default-Groups

The default group is serving the same purpose as sponge’s default subject. All users are part of the default group which is what GriefDefender uses to set defaults.

commented

The default group is just that: A group.
It doesn't apply any permissions on its own (at least not in bukkit/spigot)
It is just a group every player gets.

commented

I never stated it set permissions on its own. My plugin sets ‘default’ transient permissions on the default group which all users inherit since they are part of the group. The problem is when I set a persistent permission on the default group. The persistent permission should have higher priority than the transient permission.

commented

In general, transient has more "priority" than persistent across the board in LuckPerms.

The special case for Sponge default subjects in LP was added at your request many months ago, but I'm not so sure about doing the same for LP's default group subject.

commented

@lucko zml added the change to PEX core in 2016 which should have affected both Bukkit and Sponge. Servers are still using PEX so I would only predict that the setting is fine. We also all agreed it made sense for the default group. Currently, I am handling this myself within GriefDefender but I would prefer if LP handled it.

commented

@lucko Would you be able to add a setting I could hook into to force default group to check persisted before transient?

commented

Yes, working on this for v5