2022-07-10 00:01:46 -06:00
|
|
|
buildingplan
|
|
|
|
============
|
sync tags spreadsheet to git
spreadsheet - https://docs.google.com/spreadsheets/d/1hiDlo8M_bB_1jE-5HRs2RrrA_VZ4cRu9VXaTctX_nwk/edit#gid=170388995
sync command - for fname in *rst; do name=$(echo $fname | sed 's/[.]rst//'); tagline=$(egrep ",$name," ~/Downloads/DFHack\ taxonomy\ -\ Tool\ tags.csv | ~/Downloads/csvtotags.sh); sed -ri "s;[*]*Tags:.*;$tagline;" $fname; done
contents of csvtotags.sh -
fgrep . | sed -r 's/^[^,]+,([^,]+),[^.]+[.]"?,/\1,/' | awk -F, '
function tag(idx, tagname) {
if ($idx == "TRUE") {
if (hastag == 1) {printf(", ")}
printf("`tag/%s`", tagname)
hastag = 1
}
}
{
printf("%s", "**Tags:** ")
hastag = 0
tag(2, "adventure")
tag(3, "fort")
tag(4, "legends")
tag(5, "embark")
tag(6, "system")
tag(7, "dev")
tag(8, "auto")
tag(9, "productivity")
tag(10, "inspection")
tag(11, "design")
tag(12, "quickfort")
tag(13, "interface")
tag(14, "fps")
tag(15, "fix")
tag(16, "mod")
tag(17, "armok")
tag(18, "animals")
tag(19, "buildings")
tag(20, "items")
tag(21, "jobs")
tag(22, "map")
tag(23, "labors")
tag(24, "units")
tag(25, "stockpiles")
tag(26, "trees")
printf("\n")
}
'
2022-08-05 18:55:33 -06:00
|
|
|
**Tags:** `tag/fort`, `tag/design`, `tag/quickfort`, `tag/buildings`, `tag/map`
|
2022-07-20 00:11:02 -06:00
|
|
|
:dfhack-keybind:`buildingplan`
|
|
|
|
|
2022-07-22 01:05:53 -06:00
|
|
|
:index:`Plan building construction before you have materials.
|
|
|
|
<buildingplan; Plan building construction before you have materials.>` This
|
|
|
|
plugin adds a planning mode for building placement. You can then place
|
|
|
|
furniture, constructions, and other buildings before the required materials are
|
|
|
|
available, and they will be created in a suspended state. Buildingplan will
|
|
|
|
periodically scan for appropriate items, and the jobs will be unsuspended when
|
|
|
|
the items are available.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
This is very useful when combined with manager work orders or `workflow` -- you
|
|
|
|
can set a constraint to always have one or two doors/beds/tables/chairs/etc.
|
|
|
|
available, and place as many as you like. Materials are used to build the
|
|
|
|
planned buildings as they are produced, with minimal space dedicated to
|
|
|
|
stockpiles.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
Usage::
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
enable buildingplan
|
|
|
|
buildingplan set
|
|
|
|
buildingplan set <setting> true|false
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
Running ``buildingplan set`` without parameters displays the current settings.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
|
|
|
.. _buildingplan-settings:
|
|
|
|
|
|
|
|
Global settings
|
|
|
|
---------------
|
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
The buildingplan plugin has global settings that can be set from the UI
|
|
|
|
(:kbd:`G` from any building placement screen, for example:
|
|
|
|
:kbd:`b`:kbd:`a`:kbd:`G`). These settings can also be set via the
|
|
|
|
``buildingplan set`` command. The available settings are:
|
|
|
|
|
2022-07-23 17:03:40 -06:00
|
|
|
``all_enabled`` (default: false)
|
2022-07-18 17:58:01 -06:00
|
|
|
Enable planning mode for all building types.
|
2022-07-23 17:03:40 -06:00
|
|
|
``blocks``, ``boulders``, ``logs``, ``bars`` (defaults: true, true, true, false)
|
2022-07-18 17:58:01 -06:00
|
|
|
Allow blocks, boulders, logs, or bars to be matched for generic "building
|
|
|
|
material" items.
|
2022-07-23 17:03:40 -06:00
|
|
|
``quickfort_mode`` (default: false)
|
2022-07-18 17:58:01 -06:00
|
|
|
Enable compatibility mode for the legacy Python Quickfort (this setting is
|
|
|
|
not required for DFHack `quickfort`)
|
|
|
|
|
|
|
|
The settings for ``blocks``, ``boulders``, ``logs``, and ``bars`` are saved with
|
|
|
|
your fort, so you only have to set them once and they will be persisted in your
|
|
|
|
save.
|
|
|
|
|
|
|
|
If you normally embark with some blocks on hand for early workshops, you might
|
|
|
|
want to add this line to your ``dfhack-config/init/onMapLoad.init`` file to
|
2022-07-23 17:03:40 -06:00
|
|
|
always configure buildingplan to just use blocks for buildings and
|
2022-07-18 17:58:01 -06:00
|
|
|
constructions::
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
on-new-fortress buildingplan set boulders false; buildingplan set logs false
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
.. _buildingplan-filters:
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
Item filtering
|
|
|
|
--------------
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
While placing a building, you can set filters for what materials you want the
|
|
|
|
building made out of, what quality you want the component items to be, and
|
|
|
|
whether you want the items to be decorated.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
If a building type takes more than one item to construct, use
|
|
|
|
:kbd:`Ctrl`:kbd:`Left` and :kbd:`Ctrl`:kbd:`Right` to select the item that you
|
|
|
|
want to set filters for. Any filters that you set will be used for all buildings
|
|
|
|
of the selected type placed from that point onward (until you set a new filter
|
|
|
|
or clear the current one). Buildings placed before the filters were changed will
|
|
|
|
keep the filter values that were set when the building was placed.
|
|
|
|
|
|
|
|
For example, you can be sure that all your constructed walls are the same color
|
|
|
|
by setting a filter to accept only certain types of stone.
|
|
|
|
|
|
|
|
Quickfort mode
|
|
|
|
--------------
|
|
|
|
|
|
|
|
If you use the external Python Quickfort to apply building blueprints instead of
|
|
|
|
the native DFHack `quickfort` script, you must enable Quickfort mode. This
|
|
|
|
temporarily enables buildingplan for all building types and adds an extra blank
|
|
|
|
screen after every building placement. This "dummy" screen is needed for Python
|
|
|
|
Quickfort to interact successfully with Dwarf Fortress.
|
2022-07-10 00:01:46 -06:00
|
|
|
|
2022-07-18 17:58:01 -06:00
|
|
|
Note that Quickfort mode is only for compatibility with the legacy Python
|
|
|
|
Quickfort. The DFHack `quickfort` script does not need this Quickfort mode to be
|
|
|
|
enabled. The `quickfort` script will successfully integrate with buildingplan as
|
|
|
|
long as the buildingplan plugin itself is enabled.
|