Ejemplo n.º 1
0
 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;
             }
           }
         }
       }
     }
   }
 }