public void updateWind(){
        Block [][][] newWorld = world;
        
        Block [][][][] neighbouringBlocks = new Block[xDim][yDim][zDim][27];
        
        for (int i = 0; i < getXDim(); i++) {
            for (int j = 0; j < getYDim(); j++) {
                for (int k = 0; k < getZDim(); k++) {
                    // takes a block
                    Block current = world[i][j][k];
                    //updates the block and recieves a neighbourhood of pheromone values
                    Block [] neighbours = current.updateWind();
                    neighbouringBlocks[i][j][k] = neighbours;

                }
            }
        }
        
        for (int i = 0; i < getXDim(); i++) {
            for (int j = 0; j < getYDim(); j++) {
                for (int k = 0; k < getZDim(); k++) {
                    // calls method to add values in neighbours to the newWorld
                    Block current = world[i][j][k];
                    Block [] neighbours = neighbouringBlocks[i][j][k];
                    if(neighbours != null && neighbours.length > 0){
                        newWorld = addWindNeighbourhood(newWorld,neighbours,current);
                    }
                }
            }
        }
        setWorld(newWorld);
    }