fix: correctly process chunks when using worldguard region blacklists (#2789)

- fixes #2399
This commit is contained in:
Jordan 2024-06-21 08:49:09 +02:00 committed by GitHub
parent 705df34c12
commit 4fe9c6bd74
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 6 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package com.fastasyncworldedit.bukkit.regions;
import com.fastasyncworldedit.core.configuration.Settings;
import com.fastasyncworldedit.core.regions.FaweMask;
import com.fastasyncworldedit.core.regions.RegionWrapper;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
@ -158,6 +159,9 @@ public class WorldGuardFeature extends BukkitMaskManager implements Listener {
@Override
public FaweMask getMask(com.sk89q.worldedit.entity.Player wePlayer, MaskType type, boolean isWhitelist) {
if (isWhitelist && Settings.settings().REGION_RESTRICTIONS_OPTIONS.WORLDGUARD_REGION_BLACKLIST) {
return new FaweMask(RegionWrapper.GLOBAL());
}
final Player player = BukkitAdapter.adapt(wePlayer);
final LocalPlayer localplayer = this.worldguard.wrapPlayer(player);
final Location location = player.getLocation();

View File

@ -482,7 +482,7 @@ public interface Region extends Iterable<BlockVector3>, Cloneable, IBatchProcess
}
return set;
} else {
return null;
return set;
}
}

View File

@ -205,7 +205,7 @@ public class RegionIntersection extends AbstractRegion {
BlockVector3 regMin = region.getMinimumPoint();
BlockVector3 regMax = region.getMaximumPoint();
if (tx >= regMin.x() && bx <= regMax.x() && tz >= regMin.z() && bz <= regMax.z()) {
return region.processSet(chunk, get, set, true);
set = region.processSet(chunk, get, set, true);
}
}
return set; // default return set as no "blacklist" regions contained the chunk