public void update(float delta) {
		if(isMoving()){
			super.update(delta);
		}
		
		int diff = 10;
		Entity e = new Entity(destination, diff, diff, false, false);
		if(collide(e)){
			arrived = true;
			setvX(0); setvY(0);
		}

		if(getX() + getLength() > village.getX() + village.getLength()){
			setX(village.getX() + village.getLength() - getLength());
			setvX(Random.randFloat(village.getMaxVelocity(), 0));
		}
		if(getX() < village.getX()){
			setX(village.getX());
			setvX(Random.randFloat(0, village.getMaxVelocity()));
		}
		if(getY() + getHeight() > village.getY() + village.getHeight()){
			setY(village.getY() + village.getHeight() - getHeight());
			setvY(Random.randFloat(-village.getMaxVelocity(), 0));
		}
		if(getY() < village.getY()){
			setY(village.getY());
			setvY(Random.randFloat(0, village.getMaxVelocity()));
		}
	}