|
| 1 | +plant |
| 2 | +===== |
| 3 | + |
| 4 | +.. dfhack-tool:: |
| 5 | + :summary: Grow and remove shrubs or trees. |
| 6 | + :tags: adventure fort armok map plants |
| 7 | + |
| 8 | +Grow and remove shrubs or trees. Modes are ``list``, ``create``, ``grow``, |
| 9 | +and ``remove``. ``list`` prints a list of all valid shrub and sapling raw IDs. |
| 10 | +``create`` allows the creation of new shrubs and saplings. ``grow`` adjusts |
| 11 | +the age of saplings and trees, allowing them to grow instantly. ``remove`` can |
| 12 | +remove existing shrubs and saplings. |
| 13 | + |
| 14 | +Usage |
| 15 | +----- |
| 16 | + |
| 17 | +Provide a mode (including a ``plant_id`` for ``create``) followed by optional |
| 18 | +``pos`` arguments and options. The ``pos`` arguments can limit operation of |
| 19 | +``grow`` or ``remove`` to a single tile or a cuboid. ``pos`` should normally be |
| 20 | +in the form ``0,0,0``, without spaces. The string ``here`` can be used in place |
| 21 | +of numeric coordinates to use the position of the keyboard cursor, if active. |
| 22 | + |
| 23 | +:: |
| 24 | + |
| 25 | + plant list |
| 26 | + |
| 27 | +Prints a list of all shrub and sapling raw IDs for use with the other modes. |
| 28 | +Both numerical and string IDs are provided. |
| 29 | + |
| 30 | +:: |
| 31 | + |
| 32 | + plant create <plant_id> [<pos>] [<options>] |
| 33 | + |
| 34 | +Creates a new plant of the specified type at ``pos`` or the cursor position. |
| 35 | +The target must be a floor tile, consisting of soil, grass, ashes, or |
| 36 | +non-smooth muddy (layer, obsidian, or ore) stone. ``plant_id`` is not |
| 37 | +case-sensitive, but must be enclosed in quotes if spaces exist. (No unmodded |
| 38 | +shrub or sapling raw IDs have spaces.) A numerical ID can be used in place of a |
| 39 | +string. Use ``plant list`` for a list of valid IDs. |
| 40 | + |
| 41 | +:: |
| 42 | + |
| 43 | + plant grow [<pos> [<pos>]] [<options>] |
| 44 | + |
| 45 | +Grows saplings (including dead ones) into trees. Will default to all saplings |
| 46 | +on the map if no ``pos`` arguments are used. Saplings will die and fail to grow |
| 47 | +if they are blocked by another tree. |
| 48 | + |
| 49 | +:: |
| 50 | + |
| 51 | + plant remove [<pos> [<pos>]] [<options>] |
| 52 | + |
| 53 | +Remove plants from the map (or area defined by ``pos`` arguments). By default, |
| 54 | +it only removes invalid plants that exist on non-plant tiles (due to |
| 55 | +:bug:`12868`). The ``--shrubs`` and ``--saplings`` options allow normal plants |
| 56 | +to be targeted instead. Removal of fully-grown trees isn't currently supported. |
| 57 | + |
| 58 | +Examples |
| 59 | +-------- |
| 60 | + |
| 61 | +``plant list`` |
| 62 | + List all valid shrub and sapling raw IDs. |
| 63 | +``plant create tower_cap`` |
| 64 | + Create a Tower Cap sapling at the cursor. |
| 65 | +``plant create 203 -c -a tree`` |
| 66 | + Create a Willow sapling at the cursor, even away from water features, |
| 67 | + ready to mature into a tree. |
| 68 | +``plant create single-grain_wheat 70,70,140`` |
| 69 | + Create a Single-grain Wheat shrub at (70, 70, 140). |
| 70 | +``plant grow`` |
| 71 | + Attempt to grow all saplings on the map into trees. |
| 72 | +``plant grow -z -f maple,200,sand_pear`` |
| 73 | + Attempt to grow all Maple, Acacia, and Sand Pear saplings on the current |
| 74 | + z-level into trees. |
| 75 | +``plant grow 0,0,100 19,19,119 -a 10`` |
| 76 | + Set the age of all saplings and trees (with their original sapling tile) |
| 77 | + in the defined 20 x 20 x 20 cube to at least 10 years. |
| 78 | +``plant remove`` |
| 79 | + Remove all invalid plants from the map. |
| 80 | +``plant remove here -sp`` |
| 81 | + Remove the shrub or sapling at the cursor. |
| 82 | +``plant remove -spd`` |
| 83 | + Remove all dead shrubs and saplings from the map. |
| 84 | +``plant remove 0,0,49 0,0,51 -pz -e nether_cap`` |
| 85 | + Remove all saplings on z-levels 49 to 51, excluding Nether Cap. |
| 86 | + |
| 87 | +Create Options |
| 88 | +-------------- |
| 89 | + |
| 90 | +``-c``, ``--force`` |
| 91 | + Create plant even on tiles flagged ``no_grow`` and unset the flag. This |
| 92 | + flag is set on tiles that were originally boulders or pebbles, as well |
| 93 | + as on some tiles found in deserts, etc. Also allow non-``[DRY]`` plants |
| 94 | + (e.g., willow) to grow away (3+ tiles) from water features (i.e., pools, |
| 95 | + brooks, and rivers), and non-``[WET]`` plants (e.g., prickle berry) to |
| 96 | + grow near them. |
| 97 | +``-a``, ``--age <value>`` |
| 98 | + Set the created plant to a specific age (in years). ``value`` can be a |
| 99 | + non-negative integer, or one of the strings ``tree``/``1x1`` (3 years), |
| 100 | + ``2x2`` (201 years), or ``3x3`` (401 years). ``value`` will be capped at |
| 101 | + 1250. Defaults to 0 if option is unused. Only a few tree types grow wider |
| 102 | + than 1x1, but many may grow taller. (Going directly to higher years will |
| 103 | + stunt height. It may be more desirable to instead use ``plant grow`` in |
| 104 | + stages, or just spawn full trees using `gui/sandbox`.) |
| 105 | + |
| 106 | +Grow Options |
| 107 | +------------ |
| 108 | + |
| 109 | +``-a``, ``--age <value>`` |
| 110 | + Define the age (in years) to set saplings to. ``value`` can be a |
| 111 | + non-negative integer, or one of the strings ``tree``/``1x1`` (3 years), |
| 112 | + ``2x2`` (201 years), or ``3x3`` (401 years). ``value`` will be capped at |
| 113 | + 1250. Defaults to 3 if option is unused. If a ``value`` larger than 3 is |
| 114 | + used, it will make sure even fully-grown trees have an age of at least the |
| 115 | + given value, allowing them to grow larger. (Going directly to higher years |
| 116 | + will stunt tree height. It may be more desirable to grow in stages rather |
| 117 | + than all at once. Trees grow taller every 10 years.) |
| 118 | +``-f``, ``--filter <plant_id>[,<plant_id>...]`` |
| 119 | + Define a filter list of plant raw IDs to target, ignoring all other tree |
| 120 | + types. ``plant_id`` is not case-sensitive, but must be enclosed in quotes |
| 121 | + if spaces exist. (No unmodded tree raw IDs have spaces.) A numerical ID |
| 122 | + can be used in place of a string. Use ``plant list`` and check under |
| 123 | + ``Saplings`` for a list of valid IDs. |
| 124 | +``-e``, ``--exclude <plant_id>[,<plant_id>...]`` |
| 125 | + Same as ``--filter``, but target everything except these. Cannot be used |
| 126 | + with ``--filter``. |
| 127 | +``-z``, ``--zlevel`` |
| 128 | + Operate on a range of z-levels instead of default targeting. Will do all |
| 129 | + z-levels between ``pos`` arguments if both are given (instead of cuboid), |
| 130 | + z-level of first ``pos`` if one is given (instead of single tile), else |
| 131 | + z-level of current view if no ``pos`` is given (instead of entire map). |
| 132 | +``-n``, ``--dry-run`` |
| 133 | + Don't actually grow plants. Just print the total number of plants that |
| 134 | + would be grown. |
| 135 | + |
| 136 | +Remove Options |
| 137 | +-------------- |
| 138 | + |
| 139 | +``-s``, ``--shrubs`` |
| 140 | + Target shrubs for removal. |
| 141 | +``-p``, ``--saplings`` |
| 142 | + Target saplings for removal. |
| 143 | +``-d``, ``--dead`` |
| 144 | + Only target dead plants for removal. Can't be used without ``--shrubs`` |
| 145 | + or ``--saplings``. |
| 146 | +``-f``, ``--filter <plant_id>[,<plant_id>...]`` |
| 147 | + Define a filter list of plant raw IDs to target, ignoring all other plant |
| 148 | + types. This applies after ``--shrubs`` and ``--saplings`` are targeted, |
| 149 | + and can't be used without one of those options. ``plant_id`` is not |
| 150 | + case-sensitive, but must be enclosed in quotes if spaces exist. (No |
| 151 | + unmodded shrub or sapling raw IDs have spaces.) A numerical ID can be |
| 152 | + used in place of a string. Use ``plant list`` for a list of valid IDs. |
| 153 | +``-e``, ``--exclude <plant_id>[,<plant_id>...]`` |
| 154 | + Same as ``--filter``, but target everything except these. Cannot be used |
| 155 | + with ``--filter``. |
| 156 | +``-z``, ``--zlevel`` |
| 157 | + Operate on a range of z-levels instead of default targeting. Will do all |
| 158 | + z-levels between ``pos`` arguments if both are given (instead of cuboid), |
| 159 | + z-level of first ``pos`` if one is given (instead of single tile), else |
| 160 | + z-level of current view if no ``pos`` is given (instead of entire map). |
| 161 | +``-n``, ``--dryrun`` |
| 162 | + Don't actually remove plants. Just print the total number of plants that |
| 163 | + would be removed. |
0 commit comments