v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

Difference between revisions of "Plant token"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
(→‎Grass Tokens: Clarified grass picking behavior)
(45 intermediate revisions by 22 users not shown)
Line 1: Line 1:
{{quality|unrated}}{{av}}  
+
{{Quality|Fine}}
The default plants are stored in the plant_standard.txt file, while grasses are stored in plant_grasses.txt.
+
{{av}}
 +
{{Modding}}
 +
The <code>[OBJECT:PLANT]</code> [[token]] begins the definition of a [[plant]] [[raw file]]. Following this, each new plant definition begins with the <code>[PLANT:plant_ID]</code> token, where plant_ID is a unique identifier for the plant, and that plant's properties are then defined using the tokens listed below.
  
==Basic Tokens==
+
 
 +
__TOC__
 +
{{clear}}
 +
 
 +
==Basic tokens==
 
These tokens are specified for all plants and define their most basic characteristics.
 
These tokens are specified for all plants and define their most basic characteristics.
  
Line 12: Line 18:
  
 
|-
 
|-
| NAME
+
| {{text anchor|NAME}}
 
|  
 
|  
 
*name
 
*name
| The singular form of the plants name as seen in game.
+
| The singular form of the plant's name as seen in-game.
  
 
|-
 
|-
| NAME_PLURAL
+
| {{text anchor|NAME_PLURAL}}
 
|  
 
|  
 
*name
 
*name
| The plural form of the plants name as seen in game.
+
| The plural form of the plant's name as seen in-game.
  
 
|-
 
|-
| ADJ
+
| {{text anchor|ADJ}}
 
|  
 
|  
 
*adjective
 
*adjective
Line 30: Line 36:
  
 
|-
 
|-
| ALL_NAMES
+
| {{text anchor|ALL_NAMES}}
 
|  
 
|  
 
*name
 
*name
Line 36: Line 42:
  
 
|-
 
|-
| PREFSTRING
+
| {{text anchor|PREFSTRING}}
 
|  
 
|  
 
*reason
 
*reason
Line 42: Line 48:
  
 
|-
 
|-
| MATERIAL
+
| {{text anchor|MATERIAL}}
 
|  
 
|  
 
*material_name
 
*material_name
| Starts defining a new local plant material with the given name and '''no''' properties.
+
| Starts defining a new local plant material with the given name. Must be followed with [[material definition token]]s defining the material's properties.
  
 
|-
 
|-
| USE_MATERIAL
+
| {{text anchor|USE_MATERIAL}}
 
|  
 
|  
 
*material_name
 
*material_name
*old_material
+
*local_material
| Starts defining a new local plant material with the given name and using the properties of another local plant material.
+
| Starts defining a new local plant material with the given name and using the properties of another local plant material. May be followed with material definition tokens to further define its properties or change the properties imported from the local plant material.
  
 
|-
 
|-
| USE_MATERIAL_TEMPLATE
+
| {{text anchor|USE_MATERIAL_TEMPLATE}}
 
|  
 
|  
 
*material_name
 
*material_name
 
*template_name
 
*template_name
| Starts defining a new local plant material with the given name and using the properties of the specified material template.
+
| Starts defining a new local plant material with the name ''material_name'' and using the properties of the specified MATERIAL_TEMPLATE with the name ''template_name''. May be followed with material definition tokens to further define its properties or change the properties imported from the template material.
  
 
|-
 
|-
| BASIC_MAT
+
| {{text anchor|BASIC_MAT}}
 
|  
 
|  
 
* [[Material token|material]]
 
* [[Material token|material]]
| Sets the basic material of the plant. According to Toady, you can use other materials (for instance, iron) but the game may hiccup on plants that aren't structurally plants. For crops, said material should have [STRUCTURAL_PLANT_MAT] to permit proper stockpiling. Generally, this should be "LOCAL_PLANT_MAT:material_name", using a material defined using MATERIAL, USE_MATERIAL, or USE_MATERIAL_TEMPLATE.
+
| Sets the basic material of the plant. This defines what is harvested when the plant itself, rather than a growth, is picked. According to Toady, you can use other materials (for instance, iron) but the game may hiccup on plants that aren't structurally plants. For crops, said material should have [STRUCTURAL_PLANT_MAT] to permit proper stockpiling. Generally, this should be "LOCAL_PLANT_MAT:material_name", using a material defined using MATERIAL, USE_MATERIAL, or USE_MATERIAL_TEMPLATE. The only way to remove the plant's basic material entry (e.g. "soybean plant") from every stockpile category is to remove this token, but this will cause problems with farming the plant in a farm plot and harvesting the whole wild plant if that's possible.
 
|}
 
|}
  
==Environment Tokens==
+
==Environment tokens==
 
These tokens, also applicable to all plants, specify where the plants grow.
 
These tokens, also applicable to all plants, specify where the plants grow.
  
Line 78: Line 84:
  
 
|-
 
|-
| UNDERGROUND_DEPTH
+
| {{text anchor|UNDERGROUND_DEPTH}}
 
|  
 
|  
 
*minimum
 
*minimum
Line 85: Line 91:
  
 
|-
 
|-
| GOOD
+
| {{text anchor|GOOD}}
 
|   
 
|   
 
| Restricts the plant to growing in Good regions. Cannot be combined with [EVIL].
 
| Restricts the plant to growing in Good regions. Cannot be combined with [EVIL].
  
 
|-
 
|-
| EVIL
+
| {{text anchor|EVIL}}
 
|   
 
|   
 
| Restricts the plant to growing in Evil regions. Cannot be combined with [GOOD].
 
| Restricts the plant to growing in Evil regions. Cannot be combined with [GOOD].
  
 
|-
 
|-
| SAVAGE
+
| {{text anchor|SAVAGE}}
 
|   
 
|   
 
| Restricts the plant to growing in Savage regions (regardless of alignment).
 
| Restricts the plant to growing in Savage regions (regardless of alignment).
  
 
|-
 
|-
| FREQUENCY
+
| {{text anchor|FREQUENCY}}
 
|  
 
|  
 
*freq (0-100)
 
*freq (0-100)
Line 106: Line 112:
  
 
|-
 
|-
| WET
+
| {{text anchor|WET}}
 
|   
 
|   
| Allows the plant to grow near water features.
+
| Restricts the plant to grow near natural water features. A plant with [WET] may be very common or very rare in an area, depending on how many water features that area has. Note that they will not grow next to dwarf-filled channels, since it explicitly checks if the tile type is "River", "River Slope", "River Source", "Waterfall" (used back in 40d for underground rivers), "Brook", "Murky Pool", or "Murky Pool Slope".
  
 
|-
 
