Add ability to disable Bukkit permissions handling#12389
Conversation
|
I mean, just disabling the perm system for a select set of commands, IMHO, is just a non starter; The actual fix here would probably be to make op levels mapped over to perm nodes in order to let perm plugins deal with this stuff more fluently/properly, I just don't know if there is much care to put up the engineering effort to implement and maintain such a mechanism which basically hasn't been used for well over a decade due to much better solutions existing |
|
I agree, @electronicboy, I think
But yes, I also agree that the permissions handling should be factorized and I understand there is no motivation, in the sense of putting the engineering effort to it, by the Paper's team. But if anyone wants, in the future, made the refactor by his own; having more context from other issues and PRs where maintainers can reflect there opinion, might be useful and more convenient. FYI: This change is motivated by the comment:
|
|
Also having a config value to disable a mechanism that is no longer consider in use, quoting @electronicboy |
|
While I am a fan of small PRs, introducing a config option to bypass a system that (presumably) is properly fixed later just for the config option to die then is not really something I am interested in. As cat stated, the "proper" solution for this would be a lot more work that we may or may not even be interested in maintaining (tho we do maintain CommandPermissions already so, it might be fine?) In general, fine grained permissions are a objectively better approach than vanillas operator system so I am not sure if a proper solution is worth maintaining. I appreciate your work on this but I do not believe this approach is something I am willing to merge. |
PR Details
Information
This PR intends to add the ability for server to disable Bukkit permissions checking for commands. With this will be able to fix some problems with permission levels checking in Bukkit.
Technical comments
The
PermissibleBase#hasPermission(@NotNull String inName)is a Bukkit method that checks the permissions of a property, from the comment of @zml2008permissions model predates the numbered op levelswe can assume it should be thought as a refactor in the future. Because the Bukkit implementation does not allow levels of permissions.Note: The modifications are made in the less affecting way possible, we know this might induce into some configurations changes to unintended behavior. With this I want to ask: I should enhance the hole system or only change the minimum to fix the issues
Why do not approach the full solution?
IMHO; this should be thought, when the project has fulfill all the major goals and all the important discussions has being fixed, by the contributors for having a nice permission handling without affecting vanilla implementation while containing all the features needed, Bukkit's and Paper's,
Why still in draft?
This PR is in draft because, me luisch444, have not completely tested this feature and neither added any test. Nevertheless, we would like to hear back by the contributors of project if any adjustment is needed.
As well, this modifications (with the config value active) might introduces some breaks into some plugins only supported in Bukkit.
Fixed issues (Please update/comment on need)