@@ -5,57 +5,142 @@ cleaners
55========
66
77.. dfhack-tool ::
8- :summary: Provides commands for cleaning spatter from the map.
9- :tags: adventure fort armok fps items map units
8+ :summary: Provides commands for cleaning spatter (and grass) from the map.
9+ :tags: adventure fort armok fps items map plants units
1010 :no-command:
1111
1212.. dfhack-command :: clean
1313 :summary: Removes contaminants.
1414
1515.. dfhack-command :: spotclean
16- :summary: Remove all contaminants from the tile under the cursor.
16+ :summary: Remove contaminants from the tile under the cursor.
1717
18- This plugin provides commands that clean the splatter that get scattered all
18+ This plugin provides commands that clean the spatter that gets scattered all
1919over the map and that clings to your items and units. In an old fortress,
20- cleaning with this tool can significantly reduce FPS lag! It can also spoil your
21- !!FUN!!, so think before you use it.
20+ cleaning with this tool can significantly reduce FPS lag! It can also spoil
21+ your !!FUN!!, so think before you use it.
22+
23+ This plugin can also be used to remove grass in an area you don't want it
24+ (including those hard to reach areas like stairs and under buildings).
25+ Use it if you messed up with the `regrass ` tool, or grass grew in your
26+ dining hall after a flooding mishap. Grass may eventually regrow if the tile
27+ remains soil, so `gui/tiletypes ` may come in handy to change it to an
28+ appropriate stone type.
2229
2330Usage
2431-----
2532
2633::
2734
28- clean all|map|items|units|plants [<options>]
35+ clean [<pos> [<pos>]] [<options>]
2936 spotclean
3037
31- By default, cleaning the map leaves mud and snow alone. Note that cleaning units
32- includes hostiles, and that cleaning items removes poisons from weapons.
38+ By default, cleaning the map leaves mud, snow, and item spatter (e.g., tree
39+ droppings) alone. Note that cleaning units includes hostiles, and that
40+ cleaning items removes poisons from weapons.
41+
42+ Mud will not be cleaned out from under farm plots unless the tile is furrowed
43+ soil, since that would render the plot inoperable.
44+
45+ Operates on the entire map unless otherwise specified. Supplying a ``pos ``
46+ argument can limit operation to a single tile. Supplying both can operate on
47+ a cuboid region. ``pos `` should normally be in the form ``0,0,0 ``, without
48+ spaces. The string ``here `` can be used in place of numeric coordinates to use
49+ the position of the keyboard cursor, if active. The ``--zlevel `` option uses
50+ the ``pos `` values differently.
3351
34- ``spotclean `` works like ``clean map snow mud ``, removing all contaminants from
35- the tile under the keyboard cursor. This is ideal if you just want to clean a
36- specific tile but don't want the `clean <cleaners> ` command to remove all the
37- glorious blood from your entranceway.
52+ ``spotclean `` works like ``clean here --map --mud --snow ``, removing all
53+ contaminants from a specific tile quickly. Intended as a hotkey command.
3854
39- Mud will not be cleaned out from under farm plots, since that would render the
40- plot inoperable.
4155
4256Examples
4357--------
4458
45- ``clean all ``
46- Clean everything that can be cleaned (except mud and snow).
47- ``clean map mud item snow ``
48- Removes all spatter, including mud, leaves, and snow from map tiles. Farm
49- plots will retain their mud.
59+ ``clean --all ``
60+ Clean most spatter from all map tiles (excluding mud, snow, and item
61+ spatter), as well as all contaminants from units and items.
62+
63+ ``clean --map --mud --snow --item ``
64+ Removes all spatter, including mud, snow, and tree droppings from map
65+ tiles. Farm plots will retain their mud as needed.
66+
67+ ``clean --map --item --only --items ``
68+ Remove only tree droppings from the map (leaving blood and other
69+ contaminants untouched). Clean all items of their contaminants.
70+
71+ ``clean here -mdstu ``
72+ Clean any sort of contaminant from the map tile under the keyboard cursor,
73+ as well as any contaminant found on a unit there, but don't touch contaminants
74+ on any item (e.g., the unit's poisoned weapon).
75+
76+ ``clean 0,0,90 0,0,120 -uiz ``
77+ Clean all contaminants from units and items on z-levels 90 through 120.
78+ Don't touch map spatter at all.
79+
80+ ``clean -mgxoz ``
81+ Reduce all grass on the current z-level to barren soil. Don't touch
82+ any contaminants.
83+
84+ ``clean 0,0,100 19,19,119 -adstg ``
85+ Remove all contaminants of any type from the 20 x 20 x 20 cube defined
86+ by the coords, including on any units, items, and ground spatter
87+ (excluding mud for farms). Also remove any unused grass type events from
88+ the affected map blocks, but don't remove any grass present.
5089
5190Options
5291-------
5392
54- When cleaning the map, you can specify extra options for extra cleaning:
55-
56- ``mud ``
57- Also remove mud.
58- ``item ``
59- Also remove item spatter, like fallen leaves and flowers.
60- ``snow ``
61- Also remove snow coverings.
93+ ``-a ``, ``--all ``
94+ Equivalent to ``--map --units --items --plants ``.
95+ ``-m ``, ``--map ``
96+ Clean selected map tiles. Cleans most spatter by default, but not mud,
97+ snow, or item spatter.
98+ ``-d ``, ``--mud ``
99+ Also remove mud from map tiles.
100+ ``-s ``, ``--snow ``
101+ Also remove snow coverings from map tiles.
102+ ``-t ``, ``--item ``
103+ Also remove item spatter (e.g., fallen leaves, flowers, and gatherable
104+ tree fruit) from map tiles. Not to be confused with ``--items ``, which
105+ cleans contaminants *off * of items.
106+ ``-g ``, ``--grass ``
107+ Remove unused (entirely depleted) grass events from map blocks. DF will
108+ create a grass events for each type of grass that grows in a block, but
109+ doesn't remove them if you were to pave over everything, or they got
110+ depleted and entirely replaced with a different type. Could possibly
111+ improve FPS if you had a ton of unused grass events everywhere (a likely
112+ outcome of using ``regrass --new ``). Requires ``--map `` option to be
113+ specified.
114+
115+ ``-x ``, ``--desolate ``
116+ Use with caution! Remove grass from the selected area. You probably don't
117+ want to use this on the entire map, so make sure to use ``pos `` arguments.
118+ Requires ``--map `` and ``--grass `` options to be specified.
119+ ``-o ``, ``--only ``
120+ Ignore most spatter (e.g., blood, vomit, and ooze) and focus only on the
121+ other specified options. Requires ``--map `` and at least one of: ``--mud ``,
122+ ``--snow ``, ``--item ``, or ``--grass ``.
123+ ``-u ``, ``--units ``
124+ Clean all contaminants off of units in the selected area. Not affected by
125+ map options that specify spatter types (e.g., snow). They will always be
126+ completely cleaned.
127+ ``-i ``, ``--items ``
128+ Clean all contaminants off of items in the selected area (including those
129+ held by units). Not affected by map options that specify spatter types.
130+ Not to be confused with ``--item ``, which removes tree droppings found on
131+ the ground.
132+ ``-z ``, ``--zlevel ``
133+ Select entire z-levels. Will do all z-levels between ``pos `` arguments if
134+ both are given, z-level of first ``pos `` if one is given, else z-level of
135+ current view if no ``pos `` is given.
136+
137+ Troubleshooting
138+ ---------------
139+
140+ Use ``debugfilter set Debug cleaners log `` (or
141+ ``debugfilter set Trace cleaners log `` for more detail) to help diagnose
142+ issues. (Avoid cleaning large parts of the map using many options with
143+ Trace enabled, as it could make the game unresponsive and flood the console
144+ for a good minute.)
145+
146+ Disable with ``debugfilter set Info cleaners log ``.
0 commit comments