DFHack tools
============

DFHack has **a lot** of tools. This page attempts to make it clearer what they are, how they work, and how to find the ones you want.


Contents
^^^^^^^^

* What tools are and how they work

* Finding the tool you need

* DFHack tools by game mode

* DFHack tools by theme

* DFHack tools by what they affect

* All DFHack tools alphabetically


What tools are and how they work
--------------------------------

DFHack is a Dwarf Fortress memory access and modification framework, so DFHack tools normally access Dwarf Fortress internals and make some specific changes.

Some tools just make a targeted change when you run them, like unforbid, which scans through all your items and removes the "forbidden" flag from each of them.

Some tools need to be enabled, and then they run in the background and make changes to the game on your behalf, like autobutcher, which monitors your livestock population and automatically marks excess animals for butchering.

And some tools just exist to give you information that is otherwise hard to come by, like gui/petitions, which shows you the active petitions for guildhalls and temples that you have agreed to.


Finding the tool you need
-------------------------

DFHack tools are tagged with categories to make them easier to find. These categories are listed in the next few sections. Note that a tool can belong to more than one category. If you already know what you're looking for, try the Search Page or Ctrl-F on this page. If you'd like to see the full list of tools in one flat list, please refer to the annotated index.


DFHack tools by game mode
-------------------------

* adventure
     Tools that are useful while in adventure mode. Note that some tools only tagged with "fort" might also work in adventure mode, but not always in expected ways. Feel free to experiment, though!

* dfhack
     Tools that you use to run DFHack commands or interact with the DFHack library. This tag also includes tools that help you manage the DF game itself (e.g. settings, saving, etc.)

* embark
     Tools that are useful while on the fort embark screen or while creating an adventurer.

* fort
     Tools that are useful while in fort mode.

* legends
     Tools that are useful while in legends mode.


DFHack tools by theme
---------------------

* armok
     Tools that give you complete control over an aspect of the game or provide access to information that the game intentionally keeps hidden.

* auto
     Tools that run in the background and automatically manage routine, toilsome aspects of your fortress.

* bugfix
     Tools that fix specific bugs, either permanently or on-demand.

* design
     Tools that help you design your fort.

* dev
     Tools that are useful when developing scripts or mods.

* fps
     Tools that help you manage FPS drop.

* gameplay
     Tools that introduce new gameplay elements.

* inspection
     Tools that let you view information that is otherwise difficult to find.

* productivity
     Tools that help you do things that you could do manually, but using the tool is better and faster.


DFHack tools by what they affect
--------------------------------

* animals
     Tools that interact with animals.

* buildings
     Tools that interact with buildings and furniture.

* graphics
     Tools that interact with game graphics.

* interface
     Tools that interact with or extend the DF user interface.

* items
     Tools that interact with in-game items.

* jobs
     Tools that interact with jobs.

* labors
     Tools that deal with labor assignment.

* map
     Tools  that interact with the game map.

* military
     Tools that interact with the military.

* plants
     Tools that interact with trees, shrubs, and crops.

* stockpiles
     Tools that interact with stockpiles.

* units
     Tools that interact with units.

* workorders
     Tools that interact with workorders.


All DFHack tools alphabetically
-------------------------------

* 3dveins

* RemoteFortressReader

* adaptation

* add-recipe

* add-spatter

* add-thought

* adv-fix-sleepers

* adv-max-skills

* adv-rumors

* alias

* animal-control

* armoks-blessing

* assign-attributes

* assign-beliefs

* assign-facets

* assign-goals

* assign-minecarts

* assign-preferences

* assign-profile

* assign-skills

* autobutcher

* autochop

* autoclothing

* autodump

* autofarm

* autogems

* autohauler

* autolabor

* autolabor-artisans

* automaterial

* automelt

* autonestbox

* autonick

* autotrade

* autounsuspend

* ban-cooking

* binpatch

* blueprint

* bodyswap

* brainwash

* break-dance

* build-now

* building-hacks

* buildingplan

* burial

* burrows

* cannibalism

* caravan

* catsplosion

* changeitem

* changelayer

* changevein

* cleanconst

* cleaners

* cleanowned

* clear-smoke

* clear-webs

* cls

* colonies

* color-schemes

* combat-harden

* combine-drinks

* combine-plants

* command-prompt

* confirm

* create-items

* createitem

* cursecheck

* cxxrandom

* deathcause

* debug

* deep-embark

* deramp

* deteriorate

* die

* dig

* dig-now

* digFlood

* diggingInvaders

* disable

* do-job-now

* drain-aquifer

* dwarf-op

* dwarfmonitor

* dwarfvet

* elevate-mental

* elevate-physical

* embark-assistant

* embark-skills

* embark-tools

* emigration

* empty-bin

* enable

* eventful

* exportlegends

* exterminate

* extinguish

* fastdwarf

* feature

* fillneeds

* filltraffic

* firestarter

* fix-ster

* fix-unit-occupancy

* fixnaked

* fixveins

* flashstep

* flows

* follow

* force

* forceequip

* forget-dead-body

* forum-dwarves

* fpause

* full-heal

* gaydar

* geld

* generated-creature-renamer

* getplants

* ghostly

* growcrops

* help

* hermit

* hfs-pit

* hide

* hotkey-notes

* hotkeys

