Add option to force using the generic Vault permission handler hook
Requested in #1350
This commit is contained in:
parent
e3dd719b0e
commit
d8d87c8b67
@ -9,6 +9,8 @@ import fr.xephi.authme.permission.handlers.PermissionHandlerException;
|
|||||||
import fr.xephi.authme.permission.handlers.PermissionsExHandler;
|
import fr.xephi.authme.permission.handlers.PermissionsExHandler;
|
||||||
import fr.xephi.authme.permission.handlers.VaultHandler;
|
import fr.xephi.authme.permission.handlers.VaultHandler;
|
||||||
import fr.xephi.authme.permission.handlers.ZPermissionsHandler;
|
import fr.xephi.authme.permission.handlers.ZPermissionsHandler;
|
||||||
|
import fr.xephi.authme.settings.Settings;
|
||||||
|
import fr.xephi.authme.settings.properties.PluginSettings;
|
||||||
import fr.xephi.authme.util.StringUtils;
|
import fr.xephi.authme.util.StringUtils;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.Server;
|
import org.bukkit.Server;
|
||||||
@ -38,6 +40,8 @@ public class PermissionsManager implements Reloadable {
|
|||||||
private final Server server;
|
private final Server server;
|
||||||
private final PluginManager pluginManager;
|
private final PluginManager pluginManager;
|
||||||
|
|
||||||
|
private Settings settings;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The permission handler that is currently in use.
|
* The permission handler that is currently in use.
|
||||||
* Null if no permission system is hooked.
|
* Null if no permission system is hooked.
|
||||||
@ -51,9 +55,10 @@ public class PermissionsManager implements Reloadable {
|
|||||||
* @param pluginManager Bukkit plugin manager
|
* @param pluginManager Bukkit plugin manager
|
||||||
*/
|
*/
|
||||||
@Inject
|
@Inject
|
||||||
public PermissionsManager(Server server, PluginManager pluginManager) {
|
public PermissionsManager(Server server, PluginManager pluginManager, Settings settings) {
|
||||||
this.server = server;
|
this.server = server;
|
||||||
this.pluginManager = pluginManager;
|
this.pluginManager = pluginManager;
|
||||||
|
this.settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -70,19 +75,33 @@ public class PermissionsManager implements Reloadable {
|
|||||||
*/
|
*/
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void setup() {
|
private void setup() {
|
||||||
// Loop through all the available permissions system types
|
if(settings.getProperty(PluginSettings.FORCE_VAULT_HOOK)) {
|
||||||
for (PermissionsSystemType type : PermissionsSystemType.values()) {
|
|
||||||
try {
|
try {
|
||||||
PermissionHandler handler = createPermissionHandler(type);
|
PermissionHandler handler = createPermissionHandler(PermissionsSystemType.VAULT);
|
||||||
if (handler != null) {
|
if (handler != null) {
|
||||||
// Show a success message and return
|
// Show a success message and return
|
||||||
this.handler = handler;
|
this.handler = handler;
|
||||||
ConsoleLogger.info("Hooked into " + type.getDisplayName() + "!");
|
ConsoleLogger.info("Hooked into " + PermissionsSystemType.VAULT.getDisplayName() + "!");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch (Exception ex) {
|
} catch (PermissionHandlerException e) {
|
||||||
// An error occurred, show a warning message
|
e.printStackTrace();
|
||||||
ConsoleLogger.logException("Error while hooking into " + type.getDisplayName(), ex);
|
}
|
||||||
|
} else {
|
||||||
|
// Loop through all the available permissions system types
|
||||||
|
for (PermissionsSystemType type : PermissionsSystemType.values()) {
|
||||||
|
try {
|
||||||
|
PermissionHandler handler = createPermissionHandler(type);
|
||||||
|
if (handler != null) {
|
||||||
|
// Show a success message and return
|
||||||
|
this.handler = handler;
|
||||||
|
ConsoleLogger.info("Hooked into " + type.getDisplayName() + "!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
} catch (Exception ex) {
|
||||||
|
// An error occurred, show a warning message
|
||||||
|
ConsoleLogger.logException("Error while hooking into " + type.getDisplayName(), ex);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -63,6 +63,10 @@ public final class PluginSettings implements SettingsHolder {
|
|||||||
public static final Property<String> UNREGISTERED_GROUP =
|
public static final Property<String> UNREGISTERED_GROUP =
|
||||||
newProperty("GroupOptions.unregisteredPlayerGroup", "");
|
newProperty("GroupOptions.unregisteredPlayerGroup", "");
|
||||||
|
|
||||||
|
@Comment("Forces authme to hook into Vault instead of a specific permission handler system.")
|
||||||
|
public static final Property<Boolean> FORCE_VAULT_HOOK =
|
||||||
|
newProperty("settings.forceVaultHook", false);
|
||||||
|
|
||||||
@Comment({
|
@Comment({
|
||||||
"Log level: INFO, FINE, DEBUG. Use INFO for general messages,",
|
"Log level: INFO, FINE, DEBUG. Use INFO for general messages,",
|
||||||
"FINE for some additional detailed ones (like password failed),",
|
"FINE for some additional detailed ones (like password failed),",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user