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:
@@ -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
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user