.. dfhack-tool::
:summary: Grow and remove shrubs or trees.
:tags: adventure fort armok map plants
Grow and remove shrubs or trees. Modes are list, create, grow,
and remove. list prints a list of all valid shrub and sapling raw IDs.
create allows the creation of new shrubs and saplings. grow adjusts
the age of saplings and trees, allowing them to grow instantly. remove can
remove existing shrubs and saplings.
Provide a mode (including a plant_id for create) followed by optional
pos arguments and options. The pos arguments can limit operation of
grow or remove to a single tile or a cuboid. pos should normally be
in the form 0,0,0, without spaces. The string here can be used in place
of numeric coordinates to use the position of the keyboard cursor, if active.
plant list
Prints a list of all shrub and sapling raw IDs for use with the other modes. Both numerical and string IDs are provided.
plant create <plant_id> [<pos>] [<options>]
Creates a new plant of the specified type at pos or the cursor position.
The target must be a floor tile, consisting of soil, grass, ashes, or
non-smooth muddy (layer, obsidian, or ore) stone. plant_id is not
case-sensitive, but must be enclosed in quotes if spaces exist. (No unmodded
shrub or sapling raw IDs have spaces.) A numerical ID can be used in place of a
string. Use plant list for a list of valid IDs.
plant grow [<pos> [<pos>]] [<options>]
Grows saplings (including dead ones) into trees. Will default to all saplings
on the map if no pos arguments are used. Saplings will die and fail to grow
if they are blocked by another tree.
plant remove [<pos> [<pos>]] [<options>]
Remove plants from the map (or area defined by pos arguments). By default,
it only removes invalid plants that exist on non-plant tiles (due to
🐛`12868`). The --shrubs and --saplings options allow normal plants
to be targeted instead. Removal of fully-grown trees isn't currently supported.
plant list- List all valid shrub and sapling raw IDs.
plant create tower_cap- Create a Tower Cap sapling at the cursor.
plant create 203 -c -a tree- Create a Willow sapling at the cursor, even away from water features, ready to mature into a tree.
plant create single-grain_wheat 70,70,140- Create a Single-grain Wheat shrub at (70, 70, 140).
plant grow- Attempt to grow all saplings on the map into trees.
plant grow -z -f maple,200,sand_pear- Attempt to grow all Maple, Acacia, and Sand Pear saplings on the current z-level into trees.
plant grow 0,0,100 19,19,119 -a 10- Set the age of all saplings and trees in the defined 20 x 20 x 20 cube to at least 10 years.
plant remove- Remove all invalid plants from the map.
plant remove here -sp- Remove the shrub or sapling at the cursor.
plant remove -spd- Remove all dead shrubs and saplings from the map.
plant remove 0,0,49 0,0,51 -pz -e nether_cap- Remove all saplings on z-levels 49 through 51, excluding Nether Cap.
-c,--force- Create plant even on tiles flagged
no_growand unset the flag. This flag is set on tiles that were originally boulders or pebbles, as well as on some tiles found in deserts, etc. Also allow non-[DRY]plants (e.g., willow) to grow away (3+ tiles) from water features (i.e., pools, brooks, and rivers), and non-[WET]plants (e.g., prickle berry) to grow near them. -a,--age <value>- Set the created plant to a specific age (in years).
valuecan be a non-negative integer, or one of the stringstree/1x1(3 years),2x2(201 years), or3x3(401 years).valuewill be capped at 1250. Defaults to 0 if option is unused. Only a few tree types grow wider than 1x1, but many may grow taller. (Going directly to higher years will stunt height. It may be more desirable to instead useplant growin stages, or just spawn full trees using gui/sandbox.)
-a,--age <value>- Define the age (in years) to set saplings to.
valuecan be a non-negative integer, or one of the stringstree/1x1(3 years),2x2(201 years), or3x3(401 years).valuewill be capped at 1250. Defaults to 3 if option is unused. If avaluelarger than 3 is used, it will make sure even fully-grown trees have an age of at least the given value, allowing them to grow larger. (Going directly to higher years will stunt tree height. It may be more desirable to grow in stages rather than all at once. Trees grow taller every 10 years.) -f,--filter <plant_id>[,<plant_id>...]- Define a filter list of plant raw IDs to target, ignoring all other tree
types.
plant_idis not case-sensitive, but must be enclosed in quotes if spaces exist. (No unmodded tree raw IDs have spaces.) A numerical ID can be used in place of a string. Useplant listand check underSaplingsfor a list of valid IDs. -e,--exclude <plant_id>[,<plant_id>...]- Same as
--filter, but target everything except these. Cannot be used with--filter. -z,--zlevel- Operate on a range of z-levels instead of default targeting. Will do all
z-levels between
posarguments if both are given (instead of cuboid), z-level of firstposif one is given (instead of single tile), else z-level of current view if noposis given (instead of entire map). -n,--dry-run- Don't actually grow plants. Just print the total number of plants that would be grown.
-s,--shrubs- Target shrubs for removal.
-p,--saplings- Target saplings for removal.
-d,--dead- Only target dead plants for removal. Can't be used without
--shrubsor--saplings. -f,--filter <plant_id>[,<plant_id>...]- Define a filter list of plant raw IDs to target, ignoring all other plant
types. This applies after
--shrubsand--saplingsare targeted, and can't be used without one of those options.plant_idis not case-sensitive, but must be enclosed in quotes if spaces exist. (No unmodded shrub or sapling raw IDs have spaces.) A numerical ID can be used in place of a string. Useplant listfor a list of valid IDs. -e,--exclude <plant_id>[,<plant_id>...]- Same as
--filter, but target everything except these. Cannot be used with--filter. -z,--zlevel- Operate on a range of z-levels instead of default targeting. Will do all
z-levels between
posarguments if both are given (instead of cuboid), z-level of firstposif one is given (instead of single tile), else z-level of current view if noposis given (instead of entire map). -n,--dryrun- Don't actually remove plants. Just print the total number of plants that would be removed.