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¶
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. quicksave, 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
- allneeds
- 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
- autofish
- autogems
- autolabor
- autolabor-artisans
- automelt
- autonestbox
- autonick
- autoslab
- autotrade
- autounsuspend
- ban-cooking
- binpatch
- blueprint
- bodyswap
- brainwash
- break-dance
- build-now
- building-hacks
- buildingplan
- burial
- burrows
- cannibalism
- caravan
- catsplosion
- changeitem
- changelayer
- changevein
- channel-safely
- cleanconst
- cleaners
- cleanowned
- clear-smoke
- clear-webs
- cls
- colonies
- color-schemes
- combat-harden
- combine
- confirm
- 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
- forbid
- 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
- makeown
- manipulator
- map-render
- markdown
- 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
- quickstart-guide
- region-pops
- regrass
- rejuvenate
- reload
- remove-stress
- remove-wear
- rename
- rendermax
- repeat
- resurrect-adv
- reveal
- reveal-adv-map
- reveal-hidden-sites
- reveal-hidden-units
- sc-script
- script
- search
- season-palette
- seedwatch
- set-orientation
- set-timeskip-duration
- setfps
- show
- showmood
- siege-engine
- siren
- sort
- source
- spawnunit
- spectate
- startdwarf
- starvingdead
- steam-engine
- stockflow
- stockpiles
- stocks
- stonesense
- strangemood
- stripcaged
- superdwarf
- suspend
- suspendmanager
- 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/tile-browser
- devel/unit-path
- devel/visualize-structure
- devel/watch-minecarts
- fix/blood-del
- fix/civil-war
- fix/corrupt-equipment
- fix/dead-units
- fix/drop-webs
- fix/dry-buckets
- fix/item-occupancy
- fix/loyaltycascade
- fix/population-cap
- fix/protect-nicks
- fix/retrieve-units
- fix/stable-temp
- fix/stuck-merchants
- fix/stuckdoors
- fix/tile-occupancy
- gui/advfort
- gui/autobutcher
- gui/autochop
- gui/autofish
- Usage
- gui/autogems
- gui/automelt
- gui/blueprint
- gui/choose-weapons
- gui/clone-uniform
- gui/color-schemes
- gui/companion-order
- gui/confirm
- gui/control-panel
- gui/cp437-table
- gui/create-item
- gui/create-tree
- gui/design
- 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/masspit
- gui/mechanisms
- gui/mod-manager
- gui/overlay
- gui/pathable
- gui/petitions
- gui/power-meter
- gui/prerelease-warning
- gui/quantum
- gui/quickcmd
- gui/quickfort
- gui/rename
- gui/room-list
- gui/seedwatch
- gui/settings-manager
- gui/siege-engine
- gui/stamper
- gui/stockpiles
- gui/suspendmanager
- Usage
- gui/teleport
- gui/unit-info-viewer
- gui/unit-syndromes
- 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