|-
| DRY
+
| {{text anchor|DRY}}
 
|   
 
|   
 
| Allows the plant to grow away from water features.
 
| Allows the plant to grow away from water features.
  
 
|-
 
|-
| BIOME
+
| {{text anchor|BIOME}}
 
|  
 
|  
 
*biome
 
*biome
Line 123: Line 129:
 
|}
 
|}
  
==Growth Tokens==
+
==Growth tokens==
 
These tokens are used for all plants and specify growths growing on a plant.   
 
These tokens are used for all plants and specify growths growing on a plant.   
  
Edible or otherwise usable growths should have [STOCKPILE_PLANT_GROWTH] in their [[material definition token|material definitions]] for proper stockpiling, and must have both [STOCKPILE_PLANT_GROWTH] and [STRUCTURAL_PLANT_MAT] to be picked in fortress mode.  This also lets them be collected from plant gathering and farming jobs, unless the growth is linked to the plant itself through a [[reaction]], as in [[quarry bush]]es.
+
Edible or otherwise usable growths should have [STOCKPILE_PLANT_GROWTH] in their [[material definition token|material definitions]] for proper stockpiling.  This also lets them be collected from plant gathering and farming jobs.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 135: Line 141:
  
 
|-
 
|-
| GROWTH
+
| {{text anchor|GROWTH}}
 
|  
 
|  
 
*name
 
*name
Line 141: Line 147:
  
 
|-
 
|-
| GROWTH_NAME
+
| {{text anchor|GROWTH_NAME}}
 
|   
 
|   
 
*singular
 
*singular
Line 148: Line 154:
  
 
|-
 
|-
| GROWTH_ITEM
+
| {{text anchor|GROWTH_ITEM}}
 
|   
 
|   
 
* [[item token]]
 
* [[item token]]
Line 155: Line 161:
  
 
|-
 
|-
| GROWTH_HOST_TILE
+
| {{text anchor|GROWTH_HOST_TILE}}
 
|  
 
|  
 
*plant part
 
*plant part
Line 171: Line 177:
  
 
|-
 
|-
| GROWTH_TRUNK_HEIGHT_PERC
+
| {{text anchor|GROWTH_TRUNK_HEIGHT_PERC}}
 
|   
 
|   
*integer:integer
+
*percent (0-100+)
|
+
*integer
 +
| Controls the height on the trunk above which the growth begins to appear. The first value is the percent of the trunk height where the growth begins appearing: 0 will cause growths to appear along the entire trunk above the first tile; 100 will cause growths to appear only at the topmost trunk tile. Can be larger than 100 for trees that have growths on branches extending higher than the trunk.
 +
 
 +
The second integer currently ''must'' be -1, but might be intended to control whether it counts height starting from the bottom or top.
  
 
|-
 
|-
| GROWTH_DENSITY
+
| {{text anchor|GROWTH_DENSITY}}
 
|   
 
|   
 
*integer
 
*integer
| Specifies growth density.
+
| Currently has no effect.
  
 
|-
 
|-
| GROWTH_TIMING
+
| {{text anchor|GROWTH_TIMING}}
 
|   
 
|   
*[[time]] ticks (0-403200)
+
*[[time]] start:end (0-403200)
 
| Specifies at which part of the year the growth appears.  Default is all year round.
 
| Specifies at which part of the year the growth appears.  Default is all year round.
 +
 +
A single growth can only have one GROWTH_TIMING tag. If multiple are declared, the last one will be used. To make a growth appear multiple times during the year, you need to create a different growth for every GROWTH_TIMING interval. By using the same material for all of the duplicate growths, all of them will be stockpiled together and be eligible for the same reactions. Edible/brewable growths will have separate entries in the kitchen menu, though.
 +
 +
There is no known way to declare a growth timing that lasts from winter into spring. Including numbers below 0 or above 403200 in the range will make the growth available at all times, as though you hadn't defined a growth timing at all. So will including a range for which the start time is later than the end time.
 +
 +
This has no effect on farmed growths; all eligible growths that have [STOCKPILE_PLANT_GROWTH] in their materials will be harvested, regardless of if they are currently within their growth timing or not.
  
 
|-
 
|-
| GROWTH_PRINT
+
| {{text anchor|GROWTH_PRINT}}
 
|   
 
|   
 
*overworld tile
 
*overworld tile
 
*item tile
 
*item tile
*colour
+
*color
*timing (0-403200), ALL or NONE
+
*time (0-403200) start:end, ALL, or NONE
 
*priority
 
*priority
| Specifies the appearance of the growth.  Can be specified more than once, for example for autumn leaves. Transitions between different timing periods will happen gradually over the course of 2000 ticks.
+
| Specifies the appearance of the growth.  Can be specified more than once, for example for autumn leaves. Transitions between different timing periods will happen gradually over the course of 2000 ticks. Priority seems to control what to display when there would be multiple symbols on a tile.{{verify}}
 +
 
 +
The GROWTH_PRINT tile will only be displayed when the growth in question is actually present, even if its timing parameter is ALL.
  
 
|-
 
|-
| GROWTH_HAS_SEED
+
| {{text anchor|GROWTH_HAS_SEED}}
 
|   
 
|   
| The growth carries a seed, which is left when the growth is used or eaten.
+
| The growth drops a seed if eaten raw.
  
 
|-
 
|-
| GROWTH_DROPS_OFF
+
| {{text anchor|GROWTH_DROPS_OFF}}
 
|   
 
|   
 
| Growths drop from the plant, producing a cloud of items which fall on the ground, which [[herbalist]]s can collect.
 
| Growths drop from the plant, producing a cloud of items which fall on the ground, which [[herbalist]]s can collect.
 
|-
 
|-
| GROWTH_DROPS_OFF_NO_CLOUD
+
| {{text anchor|GROWTH_DROPS_OFF_NO_CLOUD}}
 
|   
 
|   
 
| Growths drop collectable items from the plant without producing item clouds.
 
| Growths drop collectable items from the plant without producing item clouds.
Line 214: Line 231:
 
|}
 
|}
  
==Tree Tokens==
+
==Tree tokens==
 
These tokens are used only for trees.
 
These tokens are used only for trees.
  
Line 224: Line 241:
  
 
|-
 
|-
| TREE
+
| {{text anchor|TREE}}
 
|  
 
|  
 
