Add slightly more sanity to Vault code

This subtly changes how backend permissions plugins are reported on
bStats. (Previously, somehow the LP service provider was detected as
originating from Vault...?)
This commit is contained in:
md678685 2020-07-06 19:09:07 +01:00
parent c4d318b7d0
commit c668879070

View File

@ -23,8 +23,10 @@ public abstract class AbstractVaultHandler extends SuperpermsHandler {
} }
RegisteredServiceProvider<Permission> permsProvider = Bukkit.getServer().getServicesManager().getRegistration(Permission.class); RegisteredServiceProvider<Permission> permsProvider = Bukkit.getServer().getServicesManager().getRegistration(Permission.class);
perms = permsProvider.getProvider();
RegisteredServiceProvider<Chat> chatProvider = Bukkit.getServer().getServicesManager().getRegistration(Chat.class); RegisteredServiceProvider<Chat> chatProvider = Bukkit.getServer().getServicesManager().getRegistration(Chat.class);
if (permsProvider == null || chatProvider == null) return false;
perms = permsProvider.getProvider();
chat = chatProvider.getProvider(); chat = chatProvider.getProvider();
return perms != null && chat != null; return perms != null && chat != null;
} }
@ -76,7 +78,13 @@ public abstract class AbstractVaultHandler extends SuperpermsHandler {
@Override @Override
public String getBackendName() { public String getBackendName() {
return JavaPlugin.getProvidingPlugin(perms.getClass()).getName(); String reportedPlugin = perms.getName();
String classPlugin = JavaPlugin.getProvidingPlugin(perms.getClass()).getName();
if (reportedPlugin.equals(classPlugin)) {
return reportedPlugin;
}
return reportedPlugin + " (" + classPlugin + ")";
} }
boolean canLoad() { boolean canLoad() {