private void addVertices(ArrayList<Vertex> vertices, int i, int j, float offset, boolean y, boolean z, boolean x,
                             float[] texCoords) {
        if(x && z) {
            vertices.add(new Vertex(new Vector3f(i * SPOT_WIDTH, offset * SPOT_HEIGHT, j * SPOT_LENGTH),
                    new Vector2f(texCoords[1], texCoords[3])));
            vertices.add(new Vertex(new Vector3f((i + 1) * SPOT_WIDTH, offset * SPOT_HEIGHT, j * SPOT_LENGTH),
                    new Vector2f(texCoords[0], texCoords[3])));
            vertices.add(new Vertex(new Vector3f((i + 1) * SPOT_WIDTH, offset * SPOT_HEIGHT, (j + 1) * SPOT_LENGTH),
                    new Vector2f(texCoords[0],  texCoords[2])));
            vertices.add(new Vertex(new Vector3f(i * SPOT_WIDTH, offset * SPOT_HEIGHT, (j + 1) * SPOT_LENGTH),
                    new Vector2f( texCoords[1],  texCoords[2])));
        }else if(x && y) {
            vertices.add(new Vertex(new Vector3f(i * SPOT_WIDTH, j * SPOT_HEIGHT, offset * SPOT_LENGTH),
                    new Vector2f(texCoords[1], texCoords[3])));

            vertices.add(new Vertex(new Vector3f((i + 1)* SPOT_WIDTH, j * SPOT_HEIGHT, offset * SPOT_LENGTH),
                    new Vector2f(texCoords[0], texCoords[3])));

            vertices.add(new Vertex(new Vector3f((i + 1) * SPOT_WIDTH, (j + 1) * SPOT_HEIGHT, offset * SPOT_LENGTH),
                    new Vector2f(texCoords[0],  texCoords[2])));

            vertices.add(new Vertex(new Vector3f(i * SPOT_WIDTH, (j + 1) * SPOT_HEIGHT, offset * SPOT_LENGTH),
                    new Vector2f( texCoords[1],  texCoords[2])));
        }else if(y && z) {
            vertices.add(new Vertex(new Vector3f(offset * SPOT_WIDTH, i  * SPOT_HEIGHT, j * SPOT_LENGTH),
                    new Vector2f(texCoords[1], texCoords[3])));

            vertices.add(new Vertex(new Vector3f(offset * SPOT_WIDTH, i  * SPOT_HEIGHT, (j + 1) * SPOT_LENGTH),
                    new Vector2f(texCoords[0], texCoords[3])));

            vertices.add(new Vertex(new Vector3f(offset * SPOT_WIDTH, (i + 1) * SPOT_HEIGHT, (j + 1) * SPOT_LENGTH),
                    new Vector2f(texCoords[0],  texCoords[2])));

            vertices.add(new Vertex(new Vector3f(offset * SPOT_WIDTH, (i + 1) * SPOT_HEIGHT, j * SPOT_LENGTH),
                    new Vector2f( texCoords[1],  texCoords[2])));
        }else{
            System.err.println("Invalid plane used in level generator. Level#addVertices");
            new Exception().printStackTrace();
            System.exit(1);
        }
    }