diff --git a/api/src/main/java/net/islandearth/rpgregions/api/integrations/IntegrationManager.java b/api/src/main/java/net/islandearth/rpgregions/api/integrations/IntegrationManager.java index b3dd4ed..f18afed 100644 --- a/api/src/main/java/net/islandearth/rpgregions/api/integrations/IntegrationManager.java +++ b/api/src/main/java/net/islandearth/rpgregions/api/integrations/IntegrationManager.java @@ -67,8 +67,10 @@ public interface IntegrationManager { Optional configuredRegion = plugin.getManagers().getRegionsCache().getConfiguredRegion(region); if (configuredRegion.isEmpty()) return false; if (configuredRegion.get().getRequirements() != null) { + boolean hasBypass = player.hasPermission("rpgregions.bypassentry"); + if (hasBypass) plugin.debug("Player has bypass permission"); for (RegionRequirement requirement : configuredRegion.get().getRequirements()) { - boolean flag = !requirement.meetsRequirements(player) && !player.hasPermission("rpgregions.bypassentry"); + boolean flag = !requirement.meetsRequirements(player) && !hasBypass; if (requirement instanceof DependencyRequirement dependencyRequirement) { List discoveries = new ArrayList<>(); try { @@ -78,7 +80,7 @@ public interface IntegrationManager { e.printStackTrace(); } - flag = !player.hasPermission("rpgregions.bypassentry") && !dependencyRequirement.meetsRequirements(discoveries); + flag = !hasBypass && !dependencyRequirement.meetsRequirements(discoveries); } if (flag) { diff --git a/rpgregions/src/main/java/net/islandearth/rpgregions/requirements/LevelRequirement.java b/rpgregions/src/main/java/net/islandearth/rpgregions/requirements/LevelRequirement.java index 929089d..bd72a09 100644 --- a/rpgregions/src/main/java/net/islandearth/rpgregions/requirements/LevelRequirement.java +++ b/rpgregions/src/main/java/net/islandearth/rpgregions/requirements/LevelRequirement.java @@ -25,7 +25,7 @@ public class LevelRequirement extends RegionRequirement { @Override public boolean meetsRequirements(Player player) { - return player.getLevel() >= level && maxLevel == -1 || player.getLevel() < maxLevel; + return player.getLevel() >= level && (maxLevel == -1 || player.getLevel() < maxLevel); } @Override