public void handleEntityMovement() {
		MovementPoint walkingPoint = null, runningPoint = null;
		if (getEntity().getUpdateFlags().contains("teleporting")) {
			resetMovement();
		} else {
			walkingPoint = getNextPoint();
			if (isRunning()) {
				runningPoint = getNextPoint();
			}
			getEntity().setWalkingDirection(walkingPoint == null ? -1 : walkingPoint.getDirection());
			getEntity().setRunningDirection(runningPoint == null ? -1 : runningPoint.getDirection());
			int deltaX = getEntity().getPosition().getX() - getEntity().getLastPosition().getRegionalX() * 8;
			int deltaY = getEntity().getPosition().getY() - getEntity().getLastPosition().getRegionalY() * 8;
			if (deltaX < 16 || deltaX >= 88 || deltaY < 16 || deltaY > 88) {
				((Player) getEntity()).send(new RegionalUpdatePacket());
			}
		}
	}