spigot: For PEX provider, check class presence

Previously, just the plugin name was checked, which meant that Dynmap
would crash on servers running PEX 2 rather than falling back to another
provider such as superperms or op
This commit is contained in:
Zach Levis 2020-01-26 20:39:45 -08:00
parent dfbe83f57c
commit aee27a10d4
1 changed files with 8 additions and 0 deletions

View File

@ -21,9 +21,17 @@ public class PEXPermissions implements PermissionProvider {
Plugin permissionsPlugin = server.getPluginManager().getPlugin("PermissionsEx");
if (permissionsPlugin == null)
return null;
try {
Class.forName("ru.tehkode.permissions.bukkit.PermissionsEx");
} catch (ClassNotFoundException e) {
return null;
}
server.getPluginManager().enablePlugin(permissionsPlugin);
if(permissionsPlugin.isEnabled() == false)
return null;
//Broken in new dev builds, apparently
//if(PermissionsEx.isAvailable() == false)
// return null;