blocks = new BaseBlock[facingCount][sizeX][sizeY][sizeZ];
// copy the cubes for each direction
copyCuboid(cuboid, 0); // normal one
if (flipableX) {
cuboid.flip(FlipDirection.WEST_EAST);
copyCuboid(cuboid, 1);
// z too? if so then make two more copies
if (flipableZ) {
cuboid.flip(FlipDirection.NORTH_SOUTH);