> For the complete documentation index, see [llms.txt](https://orchid-docs.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://orchid-docs.gitbook.io/docs/documentation/our-releases/growing-everywhere.md).

# Growing Everywhere

## Installation

{% stepper %}
{% step %}
**Add Resources to Server**

Drop the resources into your server’s `resources` directory:

* `cfx-orchid-growing`
* `cfx-orchid-growing-props`
  {% endstep %}

{% step %}
**Install Dependencies**

Follow the [installation guide](/docs/documentation/essensials/orchid-bridge.md#installation) for [Orchid Bridge](/docs/documentation/essensials/orchid-bridge.md).
{% endstep %}

{% step %}

#### Configure

Edit the following files in `data` folder to customize the system:

* `config.lua` — main settings, shops, and buyers
* `zones.lua` — farming zones and environmental modifiers
* `plants.lua` — plant definitions, stages with props, and yields
  {% endstep %}

{% step %}
**Start the Resources**

Ensure both resources are loaded in your `server.cfg`:

```cfscript
ensure cfx-orchid-growing
ensure cfx-orchid-growing-props
```

{% endstep %}
{% endstepper %}

***

## Configuration

The `config.lua` file allows you to fine-tune the farming system.\
Below is an overview of the available settings.

### General Settings

<table><thead><tr><th width="241">Key</th><th width="426">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>spilledWateringPercentage</code></td><td>Durability lost from the watering can when spilling water accidentally.</td><td><code>15</code></td></tr><tr><td><code>wateringPercentage</code></td><td>Maximum durability used when watering a pot.</td><td><code>30</code></td></tr><tr><td><code>defaultHumidity</code></td><td>Humidity level in places with no zone or zone without specified value.</td><td><code>20.0</code></td></tr><tr><td><code>defaultSun</code></td><td>Sun level in places with no zone or zone without specified value.</td><td><code>50.0</code></td></tr><tr><td><code>growthModifierSun</code></td><td>Growth modifier per unit of sun exposure.</td><td><code>0.01</code></td></tr><tr><td><code>deadHumidity</code></td><td>Humidity threshold where plants die and disappear.</td><td><code>-17.0</code></td></tr><tr><td><code>wateringCanStartDurability</code></td><td>Durability of new watering cans.</td><td><code>20.0</code></td></tr><tr><td><code>updateInterval</code></td><td><p>IN SECONDS. </p><p>Update interval for plant updates. 1.5 minutes is optimal. 1 minute will work too, but everything less then that will cause performance issues. Higher value will provide players with less realistic updates of growth.</p></td><td><code>90</code></td></tr><tr><td><code>pricesUpdateCooldown</code></td><td>Cooldown (in minutes) for crop price updates.</td><td><code>60</code></td></tr></tbody></table>

***

### Fertilizer Settings

<table><thead><tr><th width="237">Key</th><th width="409">Description</th><th>Default</th></tr></thead><tbody><tr><td><code>plantsPerFertilizerUse</code></td><td>Number of plants fertilized before requiring reapplication.</td><td><code>3</code></td></tr><tr><td><code>growthBoost</code></td><td>Extra growth rate when fertilized (e.g., <code>0.05</code> = 5%).</td><td><code>0.05</code></td></tr><tr><td><code>waterConsumptionReduction</code></td><td>Reduction in water consumption when fertilized (e.g., <code>0.05</code> = 5%).</td><td><code>0.05</code></td></tr></tbody></table>

***

### Shops

Shops and buyers are configured inside `config.lua`.\
Each shop has its own set of fields that control how it behaves.

***

#### Common Fields

<table><thead><tr><th width="115">Field</th><th width="139">Type</th><th width="192">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>enable</code></td><td><code>boolean</code></td><td><code>true</code></td><td>Enables or disables the shop.</td></tr><tr><td> <code>name</code></td><td><code>string</code></td><td><code>"Plants Bazaar"</code></td><td>Name shown in UI or on blip.</td></tr><tr><td><code>id</code></td><td><code>string</code></td><td><code>"farmingShop"</code></td><td>Unique identifier for the shop. Must not conflict with other shop IDs.</td></tr><tr><td><code>locations</code></td><td><code>Array&#x3C;vec4></code></td><td><code>{ vec4(2310.197, 4885.103, 40.808, 46.888) }</code></td><td>Positions where the shop NPC can spawn. Format: <code>vec4(x, y, z, heading)</code>.</td></tr><tr><td><code>ped</code></td><td><code>string</code></td><td><code>"a_m_m_hillbilly_01"</code></td><td>Ped model used as shopkeeper.</td></tr><tr><td><code>groups</code></td><td><code>table</code> or <code>nil</code></td><td><code>nil</code></td><td>Restrict shop to specific groups. Use <code>nil</code> for all players or e.g. <code>{ crime = 0 }</code>.</td></tr><tr><td><code>blip</code></td><td><code>table</code></td><td>see below</td><td>Controls blip settings.</td></tr><tr><td><code>inventory</code></td><td><code>table</code></td><td>see below</td><td>List of items the shop sells.</td></tr></tbody></table>

***

#### Blip Settings

<table><thead><tr><th width="94">Field</th><th width="108">Type</th><th width="168">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>enable</code></td><td><code>boolean</code></td><td><code>true</code></td><td>Whether the blip is visible on the map.</td></tr><tr><td><code>sprite</code></td><td><code>number</code></td><td><code>52</code></td><td>Sprite ID for the blip.</td></tr><tr><td><code>display</code></td><td><code>number</code></td><td><code>4</code></td><td>Display type (usually <code>4</code>).</td></tr><tr><td><code>scale</code></td><td><code>number</code></td><td><code>0.8</code></td><td>Size of the blip.</td></tr><tr><td><code>colour</code></td><td><code>number</code></td><td><code>30</code></td><td>Color ID of the blip.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td><code>"Plants Bazaar"</code></td><td>Text shown on the map.</td></tr></tbody></table>

***

#### Inventory Items

Each shop’s `inventory` defines items for sale.

<table><thead><tr><th width="144">Field</th><th width="149">Type</th><th width="177">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td><code>"watering_can"</code></td><td>Item name (must exist in item database/inventory system).</td></tr><tr><td><code>amount</code></td><td><code>number</code></td><td><code>50</code></td><td>Amount of the item in stock.</td></tr><tr><td><code>price</code></td><td><code>number</code></td><td><code>700</code></td><td>Price of the item.</td></tr></tbody></table>

***

#### Crop Buyers (`cropsBuyer` / `illegalCropsBuyer`)

Crop buyers use the same fields as shops, with an additional `canBeSold` table for prices.

<table><thead><tr><th width="123">Field</th><th width="92">Type</th><th width="191">Default</th><th>Description</th></tr></thead><tbody><tr><td><code>canBeSold</code></td><td><code>table</code></td><td><code>{ onion = {10, 20}, salad = {10, 20}, pumpkin = 15 }</code></td><td>Defines items that can be sold. Value can be:<br>- <code>number</code>: fixed price.<br>- <code>{ x, y }</code>: random price between <code>x</code> and <code>y</code>, updated every 2 hours.</td></tr></tbody></table>

***

## Zones

The `zones.lua` file defines environmental regions that affect plant growth.

### Example Zone

```lua
{
    coords = vec3(-342.457, -1124.154, 27.384),
    radius = 2000.0,
    name = 'los_santos',
    noPlants = true,
    humidity = math.random(10, 90),
    sun = 50
}
```

#### Parameters

<table><thead><tr><th width="110">Key</th><th width="369">Description</th><th>Example</th></tr></thead><tbody><tr><td><code>coords</code></td><td>Center of the zone</td><td><code>vec3(4819.077, -5163.221, -2.188)</code></td></tr><tr><td><code>radius</code></td><td>Zone radius in game units</td><td><code>1100.0</code></td></tr><tr><td><code>name</code></td><td>Name of the zone (or <code>false</code> for unnamed)</td><td><code>"cayo_perico"</code></td></tr><tr><td><code>humidity?</code></td><td>Optional override for zone humidity (0–100)<br>Default: <a data-mention href="#general-settings">#general-settings</a><br>Random will set new value every time server starts</td><td><p><code>60.0</code> or </p><pre class="language-lua"><code class="lang-lua">math.random(10, 90)
</code></pre></td></tr><tr><td><code>sun?</code></td><td>Optional override for sun exposure (0–100)<br>Default: <a data-mention href="#general-settings">#general-settings</a><br>Random will set new value every time server starts</td><td><p><code>80.0</code> or </p><pre class="language-lua"><code class="lang-lua">math.random(10, 90)
</code></pre></td></tr><tr><td><code>noPlants?</code></td><td>If true, planting is disabled in this area</td><td><code>true</code></td></tr></tbody></table>

***

## Plants

The `plants.lua` file defines what crops can be grown, how long they take to grow, and their growth stages.

### Example Plant (Weed)

```lua
weed_seed_weed = {
    specialArea = false,
    growthTime = 6,
    waterPerMinute = 4,
    yield = {
        { item = 'weedplant_weed', amount = 1 },
        { item = 'weed_seed_weed', amount = { 0, 2 } }
    },
    stages = {
        [1] = { growth = 0 },
        [2] = { growth = 10, model = `orchid_weed_green_small` },
        [3] = { growth = 20, model = `orchid_weed_green_mediumsmall` },
        [4] = { growth = 30, model = `orchid_weed_green_medium` },
        [5] = { growth = 50, model = `orchid_weed_green_bud` },
        [6] = { growth = 70, model = `orchid_weed_green_bud_bigger_b` },
        [7] = { growth = 90, model = `orchid_weed_green_bud_big` },
    },
}
```

#### Parameters

<table><thead><tr><th width="157">Key</th><th width="335">Description</th><th>Example</th></tr></thead><tbody><tr><td><code>specialArea</code></td><td>Whether the plant requires a specific zone to grow (<code>name</code> filed in <a data-mention href="#parameters">#parameters</a>)</td><td><code>false</code></td></tr><tr><td><code>growthTime</code></td><td>Growth time in hours</td><td><code>6</code></td></tr><tr><td><code>waterPerMinute</code></td><td>Water consumed per minute</td><td><code>4</code></td></tr><tr><td><code>yield</code></td><td>Items given when harvested</td><td><code>weedplant_weed</code>, <code>weed_seed_weed</code></td></tr><tr><td><code>stages</code></td><td>Growth stages and models used for each stage</td><td>See example. <code>growth</code> means percentage. As soon as plant growth reaches the value in stage the prop will be updated</td></tr></tbody></table>

***

## Admin Commands

#### `/toggleGrowingZones`&#x20;

* **Access**: `group.admin` (edit `functions/server.lua`)
* **Description**: Displays all configured growing zones from `zones.lua`.

<details>

<summary>Preview</summary>

<figure><img src="/files/ILAJ7gNpn2CGrWNCYOBV" alt=""><figcaption></figcaption></figure>

</details>

***

#### `/adminGrowing`

* **Access**: `group.admin` (edit `functions/server.lua`)
* **Description**: Opens the admin growing menu, showing all placed pots and their data.

<details>

<summary>Preview</summary>

<figure><img src="/files/1yyaGPvpV49jzO0xDEjZ" alt=""><figcaption></figcaption></figure>

</details>
