protected void initializeArea() { if (wallMaterials.isEmpty() && floorMaterials.isEmpty()) { area.clear(fMat, baseMaterialData); } else { area.clear(fMat, baseMaterialData); for (int x = 0; x < fMaze.width; x++) { for (int y = 0; y < fMaze.height; y++) { for (int z = 0; z < fMaze.depth; z++) { int xx = getX(x); int yy = getY(y); int zz = getZ(z); for (int lx = 0; lx < corridorWidth; lx++) { for (int lz = 0; lz < corridorWidth; lz++) { BlockAreaItem lItem; Mat lMat; lItem = area.get(xx + lx, yy - 1, zz + lz); lMat = floorMaterials.getNext(y); lItem.id = lMat.material.getId(); lItem.data = lMat.data; lItem = area.get(xx + lx, yy + corridorHeight, zz + lz); lMat = ceilingMaterials.getNext(y); lItem.id = lMat.material.getId(); lItem.data = lMat.data; } } for (int ly = 0; ly < corridorHeight; ly++) { for (int lx = 0; lx < corridorWidth; lx++) { BlockAreaItem lItem; Mat lMat; lItem = area.get(xx + lx, yy + ly, zz - 1); lMat = wallMaterials.getNext(y); lItem.id = lMat.material.getId(); lItem.data = lMat.data; lItem = area.get(xx + lx, yy + ly, zz + corridorWidth); lMat = wallMaterials.getNext(y); lItem.id = lMat.material.getId(); lItem.data = lMat.data; } for (int lz = 0; lz < corridorWidth; lz++) { BlockAreaItem lItem; Mat lMat; lItem = area.get(xx - 1, yy + ly, zz + lz); lMat = wallMaterials.getNext(y); lItem.id = lMat.material.getId(); lItem.data = lMat.data; lItem = area.get(xx + corridorWidth, yy + ly, zz + lz); lMat = wallMaterials.getNext(y); lItem.id = lMat.material.getId(); lItem.data = lMat.data; } } } } } } }