Added PlayerToggleSprint event and sprinting related API.

This commit is contained in:
Rigby 2011-09-21 11:48:24 +01:00 committed by EvilSeph
parent 1da2d1f5b6
commit e6e9cec1e9
2 changed files with 19 additions and 1 deletions

View file

@ -28,6 +28,7 @@ import org.bukkit.event.player.PlayerKickEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerToggleSneakEvent;
import org.bukkit.event.player.PlayerToggleSprintEvent;
// CraftBukkit end
public class NetServerHandler extends NetHandler implements ICommandListener {
@ -846,6 +847,15 @@ public class NetServerHandler extends NetHandler implements ICommandListener {
return;
}
}
if (packet19entityaction.animation == 4 || packet19entityaction.animation == 5) {
PlayerToggleSprintEvent event = new PlayerToggleSprintEvent(this.getPlayer(), packet19entityaction.animation == 4);
this.server.getPluginManager().callEvent(event);
if (event.isCancelled()) {
return;
}
}
// CraftBukkit end
if (packet19entityaction.animation == 1) {

View file

@ -298,6 +298,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return getHandle().isSneaking();
}
public boolean isSprinting() {
return getHandle().at();
}
public void setSprinting(boolean sprinting) {
getHandle().g(sprinting);
}
public void loadData() {
server.getHandle().playerFileData.b(getHandle());
}
@ -411,7 +419,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setGameMode(GameMode mode) {
if (getHandle().netServerHandler == null) return;
if (mode == null) {
throw new IllegalArgumentException("Mode cannot be null");
}