Link contains download archive with all my plugins
.Only works on the latest DFHack r3 (see the dfhack thread). Follow the instructions in the included readme for installation. The relevant file for just this plugin is buildingplan.plug.*
This plugin let's you place "furniture" (e.g. beds, chairs, weapon stands, etc) even if you don't have any available items of the type yet. The plugin will allow you to place the building anyway, which it keeps in a "construction suspended" state. It will then monitor these planned buildings (once every half a game day) and assign them appropriate items when they become available, resuming the construction.
It also lets you auto assign specified rooms to noble positions. See this post
The functionality (off by default) can be toggled on for each type of furniture individually. When you are in "Build" mode for a furniture item, you will see an option to toggle this functionality for the session:
When this option is on, the placement cursor will be enabled even if you lack the required item. Pressing Enter will place the building without taking you to the material selection menu. The functionality is available even if you do have available items for the building; this allows you to do things like furnish several rooms quickly... the plugin will automatically choose appropriate items in its next cycle.
When placing a building in plan mode, you can set various filters for the type of item chosen:
'q' cycles through quality levels (except artefact - the plugin ignores all artefact items) to specify a minimum quality. 'd' allows you to restrict to encrusted items only. 'm' takes you to a material selection screen similar to the one in my workflow UI. With no materials selected the plugin will choose any suitable item when it's available; you can restrict it to using specific materials from this screen:
The selection screen should be fairly self explanatory. You can select from major categories on the left column or specific materials on the right. Use Enter toggles selections. The materials column will filter based on category selections... when no category is selected it displays all materials. You can select multiple categories/materials; the plugin will pick an item that matches any
of your selections. When you are in the second column, you can filter the list by typing in a search query. In this column, search mode is always active, so you don't have to press 's' to use it like in my Search plugin for other screens, you just start typing. Shift-s will still clear the search:
Shift-c (capital C) will clear all selections - an easy way to get back to square one.
Remember to press Shift-Enter to save the selection and leave the screen. Esc will discard your changes.
There is a special case for Coffers/Chests: when you place them in plan mode it will only choose coffers or chests, never bags. Also there is a caveat when it comes to assigning items when they become available: for a given planned building the plugin chooses the item that is closest in straight line distance, but doesn't check for accessibility (i.e. that a dwarf is able to bring the item to the construction site). That would require implementing A* pathfinding for DF which is not a task I'm ready to tackle yet. I expect it would be rare that close by items are inaccessible (you would need a situation like having the building site completely sealed off), but if it does happen, you'll see one of those "Dwarves couldn't complete the building" announcements and the building will be cancelled.