9
0
mirror of https://gitlab.com/SamB440/rpgregions-2.git synced 2025-12-28 11:19:24 +00:00

Fix null on prioritised region

This commit is contained in:
SamB440
2021-03-19 18:41:42 +00:00
parent bb58da002e
commit 9db4e70c98
2 changed files with 11 additions and 14 deletions

View File

@@ -6,14 +6,14 @@ import net.islandearth.rpgregions.api.IRPGRegionsAPI;
import net.islandearth.rpgregions.api.events.RegionsEnterEvent;
import net.islandearth.rpgregions.api.integrations.IntegrationManager;
import net.islandearth.rpgregions.managers.data.region.ConfiguredRegion;
import net.islandearth.rpgregions.requirements.RegionRequirement;
import net.islandearth.rpgregions.translation.Translations;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerMoveEvent;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class WorldGuardLegacyIntegration implements IntegrationManager {
@@ -41,20 +41,16 @@ public class WorldGuardLegacyIntegration implements IntegrationManager {
Set<ProtectedRegion> oldRegions = this.getProtectedRegions(new Location(player.getWorld(), oldX, oldY, oldZ));
Set<ProtectedRegion> regions = this.getProtectedRegions(new Location(player.getWorld(), x, y, z));
String prioritisedRegion = getPrioritisedRegion(pme.getTo()).getId();
if (prioritisedRegion == null) return;
List<String> stringRegions = new ArrayList<>();
regions.forEach(region -> {
ConfiguredRegion configuredRegion = plugin.getManagers().getRegionsCache().getConfiguredRegion(region.getId());
if (configuredRegion != null && configuredRegion.getRequirements() != null) {
for (RegionRequirement requirement : configuredRegion.getRequirements()) {
if (!player.hasPermission("rpgregions.bypassentry") && !requirement.meetsRequirements(player)) {
requirement.getPreventType().prevent(pme);
Translations.CANNOT_ENTER.send(player, requirement.getText(player));
return;
}
}
}
if (!prioritisedRegion.equals(region.getId())
&& checkRequirements(pme, region.getId())) stringRegions.add(region.getId());
});
ConfiguredRegion prioritisedRegion = getPrioritisedRegion(pme.getTo());
Bukkit.getPluginManager().callEvent(new RegionsEnterEvent(player, prioritisedRegion.getId(), !oldRegions.equals(regions)));
stringRegions.add(0, getPrioritisedRegion(pme.getTo()).getId());
Bukkit.getPluginManager().callEvent(new RegionsEnterEvent(player, stringRegions, !oldRegions.equals(regions)));
}
@Override

View File

@@ -45,6 +45,7 @@ public class WorldGuardIntegration implements IntegrationManager {
Set<ProtectedRegion> regions = this.getProtectedRegions(new Location(player.getWorld(), x, y, z));
String prioritisedRegion = getPrioritisedRegion(pme.getTo()).getId();
if (prioritisedRegion == null) return;
List<String> stringRegions = new ArrayList<>();
regions.forEach(region -> {
if (!prioritisedRegion.equals(region.getId())