9
0
mirror of https://gitlab.com/SamB440/rpgregions-2.git synced 2026-01-04 15:31:38 +00:00

Fix order of level requirement check

This commit is contained in:
SamB440
2022-11-04 15:28:34 +00:00
parent e877eab8c6
commit e085e3b75b
2 changed files with 5 additions and 3 deletions

View File

@@ -67,8 +67,10 @@ public interface IntegrationManager {
Optional<ConfiguredRegion> 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<String> 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) {

View File

@@ -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