Skip to content

Commit 56bbbe5

Browse files
committed
Merge pull request #377 from PseudoKnight/fixes
Move player location resets to MONITOR level event handlers
2 parents 84c0a9a + de74634 commit 56bbbe5

File tree

1 file changed

+21
-10
lines changed

1 file changed

+21
-10
lines changed

src/main/java/com/laytonsmith/abstraction/bukkit/events/drivers/BukkitPlayerListener.java

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -84,10 +84,6 @@ public void onPlayerInteract(PlayerInteractEvent e) {
8484
public void onPlayerRespawn(PlayerRespawnEvent event) {
8585
BukkitMCPlayerRespawnEvent pre = new BukkitMCPlayerRespawnEvent(event);
8686
EventUtils.TriggerListener(Driver.PLAYER_SPAWN, "player_spawn", pre);
87-
// Reset player_move lastLocations
88-
for(Integer i : PlayerEvents.GetThresholdList()) {
89-
PlayerEvents.GetLastLocations(i).put(event.getPlayer().getName(), new BukkitMCLocation(event.getRespawnLocation()));
90-
}
9187
}
9288

9389
@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled=true)
@@ -222,12 +218,6 @@ public void onPlayerTeleport(PlayerTeleportEvent event) {
222218

223219
BukkitMCPlayerTeleportEvent pte = new BukkitMCPlayerTeleportEvent(event);
224220
EventUtils.TriggerListener(Driver.PLAYER_TELEPORT, "player_teleport", pte);
225-
if(!pte.isCancelled()) {
226-
// Reset player_move lastLocations
227-
for(Integer i : PlayerEvents.GetThresholdList()) {
228-
PlayerEvents.GetLastLocations(i).put(event.getPlayer().getName(), new BukkitMCLocation(event.getTo()));
229-
}
230-
}
231221
}
232222

233223

@@ -320,4 +310,25 @@ public void onPlayerMove(PlayerMoveEvent event) {
320310
}
321311
}
322312
}
313+
314+
// Reset player_move lastLocations when player respawns or teleports
315+
@EventHandler(priority = EventPriority.MONITOR)
316+
public void onNewRespawnLocation(PlayerRespawnEvent event) {
317+
for(Integer i : PlayerEvents.GetThresholdList()) {
318+
PlayerEvents.GetLastLocations(i).put(event.getPlayer().getName(),
319+
new BukkitMCLocation(event.getRespawnLocation()));
320+
}
321+
}
322+
323+
@EventHandler(priority = EventPriority.MONITOR)
324+
public void onNewTeleportLocation(PlayerTeleportEvent event) {
325+
if (event.getFrom().equals(event.getTo())) {
326+
return;
327+
}
328+
if(!event.isCancelled()) {
329+
for(Integer i : PlayerEvents.GetThresholdList()) {
330+
PlayerEvents.GetLastLocations(i).put(event.getPlayer().getName(), new BukkitMCLocation(event.getTo()));
331+
}
332+
}
333+
}
323334
}

0 commit comments

Comments
 (0)