From b81e8a40a4a66ea058e2f4bbb12edb3c6eee4842 Mon Sep 17 00:00:00 2001 From: Luck Date: Mon, 22 Apr 2019 10:27:29 +0100 Subject: [PATCH] Refactor VaultHookManager --- .../luckperms/bukkit/LPBukkitPlugin.java | 38 +++++++++---------- .../bukkit/vault/VaultHookManager.java | 14 ++++--- .../luckperms/nukkit/LPNukkitPlugin.java | 23 ++++++----- 3 files changed, 41 insertions(+), 34 deletions(-) diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java index 3ca33f731..aa7418d4f 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/LPBukkitPlugin.java @@ -218,8 +218,8 @@ public class LPBukkitPlugin extends AbstractLuckPermsPlugin { try { if (force || this.bootstrap.getServer().getPluginManager().isPluginEnabled("Vault")) { - this.vaultHookManager = new VaultHookManager(); - this.vaultHookManager.hook(this); + this.vaultHookManager = new VaultHookManager(this); + this.vaultHookManager.hook(); getLogger().info("Registered Vault permission & chat hook."); } } catch (Exception e) { @@ -323,29 +323,29 @@ public class LPBukkitPlugin extends AbstractLuckPermsPlugin { // unhook vault if (this.vaultHookManager != null) { - this.vaultHookManager.unhook(this); + this.vaultHookManager.unhook(); } } public void refreshAutoOp(Player player, boolean callerIsSync) { - if (getConfiguration().get(ConfigKeys.AUTO_OP)) { - User user = getUserManager().getIfLoaded(player.getUniqueId()); - if (user == null) { - if (callerIsSync) { - player.setOp(false); - } else { - this.bootstrap.getScheduler().executeSync(() -> player.setOp(false)); - } - return; - } + if (!getConfiguration().get(ConfigKeys.AUTO_OP)) { + return; + } + User user = getUserManager().getIfLoaded(player.getUniqueId()); + boolean value; + + if (user != null) { Map permData = user.getCachedData().getPermissionData(this.contextManager.getApplicableContexts(player)).getImmutableBacking(); - boolean value = permData.getOrDefault("luckperms.autoop", false); - if (callerIsSync) { - player.setOp(value); - } else { - this.bootstrap.getScheduler().executeSync(() -> player.setOp(value)); - } + value = permData.getOrDefault("luckperms.autoop", false); + } else { + value = false; + } + + if (callerIsSync) { + player.setOp(value); + } else { + this.bootstrap.getScheduler().executeSync(() -> player.setOp(value)); } } diff --git a/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultHookManager.java b/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultHookManager.java index 878673d77..052a5853c 100644 --- a/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultHookManager.java +++ b/bukkit/src/main/java/me/lucko/luckperms/bukkit/vault/VaultHookManager.java @@ -37,16 +37,20 @@ import org.bukkit.plugin.ServicesManager; * Handles hooking with the Vault API */ public class VaultHookManager { + private final LPBukkitPlugin plugin; + private LuckPermsVaultChat chat = null; private LuckPermsVaultPermission permission = null; + public VaultHookManager(LPBukkitPlugin plugin) { + this.plugin = plugin; + } + /** * Registers the LuckPerms implementation of {@link Permission} and {@link Chat} with * the service manager. - * - * @param plugin the plugin */ - public void hook(LPBukkitPlugin plugin) { + public void hook() { try { if (this.permission == null) { this.permission = new LuckPermsVaultPermission(plugin); @@ -67,10 +71,8 @@ public class VaultHookManager { /** * Unregisters the LuckPerms Vault hooks, if present. - * - * @param plugin the plugin */ - public void unhook(LPBukkitPlugin plugin) { + public void unhook() { final ServicesManager sm = plugin.getBootstrap().getServer().getServicesManager(); if (this.permission != null) { diff --git a/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java b/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java index be9588fb0..8b7ffde6d 100644 --- a/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java +++ b/nukkit/src/main/java/me/lucko/luckperms/nukkit/LPNukkitPlugin.java @@ -270,16 +270,21 @@ public class LPNukkitPlugin extends AbstractLuckPermsPlugin { } public void refreshAutoOp(Player player) { - if (getConfiguration().get(ConfigKeys.AUTO_OP)) { - User user = getUserManager().getIfLoaded(player.getUniqueId()); - if (user == null) { - player.setOp(false); - return; - } - - Map permData = user.getCachedData().getPermissionData(this.contextManager.getApplicableContexts(player)).getImmutableBacking(); - player.setOp(permData.getOrDefault("luckperms.autoop", false)); + if (!getConfiguration().get(ConfigKeys.AUTO_OP)) { + return; } + + User user = getUserManager().getIfLoaded(player.getUniqueId()); + boolean value; + + if (user != null) { + Map permData = user.getCachedData().getPermissionData(this.contextManager.getApplicableContexts(player)).getImmutableBacking(); + value = permData.getOrDefault("luckperms.autoop", false); + } else { + value = false; + } + + player.setOp(value); } private File resolveConfig() {