mirror of
https://github.com/EngineHub/WorldGuard.git
synced 2025-02-20 06:12:38 +01:00
Don't call boundary crossing handlers unless a boundary was crossed.
This commit is contained in:
parent
7ecf73165b
commit
a3d2a1b127
@ -206,11 +206,13 @@ public Location testMoveTo(Player player, Location to, MoveType moveType, boolea
|
|||||||
Set<ProtectedRegion> entered = Sets.difference(toSet.getRegions(), lastRegionSet);
|
Set<ProtectedRegion> entered = Sets.difference(toSet.getRegions(), lastRegionSet);
|
||||||
Set<ProtectedRegion> exited = Sets.difference(lastRegionSet, toSet.getRegions());
|
Set<ProtectedRegion> exited = Sets.difference(lastRegionSet, toSet.getRegions());
|
||||||
|
|
||||||
|
if (!entered.isEmpty() || !exited.isEmpty()) {
|
||||||
for (Handler handler : handlers.values()) {
|
for (Handler handler : handlers.values()) {
|
||||||
if (!handler.onCrossBoundary(player, lastValid, to, toSet, entered, exited, moveType) && moveType.isCancellable()) {
|
if (!handler.onCrossBoundary(player, lastValid, to, toSet, entered, exited, moveType) && moveType.isCancellable()) {
|
||||||
return lastValid;
|
return lastValid;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
lastValid = to;
|
lastValid = to;
|
||||||
lastRegionSet = toSet.getRegions();
|
lastRegionSet = toSet.getRegions();
|
||||||
|
Loading…
Reference in New Issue
Block a user