summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2010-12-29 00:29:31 +0000
committerDinnerbone <dinnerbone@dinnerbone.com>2010-12-29 00:29:31 +0000
commit36b95edc0c9bafcaab0b8c6507abe6903374a4a1 (patch)
treeff62538100c99ad31b4888a569025959872fe5a5
parente85cabeb4fb37cdc9591cc54afa05dda76eb13ba (diff)
parent5faa4765549f6f2c5b70e91f10da75bf793aed77 (diff)
downloadcraftbukkit-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
-rw-r--r--src/net/minecraft/server/EntityPlayerMP.java23
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() {