From 160f49bbaecc8f788b992c7ecda6acd007d07596 Mon Sep 17 00:00:00 2001 From: Jeremy Wood Date: Tue, 7 Mar 2023 18:54:33 -0500 Subject: [PATCH] Use specific dependencies in MVPermissions. --- .../MultiverseCore/utils/MVPermissions.java | 45 +++++++++++-------- 1 file changed, 26 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/onarandombox/MultiverseCore/utils/MVPermissions.java b/src/main/java/com/onarandombox/MultiverseCore/utils/MVPermissions.java index 1c38ecda..bec14475 100644 --- a/src/main/java/com/onarandombox/MultiverseCore/utils/MVPermissions.java +++ b/src/main/java/com/onarandombox/MultiverseCore/utils/MVPermissions.java @@ -10,10 +10,10 @@ package com.onarandombox.MultiverseCore.utils; import java.util.List; import com.dumptruckman.minecraft.util.Logging; -import com.onarandombox.MultiverseCore.MultiverseCore; import com.onarandombox.MultiverseCore.api.MVDestination; import com.onarandombox.MultiverseCore.api.MVWorldManager; import com.onarandombox.MultiverseCore.api.MVWorld; +import com.onarandombox.MultiverseCore.config.MVCoreConfigProvider; import jakarta.inject.Inject; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -21,6 +21,7 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.permissions.Permission; import org.bukkit.permissions.PermissionDefault; +import org.bukkit.plugin.PluginManager; import org.jvnet.hk2.annotations.Service; /** @@ -29,13 +30,19 @@ import org.jvnet.hk2.annotations.Service; @Service public class MVPermissions { - private MultiverseCore plugin; - private MVWorldManager worldMgr; + private final PluginManager pluginManager; + private final MVCoreConfigProvider configProvider; + private final MVWorldManager worldMgr; @Inject - public MVPermissions(MultiverseCore plugin) { - this.plugin = plugin; - this.worldMgr = plugin.getMVWorldManager(); + public MVPermissions( + PluginManager pluginManager, + MVCoreConfigProvider configProvider, + MVWorldManager worldManager + ) { + this.pluginManager = pluginManager; + this.configProvider = configProvider; + this.worldMgr = worldManager; } /** @@ -101,7 +108,7 @@ public class MVPermissions { */ public boolean canEnterWorld(Player p, MVWorld w) { // If we're not enforcing access, anyone can enter. - if (!plugin.getMVConfig().getEnforceAccess()) { + if (!configProvider.getConfigUnsafe().getEnforceAccess()) { Logging.finest("EnforceAccess is OFF. Player was allowed in " + w.getAlias()); return true; } @@ -113,7 +120,7 @@ public class MVPermissions { return false; } String worldName = l.getWorld().getName(); - if (!this.plugin.getMVWorldManager().isMVWorld(worldName)) { + if (!this.worldMgr.isMVWorld(worldName)) { return false; } return this.hasPermission(p, "multiverse.access." + worldName, false); @@ -342,12 +349,12 @@ public class MVPermissions { * @return The permission as {@link Permission}. */ public Permission addPermission(String string, PermissionDefault defaultValue) { - if (this.plugin.getServer().getPluginManager().getPermission(string) == null) { + if (this.pluginManager.getPermission(string) == null) { Permission permission = new Permission(string, defaultValue); - this.plugin.getServer().getPluginManager().addPermission(permission); + this.pluginManager.addPermission(permission); this.addToParentPerms(string); } - return this.plugin.getServer().getPluginManager().getPermission(string); + return this.pluginManager.getPermission(string); } private void addToParentPerms(String permString) { @@ -360,36 +367,36 @@ public class MVPermissions { addToRootPermission("*.*", permStringChopped); return; } - Permission parentPermission = this.plugin.getServer().getPluginManager().getPermission(parentPermString); + Permission parentPermission = this.pluginManager.getPermission(parentPermString); // Creat parent and grandparents if (parentPermission == null) { parentPermission = new Permission(parentPermString); - this.plugin.getServer().getPluginManager().addPermission(parentPermission); + this.pluginManager.addPermission(parentPermission); this.addToParentPerms(parentPermString); } // Create actual perm. - Permission actualPermission = this.plugin.getServer().getPluginManager().getPermission(permString); + Permission actualPermission = this.pluginManager.getPermission(permString); // Extra check just to make sure the actual one is added if (actualPermission == null) { actualPermission = new Permission(permString); - this.plugin.getServer().getPluginManager().addPermission(actualPermission); + this.pluginManager.addPermission(actualPermission); } if (!parentPermission.getChildren().containsKey(permString)) { parentPermission.getChildren().put(actualPermission.getName(), true); - this.plugin.getServer().getPluginManager().recalculatePermissionDefaults(parentPermission); + this.pluginManager.recalculatePermissionDefaults(parentPermission); } } private void addToRootPermission(String rootPerm, String permStringChopped) { - Permission rootPermission = this.plugin.getServer().getPluginManager().getPermission(rootPerm); + Permission rootPermission = this.pluginManager.getPermission(rootPerm); if (rootPermission == null) { rootPermission = new Permission(rootPerm); - this.plugin.getServer().getPluginManager().addPermission(rootPermission); + this.pluginManager.addPermission(rootPermission); } rootPermission.getChildren().put(permStringChopped + ".*", true); - this.plugin.getServer().getPluginManager().recalculatePermissionDefaults(rootPermission); + this.pluginManager.recalculatePermissionDefaults(rootPermission); } /**