\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
input colorbrewer-rgb
beginfig(2);
    numeric u, v;
    u = 60;
    v = 21 * sqrt(3);
    path face[];
    for i=0 upto 2:
        face[i] = unitsquare scaled u rotated 45 yscaled (1/sqrt(3)) rotated (120-120i);
    endfor
    picture cube, sides;
    cube = image(
        for i=0 upto 2:
            fill face[i] withcolor Oranges[8][i+1];
        endfor
        for i=0 upto 2:
            draw subpath (1, 4) of face[i];
        endfor
    );
    sides = image(
        for i=0, 2:
            fill face[i] withcolor Oranges[8][i+1];
        endfor
        for i=0, 2:
            draw face[i];
        endfor
    );
    draw cube shifted (0u, 2v);
    draw cube shifted (0u, 4v);
    draw cube shifted (0u, 6v);
    draw cube shifted (1u, 5v);
    draw cube shifted (2u, 4v);
    draw cube shifted (3u, 3v);
    draw cube shifted (2u, 2v);
    draw cube shifted (u, v);
    draw cube;
    draw sides shifted (0u, 2v);
endfig;

\end{mplibcode}
\end{document}

