Copy logic from pre-refactor, should fix everything PermissionsHandler related, add Vault dependency to readme

This commit is contained in:
vemacs 2015-06-03 07:04:39 -06:00
parent 8f71261646
commit 1f14ac5c18
2 changed files with 27 additions and 27 deletions

View File

@ -94,44 +94,44 @@ public class PermissionsHandler implements IPermissionsHandler {
} }
public void checkPermissions() { public void checkPermissions() {
if (!(handler instanceof NullPermissionsHandler)) return;
final PluginManager pluginManager = ess.getServer().getPluginManager(); final PluginManager pluginManager = ess.getServer().getPluginManager();
final Plugin vaultAPI = pluginManager.getPlugin("Vault"); final Plugin vaultAPI = pluginManager.getPlugin("Vault");
if (vaultAPI != null && vaultAPI.isEnabled()) { if (vaultAPI != null && vaultAPI.isEnabled()) {
AbstractVaultHandler vaultHandler; if (!(handler instanceof AbstractVaultHandler)) {
String enabledPermsPlugin = ""; AbstractVaultHandler vaultHandler;
List<String> specialCasePlugins = Arrays.asList("PermissionsEx", "GroupManager", String enabledPermsPlugin = "";
"SimplyPerms", "Privileges", "bPermissions"); List<String> specialCasePlugins = Arrays.asList("PermissionsEx", "GroupManager",
for (Plugin plugin : pluginManager.getPlugins()) { "SimplyPerms", "Privileges", "bPermissions");
if (specialCasePlugins.contains(plugin.getName())) { for (Plugin plugin : pluginManager.getPlugins()) {
enabledPermsPlugin = plugin.getName(); if (specialCasePlugins.contains(plugin.getName())) {
break; enabledPermsPlugin = plugin.getName();
break;
}
} }
}
// No switch statements for Strings, this is Java 6 // No switch statements for Strings, this is Java 6
if (enabledPermsPlugin.equals("PermissionsEx")) { if (enabledPermsPlugin.equals("PermissionsEx")) {
vaultHandler = new PermissionsExHandler(); vaultHandler = new PermissionsExHandler();
} else if (enabledPermsPlugin.equals("GroupManager")) { } else if (enabledPermsPlugin.equals("GroupManager")) {
vaultHandler = new GroupManagerHandler(pluginManager.getPlugin(enabledPermsPlugin)); vaultHandler = new GroupManagerHandler(pluginManager.getPlugin(enabledPermsPlugin));
} else if (enabledPermsPlugin.equals("SimplyPerms")) { } else if (enabledPermsPlugin.equals("SimplyPerms")) {
vaultHandler = new SimplyPermsHandler(); vaultHandler = new SimplyPermsHandler();
} else if (enabledPermsPlugin.equals("Privileges")) { } else if (enabledPermsPlugin.equals("Privileges")) {
vaultHandler = new PrivilegesHandler(); vaultHandler = new PrivilegesHandler();
} else if (enabledPermsPlugin.equals("bPermissions")) { } else if (enabledPermsPlugin.equals("bPermissions")) {
vaultHandler = new BPermissions2Handler(); vaultHandler = new BPermissions2Handler();
} else { } else {
vaultHandler = new GenericVaultHandler(); vaultHandler = new GenericVaultHandler();
} }
if (vaultHandler.setupProviders()) {
if (enabledPermsPlugin.equals("")) { if (enabledPermsPlugin.equals("")) {
enabledPermsPlugin = "generic"; enabledPermsPlugin = "generic";
} }
handler = vaultHandler; handler = vaultHandler;
ess.getLogger().info("Using Vault based permissions (" + enabledPermsPlugin + ")"); ess.getLogger().info("Using Vault based permissions (" + enabledPermsPlugin + ")");
return; vaultHandler.setupProviders();
} }
return;
} }
if (useSuperperms) { if (useSuperperms) {
if (!(handler instanceof SuperpermsHandler)) { if (!(handler instanceof SuperpermsHandler)) {

View File

@ -11,7 +11,7 @@ Why you should use it
EssentialsX provides several performance enhancements and fixes that are currently not available in Essentials and Spigot-Essentials. [See the wiki for details.](https://github.com/drtshock/Essentials/wiki) EssentialsX provides several performance enhancements and fixes that are currently not available in Essentials and Spigot-Essentials. [See the wiki for details.](https://github.com/drtshock/Essentials/wiki)
EssentialsX is a drop-in replacement for Essentials. EssentialsX is almost a completely drop-in replacement for Essentials. **EssentialsX requires [Vault](http://dev.bukkit.org/bukkit-plugins/vault/) if you have a supported permissions plugin.**
Downloads Downloads
-------- --------