tldr: Factor in shelter and variety of connected blocks to determine decay time.
As it stands today, you can just lay down some foundations and you’re within the grace of the normal decay timer.
I would like to suggest a change in the algorithm that determines if a structure is a base or just a blob of foundations.
Instead of just checking for other connected blocks, the algorithm should check for walls, roofs and how many other blocks are connected.
This means you can’t just smack down 3 * 3 * 3 foundations and call it a base. A structure like this should not get the full decay timer.
Put some walls and roofs on that slab however, you’ll get shelter and the full decay timer.
From that sheltered structure, you can extend surrounding walls and whatever else you desire.
Extending far away from the base with just one foundation connected to another would eventually mean that the foundations furthest away from the base would have shorter decay time than the the ones close to the base.
Think of it as stability for decay.
This is not by any means a solution to blocking structures, but an attempt to add a bit more logic to how building decay is determined.
It will still be possible to create long walls across the map, but it will take more resources than before to prevent them from decaying fast.