Perhaps requiring the player to define the building area (3D area occupied, from corner to corner) using the blueprints.
That way the code will at least know within which bounds to run the building rule checks, along with checks for peripherals such as furnace and anvil.
In fact, as a inbetween step it might be easier to just make the player directly designate (i.e. right-click) the peripherals using the blueprints, and just run a check if it is close enough to the defined building to be valid.
That way the code will at least know within which bounds to run the building rule checks, along with checks for peripherals such as furnace and anvil.
In fact, as a inbetween step it might be easier to just make the player directly designate (i.e. right-click) the peripherals using the blueprints, and just run a check if it is close enough to the defined building to be valid.