I am developing a mod for the game Minecraft, a block-based voxel game. As part of the mod, I want to create a procedural house generator that will be generated based on specific needs/desires, such as a desire for a bed, a desire to have certain blocks as part of the 'furniture'/walling. It also needs to be able to be extended over time.
What kind of algorithms would be suitable to generate unique-ish houses of this sort? I was thinking some kind of genetic algorithm perhaps, or a collection of built in house modules. I would like to avoid manual user input / manual input of a large collection of widgets as much as possible, or at least allow the layout of a room to be dynamically generated or themed.