* [[Material token|material]] or NONE
 
* [[Material token|material]] or NONE
Line 230: Line 247:
  
 
|-
 
|-
| TRUNK_NAME
+
| {{text anchor|TRUNK_NAME}}
 
|  
 
|  
 
*name
 
*name
Line 236: Line 253:
  
 
|-
 
|-
| MAX_TRUNK_HEIGHT
+
| {{text anchor|MAX_TRUNK_HEIGHT}}
 
|  
 
|  
 
*1-8
 
*1-8
Line 242: Line 259:
  
 
|-
 
|-
| MAX_TRUNK_DIAMETER
+
| {{text anchor|MAX_TRUNK_DIAMETER}}
 
|  
 
|  
 
*1-3
 
*1-3
| Maximum width of the tree trunk. Trunk diameter and height influence the number of logs yielded when chopped down.
+
| Upper limit of trunk thickness, in tiles. Counted separately for all branching trunks. Has a geometric effect on log yield.
  
 
|-
 
|-
| TRUNK_PERIOD
+
| {{text anchor|TRUNK_PERIOD}}
 
|  
 
|  
 
*integer
 
*integer
| Influences the rate of growth of the trunk's height.  Lower is faster.
+
| The number of years the trunk takes to grow one Z-level upward.
  
 
|-
 
|-
| TRUNK_WIDTH_PERIOD
+
| {{text anchor|TRUNK_WIDTH_PERIOD}}
 
|  
 
|  
 
*integer
 
*integer
| Similar to TRUNK_PERIOD, controls the rate of growth of the trunk's width.
+
| The number of years the trunk takes to grow another tile wider.
  
 
|-
 
|-
| LIGHT_BRANCHES_NAME
+
| {{text anchor|LIGHT_BRANCHES_NAME}}
 
|  
 
|  
 
*name
 
*name
Line 266: Line 283:
  
 
|-
 
|-
| BRANCH_DENSITY / LIGHT_BRANCHES_DENSITY
+
| {{text anchor|BRANCH_DENSITY}} / {{text anchor|LIGHT_BRANCHES_DENSITY}}
 
|  
 
|  
 
*integer
 
*integer
Line 272: Line 289:
  
 
|-
 
|-
| BRANCH_RADIUS / LIGHT_BRANCH_RADIUS  
+
| {{text anchor|BRANCH_RADIUS}} / {{text anchor|LIGHT_BRANCH_RADIUS}}
 
|  
 
|  
 
*integer
 
*integer
| The radius to which branches can reach.  Appears to never reach further than seven tiles from the centre.  Does not depend on the trunk branching amount or where trunks are.
+
| The radius to which branches can reach.  Appears to never reach further than seven tiles from the centre.  Does not depend on the trunk branching amount or where trunks are. The values used in the game go from 0-3. Higher values than that can cause crashes. {{bug|10419}}
  
 
|-
 
|-
| HEAVY_BRANCHES_NAME / DIRECTED_BRANCHES_NAME
+
| {{text anchor|HEAVY_BRANCHES_NAME}} / {{text anchor|DIRECTED_BRANCHES_NAME}}
 
|  
 
|  
 
*name
 
*name
Line 284: Line 301:
  
 
|-
 
|-
| HEAVY_BRANCH_DENSITY / DIRECTED_BRANCH_DENSITY
+
| {{text anchor|HEAVY_BRANCH_DENSITY}} / {{text anchor|DIRECTED_BRANCH_DENSITY}}
 
|  
 
|  
 
*integer
 
