From 243cea51025be4bfc85a30e22493b67aed97b67a Mon Sep 17 00:00:00 2001 From: Evenprime Date: Wed, 13 Jul 2011 01:15:10 +0200 Subject: [PATCH] Fixed respawning (again) --- plugin.yml | 2 +- src/cc/co/evenprime/bukkit/nocheat/checks/MovingCheck.java | 3 ++- .../co/evenprime/bukkit/nocheat/checks/RunningCheck.java | 6 +++--- .../bukkit/nocheat/listeners/MovingPlayerMonitor.java | 7 +++++++ 4 files changed, 13 insertions(+), 5 deletions(-) diff --git a/plugin.yml b/plugin.yml index eb8a77d1..f33bcf60 100644 --- a/plugin.yml +++ b/plugin.yml @@ -3,7 +3,7 @@ name: NoCheat author: Evenprime main: cc.co.evenprime.bukkit.nocheat.NoCheat -version: 1.09 +version: 1.09b softdepend: [ Permissions, CraftIRC ] diff --git a/src/cc/co/evenprime/bukkit/nocheat/checks/MovingCheck.java b/src/cc/co/evenprime/bukkit/nocheat/checks/MovingCheck.java index d6d792a9..32409b6e 100644 --- a/src/cc/co/evenprime/bukkit/nocheat/checks/MovingCheck.java +++ b/src/cc/co/evenprime/bukkit/nocheat/checks/MovingCheck.java @@ -118,7 +118,7 @@ public class MovingCheck extends Check { if(runCheck) { result += Math.max(0D, runningCheck.check(from, to, - player.isSneaking(), (fromType & toType & MovingEventHelper.LIQUID) > 0, data)); + !allowFakeSneak && player.isSneaking(), !allowFastSwim && (fromType & toType & MovingEventHelper.LIQUID) > 0, data)); } @@ -539,6 +539,7 @@ public class MovingCheck extends Check { pm.registerEvent(Event.Type.ENTITY_DAMAGE, new MovingEntityListener(this), Priority.Monitor, plugin); pm.registerEvent(Event.Type.PLAYER_TELEPORT, new MovingPlayerMonitor(this), Priority.Monitor, plugin); pm.registerEvent(Event.Type.PLAYER_PORTAL, new MovingPlayerMonitor(this), Priority.Monitor, plugin); + pm.registerEvent(Event.Type.PLAYER_RESPAWN, new MovingPlayerMonitor(this), Priority.Monitor, plugin); } diff --git a/src/cc/co/evenprime/bukkit/nocheat/checks/RunningCheck.java b/src/cc/co/evenprime/bukkit/nocheat/checks/RunningCheck.java index 4c20c795..68b81b7c 100644 --- a/src/cc/co/evenprime/bukkit/nocheat/checks/RunningCheck.java +++ b/src/cc/co/evenprime/bukkit/nocheat/checks/RunningCheck.java @@ -6,9 +6,9 @@ import cc.co.evenprime.bukkit.nocheat.data.MovingData; public class RunningCheck { - private final static double stepWidth = 0.22D; - private final static double sneakWidth = 0.14D; - private final static double swimWidth = 0.18D; + public final static double stepWidth = 0.22D; + public final static double sneakWidth = 0.14D; + public final static double swimWidth = 0.18D; public RunningCheck() { } diff --git a/src/cc/co/evenprime/bukkit/nocheat/listeners/MovingPlayerMonitor.java b/src/cc/co/evenprime/bukkit/nocheat/listeners/MovingPlayerMonitor.java index ad007f7d..dcedd9c8 100644 --- a/src/cc/co/evenprime/bukkit/nocheat/listeners/MovingPlayerMonitor.java +++ b/src/cc/co/evenprime/bukkit/nocheat/listeners/MovingPlayerMonitor.java @@ -4,6 +4,7 @@ import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.player.PlayerListener; import org.bukkit.event.player.PlayerMoveEvent; import org.bukkit.event.player.PlayerPortalEvent; +import org.bukkit.event.player.PlayerRespawnEvent; import org.bukkit.event.player.PlayerTeleportEvent; import cc.co.evenprime.bukkit.nocheat.checks.MovingCheck; @@ -21,6 +22,12 @@ public class MovingPlayerMonitor extends PlayerListener { public MovingPlayerMonitor(MovingCheck check) { this.check = check; } + + @Override + public void onPlayerRespawn(PlayerRespawnEvent event) { + MovingData data = MovingData.get(event.getPlayer()); + data.wasTeleported = true; + } @Override public void onPlayerPortal(PlayerPortalEvent event) {