@Override
	public boolean step(Entity intersectingEntity) {
		if(currentDir >= getDirectionList().size() - 1 && power == distance || stopNextStep) {
			setCreated(true);
			return false;
		} 
		
		if(intersectingEntity instanceof DestructibleBlock || intersectingEntity instanceof Tower) {
			stopNextStep = true; //Place an object on the current position but stop after that.
		} else if(intersectingEntity instanceof Block) {
			if(currentDir == getDirectionList().size() - 1) { //If we have already looped through all directions then we are created.
				setCreated(true);
			} else {
				currentDir++;
				distance = 0;
			}
			return false;
		}
		
		return true;
	}