*integer
| Similar to BRANCH_DENSITY for thick branches.
+
| Similar to [[Plant_token#BRANCH_DENSITY|BRANCH_DENSITY]] for thick branches.  
  
 
|-
 
|-
| HEAVY_BRANCH_RADIUS / DIRECTED_BRANCH_RADIUS
+
| {{text anchor|HEAVY_BRANCH_RADIUS}} / {{text anchor|DIRECTED_BRANCH_RADIUS}}
 
|  
 
|  
 
*integer
 
*integer
| Similar as BRANCH_RADIUS for thick branches.
+
| Similar as [[Plant_token#BRANCH_RADIUS|BRANCH_DENSITY]] for thick branches. Values outside 0-3 can cause crashes. {{bug|10419}}
  
 
|-
 
|-
| TRUNK_BRANCHING
+
| {{text anchor|TRUNK_BRANCHING}}
 
|  
 
|  
 
*integer
 
*integer
Line 302: Line 319:
  
 
|-
 
|-
| ROOT_NAME / ROOTS_NAME
+
| {{text anchor|ROOT_NAME}} / {{text anchor|ROOTS_NAME}}
 
|  
 
|  
 
*name
 
*name
Line 308: Line 325:
  
 
|-
 
|-
| ROOT_DENSITY
+
| {{text anchor|ROOT_DENSITY}}
 
|  
 
|  
 
*integer
 
*integer
Line 314: Line 331:
  
 
|-
 
|-
| ROOT_RADIUS
+
| {{text anchor|ROOT_RADIUS}}
 
|  
 
|  
 
*integer
 
*integer
Line 320: Line 337:
  
 
|-
 
|-
| TWIGS_NAME
+
| {{text anchor|TWIGS_NAME}}
 
|  
 
|  
 
*name
 
*name
Line 326: Line 343:
  
 
|-
 
|-
| TWIGS_SIDE_BRANCHES
+
| {{text anchor|TWIGS_SIDE_BRANCHES}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 332: Line 349:
  
 
|-
 
|-
| TWIGS_ABOVE_BRANCHES
+
| {{text anchor|TWIGS_ABOVE_BRANCHES}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 338: Line 355:
  
 
|-
 
|-
| TWIGS_BELOW_BRANCHES
+
| {{text anchor|TWIGS_BELOW_BRANCHES}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 344: Line 361:
  
 
|-
 
|-
| TWIGS_SIDE_HEAVY_BRANCHES
+
| {{text anchor|TWIGS_SIDE_HEAVY_BRANCHES}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 350: Line 367:
  
 
|-
 
|-
| TWIGS_ABOVE_HEAVY_BRANCHES
+
| {{text anchor|TWIGS_ABOVE_HEAVY_BRANCHES}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 356: Line 373:
  
 
|-
 
|-
| TWIGS_BELOW_HEAVY_BRANCHES
+
| {{text anchor|TWIGS_BELOW_HEAVY_BRANCHES}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 362: Line 379:
  
 
|-
 
|-
| TWIGS_SIDE_TRUNK
+
| {{text anchor|TWIGS_SIDE_TRUNK}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 368: Line 385:
  
 
|-
 
|-
| TWIGS_ABOVE_TRUNK
+
| {{text anchor|TWIGS_ABOVE_TRUNK}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 374: Line 391:
  
 
|-
 
|-
| TWIGS_BELOW_TRUNK
+
| {{text anchor|TWIGS_BELOW_TRUNK}}
 
|  
 
|  
 
*boolean (0 or 1)
 
*boolean (0 or 1)
Line 380: Line 397:
  
 
|-
 
|-
| TREE_HAS_MUSHROOM_CAP
+
| {{text anchor|TREE_HAS_MUSHROOM_CAP}}
 
|  
 
|  
| The tree has a rounded cap-hood like a giant mushroom.
+
| The tree has a rounded cap-hood like a giant mushroom. This severely stunts a tree's maximum height - see the [https://dwarffortress.mantishub.io/view.php?id=7313#c26413 bug report.]
  
 
|-
 
|-
| CAP_NAME
+
| {{text anchor|CAP_NAME}}
 
|  
 
|  
 
*name
 
*name
Line 391: Line 408:
  
 
|-
 
|-
| CAP_PERIOD
+
| {{text anchor|CAP_PERIOD}}
 
|  
 
|  
 
*integer
 
*integer
Line 397: Line 414:
  
 
|-
 
|-
| CAP_RADIUS
+
| {{text anchor|CAP_RADIUS}}
 
|  
 
|  
 
*integer
 
*integer
Line 403: Line 420:
  
 
|-
 
|-
| STANDARD_TILE_NAMES
+
| {{text anchor|STANDARD_TILE_NAMES}}
 
|  
 
|  
 
| Uses the standard names for the tree components (roots, trunk, branches, etc.)
 
| Uses the standard names for the tree components (roots, trunk, branches, etc.)
  
 
|-
 
|-
| TREE_TILE
+
| {{text anchor|TREE_TILE}}
 
|  
 
|  
 
*tile
 
*tile
Line 414: Line 431:
  
 
|-
 
|-
| DEAD_TREE_TILE
+
| {{text anchor|DEAD_TREE_TILE}}
 
|  
 
|  
 
*tile
 
*tile
Line 420: Line 437:
  
 
|-
 
|-
| SAPLING_TILE
+
| {{text anchor|SAPLING_TILE}}
 
|  
 
|  
 
*tile
 
*tile
Line 426: Line 443:
  
 
|-
 
|-
| DEAD_SAPLING_TILE
+
| {{text anchor|DEAD_SAPLING_TILE}}
 
|  
 
|  
 
*tile
 
*tile
Line 432: Line 449:
  
 
|-
 
|-
| TREE_COLOR
+
| {{text anchor|TREE_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
Line 440: Line 457:
  
 
|-
 
|-
| DEAD_TREE_COLOR
+
| {{text anchor|DEAD_TREE_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
Line 448: Line 465:
  
 
|-
 
|-
| SAPLING_COLOR
+
| {{text anchor|SAPLING_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
Line 456: Line 473:
  
 
|-
 
|-
| DEAD_SAPLING_COLOR
+
| {{text anchor|DEAD_SAPLING_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
Line 464: Line 481:
  
 
|-
 
|-
| SAPLING_DROWN_LEVEL
+
| {{text anchor|SAPLING_DROWN_LEVEL}}
 
|  
 
|  
 
*depth
 
*depth
| The water depth at which saplings of this tree will drown. Exact behavior is unknown. Defaults to 4.
+
| The sapling of this tree will drown once the water on its tile reaches this level. Defaults to 4.
  
 
|-
 
|-
| TREE_DROWN_LEVEL
+
| {{text anchor|TREE_DROWN_LEVEL}}
 
|  
 
|  
 
*depth
 
*depth
Line 476: Line 493:
  
 
|-
 
|-
| SAPLING
+
| {{text anchor|SAPLING}}
 
|   
 
|   
 
| Makes young versions of the tree be called "[tree name] sapling"; otherwise, they are called "young [tree name]".
 
| Makes young versions of the tree be called "[tree name] sapling"; otherwise, they are called "young [tree name]".
Line 482: Line 499:
 
|}
 
|}
  
==Crop Tokens==
+
==Shrub tokens==
These tokens are used only for plantable crops and harvestable shrubs.
+
These tokens are used for non-grass, non-tree plants.
  
 
{| {{prettytable}}
 
{| {{prettytable}}
Line 492: Line 509:
  
 
|-
 
|-
| SPRING
+
| {{text anchor|SPRING}}, {{text anchor|SUMMER}}, {{text anchor|AUTUMN}}, {{text anchor|WINTER}}
 
|   
 
|   
| Allows the plant to grow during spring.
+
| Allows the plant to grow in farm plots during the given season.
  
|-
+
If the plant is a surface plant, allows it to grow in the wild during this season; wild surface plants without this token will disappear at the beginning of the season. Underground plants grow wild in all seasons, regardless of their season tokens.
| SUMMER
 
 
| Allows the plant to grow during summer.
 
 
 
|-
 
| AUTUMN
 
 
| Allows the plant to grow during autumn.
 
 
 
|-
 
| WINTER
 
 
| Allows the plant to grow during winter.
 
  
 
|-
 
|-
| GROWDUR
+
| {{text anchor|GROWDUR}}
 
|  
 
|  
 
*time
 
*time
| How long the plant takes to grow. Unit hundreds of ticks, See [[Time]]. There are 1008 GROWDUR units in a season. Defaults to 300.
+
| How long the plant takes to grow to harvest in a farm plot. Unit hundreds of ticks, See [[Time]]. There are 1008 GROWDUR units in a season. Defaults to 300.
  
 
|-
 
|-
| VALUE
+
| {{text anchor|VALUE}}
 
|  
 
|  
 
*value
 
*value
Line 524: Line 528:
  
 
|-
 
|-
| PICKED_TILE
+
| {{text anchor|PICKED_TILE}}
 
|  
 
|  
 
*tile
 
*tile
| The tile used when harvested. May either be a number or letter within apostrophes(confirm?). See [[Main:character table|character table]]. Defaults to 231 (τ).
+
| The tile used when the plant is harvested whole, or is ready to be picked from a farm plot. May either be a cp437 tile number, or a character between single quotes. See [[Main:character table|character table]]. Defaults to 231 (τ).
  
 
|-
 
|-
| DEAD_PICKED_TILE
+
| {{text anchor|DEAD_PICKED_TILE}}
 
|  
 
|  
 
*tile
 
*tile
| The tile used when a harvested plant has wilted. Defaults to 169 (⌐).
+
| The tile used when a plant harvested whole has wilted. Defaults to 169 (⌐).
  
 
|-
 
|-
| SHRUB_TILE
+
| {{text anchor|SHRUB_TILE}}
 
|  
 
|  
 
*tile
 
*tile
| What tile is used for shrubs bearing this plant. Can be either a number or a character inside apostrophes. Defaults to 34 (").
+
| The tile used to represent this plant when it is wild, alive, and has no growths. Defaults to 34 (").
  
 
|-
 
|-
| DEAD_SHRUB_TILE
+
| {{text anchor|DEAD_SHRUB_TILE}}
 
|  
 
|  
 
*tile
 
*tile
| What tile is used for dead shrubs that once bore this plant. Can be either a number or a character inside apostrophes. Defaults to 34 (").
+
| The tile used to represent this plant when it is dead in the wild. Defaults to 34 (").
  
 
|-
 
|-
| CLUSTERSIZE
+
| {{text anchor|CLUSTERSIZE}}
 
|  
 
|  
 
*size
 
*size
| The maximum stack size collected when gathered via herbalism. Defaults to 5.
+
| The maximum stack size collected when gathered via herbalism (possibly also from farm plots?). Defaults to 5. CLUSTERSIZE must be greater than or equal to 1+ the number of instances of [STOCKPILE_PLANT_GROWTH] in the plant's raws. For plants like vanilla cabbage, clustersize of 1, which is less than 1+[one instance]=2, will prevent citizens from gathering the plant. Best to set all cluster sizes to 2 or higher for safety.
  
 
|-
 
|-
| PICKED_COLOR
+
| {{text anchor|PICKED_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
 
*background
 
*background
 
*bright
 
*bright
| The [[color]] of the plant in farms. Defaults to 2:0:0 (dark green).
+
| The color of the plant when it has been picked whole, or when it is ready for harvest in a farm plot. Defaults to 2:0:0 (dark green).
  
 
|-
 
|-
| DEAD_PICKED_COLOR
+
| {{text anchor|DEAD_PICKED_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
 
*background
 
*background
 
*bright
 
*bright
| The [[color]] of the plant when wilted. Defaults to 0:0:1 (dark gray).
+
| The [[color]] of the plant when it has been picked whole, but has wilted. Defaults to 0:0:1 (dark gray).
  
 
|-
 
|-
| SHRUB_COLOR
+
| {{text anchor|SHRUB_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
 
*background
 
*background
 
*bright
 
*bright
| The [[color]] of shrubs bearing this plant. Defaults to 2:0:0 (dark green).
+
| The [[color]] of the plant when it is alive, wild, and has no growths. Defaults to 2:0:0 (dark green).
  
 
|-
 
|-
| DEAD_SHRUB_COLOR
+
| {{text anchor|DEAD_SHRUB_COLOR}}
 
|  
 
|  
 
*foreground
 
*foreground
 
*background
 
*background
 
*bright
 
*bright
|The [[color]] of dead shrubs that bore this plant. Defaults to 6:0:0 (brown).
+
|The [[color]] of the plant when it is dead in the wild. Defaults to 6:0:0 (brown).
  
 
|-
 
|-
| SHRUB_DROWN_LEVEL
+
| {{text anchor|SHRUB_DROWN_LEVEL}}
 
|  
 
|  
 
*depth
 
*depth
| The water depth at which shrubs of this plant will drown. Exact behavior is unknown. Defaults to 4.
+
| The shrub will drown once the water on its tile reaches this level. Defaults to 4.
  
 
|-
 
|-
| DRINK
+
| {{text anchor|DRINK}}
 
|  
 
|  
 
* [[Material token|material]]
 
* [[Material token|material]]
| Names a [[alcohol|drink]] made from the plant, allowing it to be used in entity resources.  Previously also permitted brewing the plant into [[alcohol]] made of this material.  Instead, a MATERIAL_REACTION_PRODUCT of type DRINK_MAT should be used on the proper plant material.
+
| Names a [[alcohol|drink]] made from the plant, allowing it to be used in entity resources.  Previously also permitted brewing the plant into [[alcohol]] made of this material.  Now, a MATERIAL_REACTION_PRODUCT of type DRINK_MAT should be used on the proper plant material.
  
 
|-
 
|-
| MILL
+
| {{text anchor|MILL}}
 
|  
 
|  
 
* [[Material token|material]]
 
* [[Material token|material]]
| Permits milling the plant at a [[quern]] or [[millstone]] into a powder made of this material and allows its use in entity resources. Said material should have [POWDER_MISC_PLANT] to permit proper stockpiling.
+
| Permits milling the plant at a [[quern]] or [[millstone]] into a powder made of this material and allows its use in entity resources. Said material should have [POWDER_MISC_PLANT] to permit proper stockpiling. This token makes the whole plant harvestable regardless of which material is designated for milling. For plants with millable ''growths'', use only MATERIAL_REACTION_PRODUCT or ITEM_REACTION_PRODUCT tokens to define the milling products.
  
 
|-
 
|-
| THREAD
+
| {{text anchor|THREAD}}
 
|  
 
|  
 
* [[Material token|material]]
 
* [[Material token|material]]
Line 610: Line 614:
  
 
|-
 
|-
| SEED
+
| {{text anchor|SEED}}
 
|  
 
|  
 
*name
 
*name
Line 621: Line 625:
  
 
|-
 
|-
| EXTRACT_STILL_VIAL
+
| {{text anchor|EXTRACT_STILL_VIAL}}
 
|  
 
|  
 
* [[Material token|material]]
 
* [[Material token|material]]
Line 627: Line 631:
  
 
|-
 
|-
| EXTRACT_VIAL
+
| {{text anchor|EXTRACT_VIAL}}
 
|  
 
|  
 
*[[Material token|material]]
 
*[[Material token|material]]
Line 633: Line 637:
  
 
|-
 
|-
| EXTRACT_BARREL
+
| {{text anchor|EXTRACT_BARREL}}
 
|  
 
|  
 
* [[Material token|material]]
 
* [[Material token|material]]
Line 640: Line 644:
 
|}
 
|}
  
==Grass Tokens==
+
==Grass tokens==
 
These tokens are used only for [[grass]]es.
 
These tokens are used only for [[grass]]es.
  
Line 650: Line 654:
  
 
|-
 
|-
| GRASS
+
| {{text anchor|GRASS}}
 
|  
 
|  
 
| Makes the plant behave as a type of grass. This allows animals to graze on it, and prevents it and its growths from being picked by herbalists. (Grass growths can still be picked in adventure mode, however.)
 
| Makes the plant behave as a type of grass. This allows animals to graze on it, and prevents it and its growths from being picked by herbalists. (Grass growths can still be picked in adventure mode, however.)
  
 
|-
 
|-
| GRASS_TILES
+
| {{text anchor|GRASS_TILES}}
 
|
 
|
 
*tile
 
*tile
Line 664: Line 668:
  
 
|-
 
|-
| ALT_PERIOD
+
| {{text anchor|ALT_PERIOD}}
 
|
 
|
 
*period
 
*period
Line 671: Line 675:
  
 
|-
 
|-
| ALT_GRASS_TILES
+
| {{text anchor|ALT_GRASS_TILES}}
 
|
 
|
 
*tile
 
*tile
Line 680: Line 684:
  
 
|-
 
|-
| GRASS_COLORS
+
| {{text anchor|GRASS_COLORS}}
 
|
 
|
 
*color 1 (fore:back:bright)
 
*color 1 (fore:back:bright)
Line 691: Line 695:
 
{{Category|Modding}}
 
{{Category|Modding}}
 
{{Category|Tokens}}
 
{{Category|Tokens}}
 +
[[ru:Plant token]]

Revision as of 16:18, 2 April 2024

This article is about the current version of DF.
Note that some content may still need to be updated.


The [OBJECT:PLANT] token begins the definition of a plant raw file. Following this, each new plant definition begins with the [PLANT:plant_ID] token, where plant_ID is a unique identifier for the plant, and that plant's properties are then defined using the tokens listed below.


Basic tokens

These tokens are specified for all plants and define their most basic characteristics.

Token Arguments Description
NAME
  • name
The singular form of the plant's name as seen in-game.
NAME_PLURAL
  • name
The plural form of the plant's name as seen in-game.
ADJ
  • adjective
The word or phrase used to describe items made from this plant.
ALL_NAMES
  • name
Sets the NAME, NAME_PLURAL, and ADJ to the specified string.
PREFSTRING
  • reason
What dwarves can like this object for (e.g. "Urist likes plump helmets for their rounded tops.")
MATERIAL
  • material_name
Starts defining a new local plant material with the given name. Must be followed with material definition tokens defining the material's properties.
USE_MATERIAL
  • material_name
  • local_material
Starts defining a new local plant material with the given name and using the properties of another local plant material. May be followed with material definition tokens to further define its properties or change the properties imported from the local plant material.
USE_MATERIAL_TEMPLATE
  • material_name
  • template_name
Starts defining a new local plant material with the name material_name and using the properties of the specified MATERIAL_TEMPLATE with the name template_name. May be followed with material definition tokens to further define its properties or change the properties imported from the template material.
BASIC_MAT Sets the basic material of the plant. This defines what is harvested when the plant itself, rather than a growth, is picked. According to Toady, you can use other materials (for instance, iron) but the game may hiccup on plants that aren't structurally plants. For crops, said material should have [STRUCTURAL_PLANT_MAT] to permit proper stockpiling. Generally, this should be "LOCAL_PLANT_MAT:material_name", using a material defined using MATERIAL, USE_MATERIAL, or USE_MATERIAL_TEMPLATE. The only way to remove the plant's basic material entry (e.g. "soybean plant") from every stockpile category is to remove this token, but this will cause problems with farming the plant in a farm plot and harvesting the whole wild plant if that's possible.

Environment tokens

These tokens, also applicable to all plants, specify where the plants grow.

Token Arguments Description
UNDERGROUND_DEPTH
  • minimum
  • maximum
Designates the highest and lowest cavern levels that the plant can appear in if its biome is subterranean. Dwarven civilizations will only export (via the embark screen or caravans) things that are available at depth 1. Defaults to 0:0 (surface only).
GOOD Restricts the plant to growing in Good regions. Cannot be combined with [EVIL].
EVIL Restricts the plant to growing in Evil regions. Cannot be combined with [GOOD].
SAVAGE Restricts the plant to growing in Savage regions (regardless of alignment).
FREQUENCY
  • freq (0-100)
How frequently this plant is generated in a particular area. Defaults to 50. Plants with valid biome tokens and [FREQUENCY:0] will not grow in the wild, but will still be available for entity use and farm plots.
WET Restricts the plant to grow near natural water features. A plant with [WET] may be very common or very rare in an area, depending on how many water features that area has. Note that they will not grow next to dwarf-filled channels, since it explicitly checks if the tile type is "River", "River Slope", "River Source", "Waterfall" (used back in 40d for underground rivers), "Brook", "Murky Pool", or "Murky Pool Slope".
DRY Allows the plant to grow away from water features.
BIOME
  • biome
What biome this plant appears in.

Growth tokens

These tokens are used for all plants and specify growths growing on a plant.

Edible or otherwise usable growths should have [STOCKPILE_PLANT_GROWTH] in their material definitions for proper stockpiling. This also lets them be collected from plant gathering and farming jobs.

Token Arguments Description
GROWTH
  • name
Defines a plant growth. Takes the below tokens as arguments.
GROWTH_NAME
  • singular
  • plural (STP for standard plural)
The name of a plant growth.
GROWTH_ITEM Specifies what item this growth is and what it is made of. Generally, the item type should be PLANT_GROWTH:NONE.
GROWTH_HOST_TILE
  • plant part
Specifies on which part of the plant or tree the growth appears, usually for multi-tile trees. Valid tokens are:
  • TWIGS
  • BRANCHES_AND_TWIGS / LIGHT_BRANCHES_AND_TWIGS
  • BRANCHES / LIGHT_BRANCHES
  • ALL_BRANCHES_AND_TWIGS
  • HEAVY_BRANCHES / DIRECTED_BRANCHES
  • HEAVY_BRANCHES_AND_TRUNK / DIRECTED_BRANCHES_AND_TRUNK
  • TRUNK
  • ROOTS
  • CAP
  • SAPLING
GROWTH_TRUNK_HEIGHT_PERC
  • percent (0-100+)
  • integer
Controls the height on the trunk above which the growth begins to appear. The first value is the percent of the trunk height where the growth begins appearing: 0 will cause growths to appear along the entire trunk above the first tile; 100 will cause growths to appear only at the topmost trunk tile. Can be larger than 100 for trees that have growths on branches extending higher than the trunk.

The second integer currently must be -1, but might be intended to control whether it counts height starting from the bottom or top.

GROWTH_DENSITY
  • integer
Currently has no effect.
GROWTH_TIMING
  • time start:end (0-403200)
Specifies at which part of the year the growth appears. Default is all year round.

A single growth can only have one GROWTH_TIMING tag. If multiple are declared, the last one will be used. To make a growth appear multiple times during the year, you need to create a different growth for every GROWTH_TIMING interval. By using the same material for all of the duplicate growths, all of them will be stockpiled together and be eligible for the same reactions. Edible/brewable growths will have separate entries in the kitchen menu, though.

There is no known way to declare a growth timing that lasts from winter into spring. Including numbers below 0 or above 403200 in the range will make the growth available at all times, as though you hadn't defined a growth timing at all. So will including a range for which the start time is later than the end time.

This has no effect on farmed growths; all eligible growths that have [STOCKPILE_PLANT_GROWTH] in their materials will be harvested, regardless of if they are currently within their growth timing or not.

GROWTH_PRINT
  • overworld tile
  • item tile
  • color
  • time (0-403200) start:end, ALL, or NONE
  • priority
Specifies the appearance of the growth. Can be specified more than once, for example for autumn leaves. Transitions between different timing periods will happen gradually over the course of 2000 ticks. Priority seems to control what to display when there would be multiple symbols on a tile.[Verify]

The GROWTH_PRINT tile will only be displayed when the growth in question is actually present, even if its timing parameter is ALL.

GROWTH_HAS_SEED The growth drops a seed if eaten raw.
GROWTH_DROPS_OFF Growths drop from the plant, producing a cloud of items which fall on the ground, which herbalists can collect.
GROWTH_DROPS_OFF_NO_CLOUD Growths drop collectable items from the plant without producing item clouds.

Tree tokens

These tokens are used only for trees.

Token Arguments Description
TREE Makes the plant into a tree. Cutting down the tree will yield logs made of this material. Setting the material to NONE will give no wood from this tree.
TRUNK_NAME
  • name
What the trunk of the tree is named.
MAX_TRUNK_HEIGHT
  • 1-8
The maximum z-level height of a mature tree's trunk, starting from about two z-levels above ground and going up.
MAX_TRUNK_DIAMETER
  • 1-3
Upper limit of trunk thickness, in tiles. Counted separately for all branching trunks. Has a geometric effect on log yield.
TRUNK_PERIOD
  • integer
The number of years the trunk takes to grow one Z-level upward.
TRUNK_WIDTH_PERIOD
  • integer
The number of years the trunk takes to grow another tile wider.
LIGHT_BRANCHES_NAME
  • name
What thin branches of the tree are named.
BRANCH_DENSITY / LIGHT_BRANCHES_DENSITY
  • integer
How dense the branches grow on this tree.
BRANCH_RADIUS / LIGHT_BRANCH_RADIUS
  • integer
The radius to which branches can reach. Appears to never reach further than seven tiles from the centre. Does not depend on the trunk branching amount or where trunks are. The values used in the game go from 0-3. Higher values than that can cause crashes. Bug:10419
HEAVY_BRANCHES_NAME / DIRECTED_BRANCHES_NAME
  • name
What thick branches of the tree are named.
HEAVY_BRANCH_DENSITY / DIRECTED_BRANCH_DENSITY
  • integer
Similar to BRANCH_DENSITY for thick branches.
HEAVY_BRANCH_RADIUS / DIRECTED_BRANCH_RADIUS
  • integer
Similar as BRANCH_DENSITY for thick branches. Values outside 0-3 can cause crashes. Bug:10419
TRUNK_BRANCHING
  • integer
How much the trunk branches out. 0 makes the trunk straight.
ROOT_NAME / ROOTS_NAME
  • name
What the roots of the tree are named.
ROOT_DENSITY
  • integer
Density of the root growth.
ROOT_RADIUS
  • integer
How wide the roots reach out.
TWIGS_NAME
  • name
What the twigs of the tree are named.
TWIGS_SIDE_BRANCHES
  • boolean (0 or 1)
Twigs appear on the side of branches. Defaults to 1.
TWIGS_ABOVE_BRANCHES
  • boolean (0 or 1)
Twigs appear above branches. Defaults to 1.
TWIGS_BELOW_BRANCHES
  • boolean (0 or 1)
Twigs appear below branches. Defaults to 0.
TWIGS_SIDE_HEAVY_BRANCHES
  • boolean (0 or 1)
Twigs appear on the side of heavy branches. Defaults to 0.
TWIGS_ABOVE_HEAVY_BRANCHES
  • boolean (0 or 1)
Twigs appear above heavy branches. Defaults to 0.
TWIGS_BELOW_HEAVY_BRANCHES
  • boolean (0 or 1)
Twigs appear below heavy branches. Defaults to 0.
TWIGS_SIDE_TRUNK
  • boolean (0 or 1)
Twigs appear on the side of the trunk. Defaults to 0.
TWIGS_ABOVE_TRUNK
  • boolean (0 or 1)
Twigs appear above the trunk. Defaults to 0.
TWIGS_BELOW_TRUNK
  • boolean (0 or 1)
Twigs appear below the trunk. Defaults to 0.
TREE_HAS_MUSHROOM_CAP The tree has a rounded cap-hood like a giant mushroom. This severely stunts a tree's maximum height - see the bug report.
CAP_NAME
  • name
What this mushroom-cap is called. Only makes sense with TREE_HAS_MUSHROOM_CAP.
CAP_PERIOD
  • integer
Similar to the other PERIOD tags, influences the rate of the mushroom cap growth. Only makes sense with TREE_HAS_MUSHROOM_CAP.
CAP_RADIUS
  • integer
The radius of a mushroom cap. Only makes sense with TREE_HAS_MUSHROOM_CAP.
STANDARD_TILE_NAMES Uses the standard names for the tree components (roots, trunk, branches, etc.)
TREE_TILE
  • tile
The tile used for trees of this type on the world map. Defaults to 24 (↑).
DEAD_TREE_TILE
  • tile
The tile used for (un)dead trees and deciduous trees (generally in winter) of this type. Defaults to 198 (╞).
SAPLING_TILE
  • tile
The tile used for saplings of this tree. Defaults to 231 (τ).
DEAD_SAPLING_TILE
  • tile
The tile used for dead saplings of this tree. Defaults to 231 (τ).
TREE_COLOR
  • foreground
  • background
  • bright
The color of the tree on the map. Defaults to 2:0:0 (dark green).
DEAD_TREE_COLOR
  • foreground
  • background
  • bright
The color of the tree on the map when (un)dead. Defaults to 0:0:1 (dark gray).
SAPLING_COLOR
  • foreground
  • background
  • bright
The color of saplings of this tree. Defaults to 2:0:0 (dark green).
DEAD_SAPLING_COLOR
  • foreground
  • background
  • bright
The color of dead saplings of this tree. Defaults to 0:0:1 (dark gray).
SAPLING_DROWN_LEVEL
  • depth
The sapling of this tree will drown once the water on its tile reaches this level. Defaults to 4.
TREE_DROWN_LEVEL
  • depth
The water depth at which this tree will drown. Exact behavior is unknown. Defaults to 7.
SAPLING Makes young versions of the tree be called "[tree name] sapling"; otherwise, they are called "young [tree name]".

Shrub tokens

These tokens are used for non-grass, non-tree plants.

Token Arguments Description
SPRING, SUMMER, AUTUMN, WINTER Allows the plant to grow in farm plots during the given season.

If the plant is a surface plant, allows it to grow in the wild during this season; wild surface plants without this token will disappear at the beginning of the season. Underground plants grow wild in all seasons, regardless of their season tokens.

GROWDUR
  • time
How long the plant takes to grow to harvest in a farm plot. Unit hundreds of ticks, See Time. There are 1008 GROWDUR units in a season. Defaults to 300.
VALUE
  • value
Has no known effect. Previously set the value of the harvested plant.
PICKED_TILE
  • tile
The tile used when the plant is harvested whole, or is ready to be picked from a farm plot. May either be a cp437 tile number, or a character between single quotes. See character table. Defaults to 231 (τ).
DEAD_PICKED_TILE
  • tile
The tile used when a plant harvested whole has wilted. Defaults to 169 (⌐).
SHRUB_TILE
  • tile
The tile used to represent this plant when it is wild, alive, and has no growths. Defaults to 34 (").
DEAD_SHRUB_TILE
  • tile
The tile used to represent this plant when it is dead in the wild. Defaults to 34 (").
CLUSTERSIZE
  • size
The maximum stack size collected when gathered via herbalism (possibly also from farm plots?). Defaults to 5. CLUSTERSIZE must be greater than or equal to 1+ the number of instances of [STOCKPILE_PLANT_GROWTH] in the plant's raws. For plants like vanilla cabbage, clustersize of 1, which is less than 1+[one instance]=2, will prevent citizens from gathering the plant. Best to set all cluster sizes to 2 or higher for safety.
PICKED_COLOR
  • foreground
  • background
  • bright
The color of the plant when it has been picked whole, or when it is ready for harvest in a farm plot. Defaults to 2:0:0 (dark green).
DEAD_PICKED_COLOR
  • foreground
  • background
  • bright
The color of the plant when it has been picked whole, but has wilted. Defaults to 0:0:1 (dark gray).
SHRUB_COLOR
  • foreground
  • background
  • bright
The color of the plant when it is alive, wild, and has no growths. Defaults to 2:0:0 (dark green).
DEAD_SHRUB_COLOR
  • foreground
  • background
  • bright
The color of the plant when it is dead in the wild. Defaults to 6:0:0 (brown).
SHRUB_DROWN_LEVEL
  • depth
The shrub will drown once the water on its tile reaches this level. Defaults to 4.
DRINK Names a drink made from the plant, allowing it to be used in entity resources. Previously also permitted brewing the plant into alcohol made of this material. Now, a MATERIAL_REACTION_PRODUCT of type DRINK_MAT should be used on the proper plant material.
MILL Permits milling the plant at a quern or millstone into a powder made of this material and allows its use in entity resources. Said material should have [POWDER_MISC_PLANT] to permit proper stockpiling. This token makes the whole plant harvestable regardless of which material is designated for milling. For plants with millable growths, use only MATERIAL_REACTION_PRODUCT or ITEM_REACTION_PRODUCT tokens to define the milling products.
THREAD Permits processing the plant at a farmer's workshop to yield threads made of this material and allows its use in entity resources. Said material should have [THREAD_PLANT] to permit proper stockpiling.
SEED
  • name
  • name_plural
  • foreground
  • background
  • bright
  • material
Causes the plant to yield plantable seeds made of this material and having these properties. Said material should have [SEED_MAT] to permit proper stockpiling.
EXTRACT_STILL_VIAL Permits processing the plant into a vial at a still to yield extract made of this material. Said material should have [EXTRACT_STORAGE:FLASK].
EXTRACT_VIAL Permits processing the plant into a vial at a farmer's workshop to yield extract made of this material. Said material should have [EXTRACT_STORAGE:FLASK].
EXTRACT_BARREL Permits processing the plant into a barrel at a farmer's workshop to yield extract made of this material. Said material should have [EXTRACT_STORAGE:BARREL].

Grass tokens

These tokens are used only for grasses.

Token Arguments Description
GRASS Makes the plant behave as a type of grass. This allows animals to graze on it, and prevents it and its growths from being picked by herbalists. (Grass growths can still be picked in adventure mode, however.)
GRASS_TILES
  • tile
  • tile
  • tile
  • tile
Specifies the 4 tiles used to represent grass of this type. If VARIED_GROUND_TILES is disabled in d_init.txt, these are seemingly ignored. Defaults to 46:44:96:39 (.,`').
ALT_PERIOD
  • period
  • offset
How often the grass switches between its main tiles and alternate tiles. The "period" value determines how quickly (in frames) the grass animates, and the "offset" value specifies how much of that time is spent displaying the alternate tiles. If the "offset" value is greater than or equal to the "period" value, the grass will only display using the alternate tiles.[Verify] Defaults to 0:0.
ALT_GRASS_TILES
  • tile
  • tile
  • tile
  • tile
When used with ALT_PERIOD, specifies the 4 alternate tiles used to represent grass of this type. Defaults to 46:44:96:39 (.,`'). Dead grass does not animate.
GRASS_COLORS
  • color 1 (fore:back:bright)
  • color 2 (fore:back:bright)
  • dry color (fore:back:bright)
  • dead color (fore:back:bright)
Specifies the color of this grass. Defaults to 2:0:1:2:0:0:6:0:1:6:0:0 (light green, dark green, yellow, brown).