From 02b47224da265adf54630da830cb01a5ceb8ef7f Mon Sep 17 00:00:00 2001 From: isokissa3 Date: Mon, 27 Apr 2020 03:46:51 +0300 Subject: [PATCH] Performance tweaks --- .../worldguardextraflags/wg/wrappers/HandlerWrapper.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/wrappers/HandlerWrapper.java b/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/wrappers/HandlerWrapper.java index a214040..4bcd783 100644 --- a/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/wrappers/HandlerWrapper.java +++ b/WG/src/main/java/net/goldtreeservers/worldguardextraflags/wg/wrappers/HandlerWrapper.java @@ -56,6 +56,14 @@ public abstract class HandlerWrapper extends Handler @Override public boolean onCrossBoundary(LocalPlayer localPlayer, com.sk89q.worldedit.util.Location from, com.sk89q.worldedit.util.Location to, ApplicableRegionSet toSet, Set entered, Set exited, MoveType moveType) { + //It turns out that this is fired every time player moves + //The plugin flags assume already that nothing changes unless region is crossed, so ignore when there isn't a region change + //This optimization is already in place in the FVCH + if (entered.isEmpty() && exited.isEmpty() && from.getExtent().equals(to.getExtent())) + { + return true; + } + return this.onCrossBoundary(((BukkitPlayer)localPlayer).getPlayer(), BukkitAdapter.adapt(from), BukkitAdapter.adapt(to), toSet, entered, exited, moveType); }