Full support for transient permissions through Vault API
Sataniel98 opened this issue ยท 2 comments
Description
LuckPerms does not implement the methods of Vault's permission API related to transient permissions:
- public boolean playerAddTransient(OfflinePlayer player, String permission)
- public boolean playerAddTransient(Player player, String permission)
- public boolean playerAddTransient(String worldName, OfflinePlayer player, String permission)
- public boolean playerAddTransient(String worldName, Player player, String permission)
- public boolean playerRemoveTransient(String worldName, OfflinePlayer player, String permission)
- public boolean playerRemoveTransient(String worldName, Player player, String permission)
See:
- https://github.com/LuckPerms/LuckPerms/blob/master/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/LuckPermsVaultPermission.java
- https://github.com/LuckPerms/LuckPerms/blob/master/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/AbstractVaultPermission.java
- https://github.com/MilkBowl/VaultAPI/blob/master/src/main/java/net/milkbowl/vault/permission/Permission.java#L203
It seems when these methods are called with LuckPerms, the add methods work but the remove methods don't "thanks" to the default implementation.
Reproduction Steps
The problem was brought to my attention by users of my plugin and I confirmed the issue isn't on my end with a permission plugin that overrides the methods.
Expected Behaviour
Removal of transient permissions
Server Details
3360-Spigot-f65de01-c2e0bbd
LuckPerms Version
5.3-SNAPSHOT (source code master)
Logs and Configs
No response
Extra Details
No response
the add methods work but the remove methods don't "thanks" to the default implementation.
This is arguably something Vault should fix ๐
I'll consider fixing it in LP though, just got to find some time. PRs accepted in the meantime if anyone wants to give it a try, should be an good first issue.
This is now resolved, thanks to @CuddleTheif