2022-07-10 00:01:46 -06:00
|
|
|
buildingplan
|
|
|
|
============
|
2022-07-20 00:11:02 -06:00
|
|
|
|
2022-08-09 23:37:24 -06:00
|
|
|
.. dfhack-tool::
|
|
|
|
:summary: Plan building construction before you have materials.
|
2023-01-10 23:26:12 -07:00
|
|
|
:tags: untested fort design buildings
|
2022-08-09 23:37:24 -06:00
|
|
|
|
|
|
|
This plugin adds a planning mode for building placement. You can then place
|
2022-07-22 01:05:53 -06:00
|
|
|
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-08-17 23:42:02 -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.
|