* infiniteSky

* install-info

* isoworldremote

* jobutils

* keybinding

* kill-lua

* labormanager

* lair

* launch

* lever

* light-aquifers-only

* linger

* liquids

* list-agreements

* list-waves

* load

* load-save

* locate-ore

* ls

* lua

* luasocket

* make-legendary

* make-monarch

* manipulator

* map-render

* markdown

* masspit

* max-wave

* migrants-now

* misery

* mode

* mousequery

* multicmd

* names

* nestboxes

* on-new-fortress

* once-per-save

* open-legends

* orders

* overlay

* pathable

* petcapRemover

* plants

* plug

* points

* pop-control

* position

* power-meter

* pref-adjust

* prefchange

* prioritize

* probe

* prospector

* putontable

* questport

* quickfort

* quicksave

* region-pops

* regrass

* rejuvenate

* reload

* remove-stress

* remove-wear

* rename

* rendermax

* repeat

* resume

* resurrect-adv

* reveal

* reveal-adv-map

* reveal-hidden-sites

* reveal-hidden-units

* ruby

* sc-script

* script

* search

* season-palette

* seedwatch

* set-orientation

* set-timeskip-duration

* setfps

* show

* show-unit-syndromes

* showmood

* siege-engine

* siren

* sort

* source

* spawnunit

* spectate

* startdwarf

* starvingdead

* steam-engine

* stockflow

* stockpiles

* stocks

* stonesense

* strangemood

* stripcaged

* superdwarf

* tags

* tailor

* tame

* teleport

* tidlers

* tiletypes

* timestream

* title-folder

* title-version

* trackstop

* troubleshoot-item

* tubefill

* twaterlvl

* tweak

* type

* undump-buildings

* unforbid

* ungeld

* uniform-unstick

* unload

* unretire-anyone

* unsuspend

* view-item-info

* view-unit-reports

* warn-starving

* warn-stealers

* weather

* workNow

* workflow

* workorder

* workorder-recheck

* xlsxreader

* zone

* devel/all-bob

* devel/annc-monitor

* devel/block-borders

* devel/check-other-ids

* devel/check-release

* devel/clear-script-env

* devel/click-monitor

* devel/cmptiles

* devel/dump-offsets

* devel/dump-rpc

* devel/eventful-client

* devel/export-dt-ini

* devel/find-offsets

* devel/find-primitive

* devel/find-twbt

* devel/hello-world

* devel/inject-raws

* devel/inspect-screen

* devel/kill-hf

* devel/light

* devel/list-filters

* devel/lsmem

* devel/lua-example

* devel/luacov

* devel/modstate-monitor

* devel/nuke-items

* devel/pop-screen

* devel/prepare-save

* devel/print-args

* devel/print-args2

* devel/print-event

* devel/query

* devel/save-version

* devel/sc

* devel/scanitemother

* devel/send-key

* devel/spawn-unit-helper

* devel/test-perlin

* devel/unit-path

* devel/visualize-structure

* devel/watch-minecarts

* fix/blood-del

* fix/corrupt-equipment

* fix/dead-units

* fix/drop-webs

* fix/dry-buckets

* fix/item-occupancy

* fix/loyaltycascade

* fix/population-cap

* fix/retrieve-units

* fix/stable-temp

* fix/stuck-merchants

* fix/stuckdoors

* fix/tile-occupancy

* gui/advfort

* gui/autobutcher

* gui/autogems

* gui/blueprint

* gui/choose-weapons

* gui/clone-uniform

* gui/color-schemes

* gui/companion-order

* gui/confirm-opts

* gui/cp437-table

* gui/create-item

* gui/create-tree

* gui/dfstatus

* gui/extended-status

* gui/family-affairs

* gui/gm-editor

* gui/gm-unit

* gui/guide-path

* gui/kitchen-info

* gui/launcher

* gui/liquids

* gui/load-screen

* gui/manager-quantity

* gui/mass-remove

* gui/mechanisms

* gui/mod-manager

* gui/pathable

* gui/petitions

* gui/power-meter

* gui/prerelease-warning

* gui/quantum

* gui/quickcmd

* gui/quickfort

* gui/rename

* gui/room-list

* gui/settings-manager

* gui/siege-engine

* gui/stamper

* gui/stockpiles

* gui/teleport

* gui/unit-info-viewer

* gui/workflow

* gui/workorder-details

* gui/workshop-job

* modtools/add-syndrome

* modtools/anonymous-script

* modtools/change-build-menu

* modtools/create-item

* modtools/create-tree

* modtools/create-unit

* modtools/equip-item

* modtools/extra-gamelog

* modtools/fire-rate

* modtools/force

* modtools/if-entity

* modtools/interaction-trigger

* modtools/invader-item-destroyer

* modtools/item-trigger

* modtools/moddable-gods

* modtools/outside-only

* modtools/pref-edit

* modtools/projectile-trigger

* modtools/random-trigger

* modtools/raw-lint

* modtools/reaction-product-trigger

* modtools/reaction-trigger

* modtools/reaction-trigger-transition

* modtools/set-belief

* modtools/set-need

* modtools/set-personality

* modtools/skill-change

* modtools/spawn-flow

* modtools/spawn-liquid

* modtools/syndrome-trigger

* modtools/transform-unit
