diff options
author | Dinnerbone <dinnerbone@dinnerbone.com> | 2010-12-29 00:29:31 +0000 |
---|---|---|
committer | Dinnerbone <dinnerbone@dinnerbone.com> | 2010-12-29 00:29:31 +0000 |
commit | 36b95edc0c9bafcaab0b8c6507abe6903374a4a1 (patch) | |
tree | ff62538100c99ad31b4888a569025959872fe5a5 /src | |
parent | e85cabeb4fb37cdc9591cc54afa05dda76eb13ba (diff) | |
parent | 5faa4765549f6f2c5b70e91f10da75bf793aed77 (diff) | |
download | craftbukkit-36b95edc0c9bafcaab0b8c6507abe6903374a4a1.tar craftbukkit-36b95edc0c9bafcaab0b8c6507abe6903374a4a1.tar.gz craftbukkit-36b95edc0c9bafcaab0b8c6507abe6903374a4a1.tar.lz craftbukkit-36b95edc0c9bafcaab0b8c6507abe6903374a4a1.tar.xz craftbukkit-36b95edc0c9bafcaab0b8c6507abe6903374a4a1.zip |
Merge branch 'master' of github.com:Dinnerbone/Craftbukkit
Diffstat (limited to 'src')
-rw-r--r-- | src/net/minecraft/server/EntityPlayerMP.java | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/net/minecraft/server/EntityPlayerMP.java b/src/net/minecraft/server/EntityPlayerMP.java index af81a0c5..86dd1eaf 100644 --- a/src/net/minecraft/server/EntityPlayerMP.java +++ b/src/net/minecraft/server/EntityPlayerMP.java @@ -62,23 +62,24 @@ public class EntityPlayerMP extends EntityPlayer } /** - * Craftbukkit: Overloaded version of b(double,double,double,float) + * Craftbukkit: Overloaded version of b(double,double,double,float, float) * * Enables monitoring of PLAYER_MOVE events. */ public void b(double x, double y, double z, float rotation, float pitch) { - super.b(x,y,z,pitch,rotation); - - // Only send an event if player position has changed. - if (x == oldLocation.getX() && y == oldLocation.getY() && z == oldLocation.getZ()) - return; - Location newLocation = new Location(server.getWorld(b.e),x,y,z); - PlayerMoveEvent pm = new PlayerMoveEvent(Event.Type.PLAYER_MOVE, server.getPlayer(this), - oldLocation, newLocation); - - server.getPluginManager().callEvent(pm); + + // Only send an event if player position has changed. + if (x != oldLocation.getX() || y != oldLocation.getY() || z != oldLocation.getZ()) { + PlayerMoveEvent pm = new PlayerMoveEvent(Event.Type.PLAYER_MOVE, server.getPlayer(this), + oldLocation, newLocation); + + server.getPluginManager().callEvent(pm); + if (pm.isCancelled()) + newLocation = pm.getFrom(); + } oldLocation = newLocation; + super.b(newLocation.getX(),newLocation.getY(),newLocation.getZ(),rotation, pitch); } public void k() { |