\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}