Now that we have a basic form of structural integrity, I would argue the next step is to reconsider the damage model. Every block-based game that I'm familiar with implements a block-by-block damage model, which, in the beginning, makes a lot of sense because it's very easy to program, and is passable for small-scale structures. But for larger structures especially, a distributed damage model is needed to avoid tunneling syndrome. The most basic way I could imagine this working is to simply...
Damage Model
Damage Model