2D terrain lighting similar to starbound

So, I’ve been trying for a while to write something that achieves TERRAIN lighting similar to that of starbound:

But I’m not very good and the ones i manage to come up with are pretty inefficient and the framerate end up being rather poor using Java + openGL, shader based solutions.
Plus it doesn’t look very smooth around the edges

My general approach has been:

Render transparent pixels to occlusion FBO
sample 8 times to achieve blur
render foreground blended with FBO

Result:

Could anyone shed some light on any alternative approaches?

Thanks