Skip to content

Commit

Permalink
Workaround for CraftBukkit's move event throttling.
Browse files Browse the repository at this point in the history
  • Loading branch information
wizjany committed Apr 28, 2020
1 parent 5e7829c commit 4c351fb
Showing 1 changed file with 13 additions and 0 deletions.
Expand Up @@ -35,6 +35,7 @@
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
import org.bukkit.event.vehicle.VehicleEnterEvent;
import org.bukkit.plugin.PluginManager;
Expand Down Expand Up @@ -132,4 +133,16 @@ public void onPlayerMove(PlayerMoveEvent event) {
}
}

@EventHandler
public void onPlayerQuit(PlayerQuitEvent event) {
final Player player = event.getPlayer();
LocalPlayer localPlayer = plugin.wrapPlayer(player);

Session session = WorldGuard.getInstance().getPlatform().getSessionManager().get(localPlayer);
com.sk89q.worldedit.util.Location loc = session.testMoveTo(localPlayer,
BukkitAdapter.adapt(event.getPlayer().getLocation()), MoveType.OTHER_CANCELLABLE); // white lie
if (loc != null) {
player.teleport(BukkitAdapter.adapt(loc));
}
}
}

0 comments on commit 4c351fb

Please sign in to comment.