How does minecraft and other block based games do their AO?

A lot of block based games, like minecraft and the many, MANY clones of it have near identical, pretty good, not screenspace (the big one) ambient occlusion, How would i pull this off in shader+blueprint reasonably in an already block world?