Skip to content

Commit 4fe9c6b

Browse files
authored
fix: correctly process chunks when using worldguard region blacklists (#2789)
- fixes #2399
1 parent 705df34 commit 4fe9c6b

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

worldedit-bukkit/src/main/java/com/fastasyncworldedit/bukkit/regions/WorldGuardFeature.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.fastasyncworldedit.bukkit.regions;
22

3+
import com.fastasyncworldedit.core.configuration.Settings;
34
import com.fastasyncworldedit.core.regions.FaweMask;
45
import com.fastasyncworldedit.core.regions.RegionWrapper;
56
import com.sk89q.worldedit.bukkit.BukkitAdapter;
@@ -158,6 +159,9 @@ public boolean isAllowed(LocalPlayer localplayer, ProtectedRegion region) {
158159

159160
@Override
160161
public FaweMask getMask(com.sk89q.worldedit.entity.Player wePlayer, MaskType type, boolean isWhitelist) {
162+
if (isWhitelist && Settings.settings().REGION_RESTRICTIONS_OPTIONS.WORLDGUARD_REGION_BLACKLIST) {
163+
return new FaweMask(RegionWrapper.GLOBAL());
164+
}
161165
final Player player = BukkitAdapter.adapt(wePlayer);
162166
final LocalPlayer localplayer = this.worldguard.wrapPlayer(player);
163167
final Location location = player.getLocation();

worldedit-core/src/main/java/com/sk89q/worldedit/regions/Region.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -482,7 +482,7 @@ default IChunkSet processSet(IChunk chunk, IChunkGet get, IChunkSet set, boolean
482482
}
483483
return set;
484484
} else {
485-
return null;
485+
return set;
486486
}
487487
}
488488

worldedit-core/src/main/java/com/sk89q/worldedit/regions/RegionIntersection.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ public IChunkSet processSet(IChunk chunk, IChunkGet get, IChunkSet set, boolean
205205
BlockVector3 regMin = region.getMinimumPoint();
206206
BlockVector3 regMax = region.getMaximumPoint();
207207
if (tx >= regMin.x() && bx <= regMax.x() && tz >= regMin.z() && bz <= regMax.z()) {
208-
return region.processSet(chunk, get, set, true);
208+
set = region.processSet(chunk, get, set, true);
209209
}
210210
}
211211
return set; // default return set as no "blacklist" regions contained the chunk

0 commit comments

Comments
 (0)