# Configuration

### 1. **Framework and Target**

<pre class="language-lua"><code class="lang-lua"><strong>config.framework = {
</strong>    qb = false,                                            -- set to true if you are using qbcore
    esx = true,                                            -- set to true if you are using esx
    custom = false,                                        -- set to true if you are using a custom framework
}
</code></pre>

***

### 2. Teleports (Optional)

* This option allows you to set up an entrance and exit to the weedfarm interior

```lua
config.teleports = {
    enabled = true,                                         -- if false, disables teleports

    target = false,                                          -- if false, uses textUI ('Press [E]')

    enter = vector4(116.0, -2689.0, 6.0, 270.27),           -- enter teleport coords
    exit = vector4(1066.13, -3183.43, -39.16, 94.22),       -- exit teleport coords
}
```

***

### 3. Notifications&#x20;

* Here you can customize notifications to your liking
* You can either edit the `ox_lib` example below, or replace it with the event/export of your preffered notifications resource

```lua
config.notify = function(msg, status) -- DON'T TOUCH THIS

---------   edit (or replace) below   -------------  

    lib.notify({
        description = msg,
        position = 'top',
        type = status, -- success, error, inform
        style = {
            backgroundColor = 'rgba(0, 0, 0, 0.65)',
            color = 'white',
        },
    })

---------------------------------------------------

end
```

***

### 4. Plant Options

* **Water Can Amount:** How much water a **water can** item holds
* **Fertilizer Spray Amount:** How much fertilizer a spray bottle holds
* **Harvest Amount:** The minimum and maxium amounts of wet buds players can receive from harvesting a fully grown plant
  * amount is random number between min and max
* **Harvest Seed:**&#x20;
  * When true, there is a chance players will receive another seed when harvesting a plant

```lua
config.WaterCanAmount = 200                             -- how much water a water can holds (each plant takes 100)
config.FertilizerSprayAmount = 200                      -- how much fertilizer spray a fertilizer spray holds (each plant takes 100)

config.harvest_amount = {                               -- how much wet bud you get from harvesting

    min = 5,                                            -- minimum amount of wet bud that can be received
    max = 10,                                           -- maximum amount of wet bud that can be received
}                   

config.harvest_seed = {                 

    enabled = true,                                     -- if true, theres a chance player receives another seed when harvesting

    chance = 50,                                        -- % chance of receiving another seed (if enabled) | set to 100 to always give seed
}
```

***

### 5. Weed Shop

* Configure prices of weed shop items
* You **MUST** use the shop for Water Can and Fertilizer Spray items as they require metadata that is added to the items when purchased from the store

```lua
location = vector4(1065.91, -3185.32, -39.16, 46.92),   -- shop location
model = 'g_m_y_famdnf_01',                              -- shop ped
showblip = true,                                        -- show shop blip on map


items = {                                               -- DO NOT ADD OR REMOVE ITEMS, ONLY CHANGE PRICES

        seeds               = 100,                          -- $ price of seeds (can change individual prices for each seed in config.strains)

        bag                 = 100,                          -- $ price of bag
        scale               = 100,                          -- $ price of scale
        joint_roller        = 100,                          -- $ price of joint roller

        WaterCan            = 100,                          -- $ price of water can
        FertilizerSpray     = 100,                          -- $ price of fertilizer spray
        
},
```

***

### 6. Strains

* Here you can customize your strain options
* Each strain listed below is included with the resource along with custom items and props for each strain.&#x20;
* If you would like to add or remove strains you are welcome to do so
  * Each strain must include the same format as the ones below with items and props listed for the following options:

    * seed

    * wet bud

    * dry bud

    * bag

    * medium prop

    * large prop&#x20;

    * wet bud prop

    * **Price and Joint** are optional

```lua
     ['Northern Lights'] = {                                 -- strain name
        price = 200,                                        -- price of seed (optional, delete to use config.shop.items.seeds)
        seed = 'northern_lights_seed',                      -- seed item name
        wet_bud = 'northern_lights_wet',                    -- wet bud item name
        dry_bud = 'northern_lights_dry',                    -- dry bud item name
        bag = 'northern_lights_bag',                        -- bag item name
        joint = 'northern_lights_joint',                    -- joint item name
        props = {
            medium = 'weed_med_pink',                       -- if custom weed props put here
            large = 'weed_large_pink',                      -- if custom weed props put here
            wetbud = 'bkr_prop_weed_drying_02a',            -- if custom wet bud prop put here
        }
    },
    ['Blue Dream'] = { 
        seed = 'blue_dream_seed', 
        dry_bud = 'blue_dream_dry', 
        wet_bud = 'blue_dream_wet', 
        bag = 'blue_dream_bag', 
        joint = 'blue_dream_joint', 
        props = {
            medium = 'weed_med_blue',           
            large = 'weed_large_blue',       
            wetbud = 'bkr_prop_weed_drying_02a',        
        }
    },
    ['Pineapple Express'] = {
        seed = 'pineapple_express_seed', 
        dry_bud = 'pineapple_express_dry', 
        wet_bud = 'pineapple_express_wet', 
        bag = 'pineapple_express_bag', 
        joint = 'pineapple_express_joint', 
        props = {
            medium = 'weed_med_purple',           
            large = 'weed_large_purple',       
            wetbud = 'bkr_prop_weed_drying_02a',        
        }
    },
    ['Sour Diesel'] = {
        seed = 'sour_diesel_seed', 
        dry_bud = 'sour_diesel_dry', 
        wet_bud = 'sour_diesel_wet', 
        bag = 'sour_diesel_bag', 
        joint = 'sour_diesel_joint', 
        props = {
            medium = 'weed_med_green',           
            large = 'weed_large_green',       
            wetbud = 'bkr_prop_weed_drying_02a',        
        }
    },
    ['Strawberry Kush'] = {
        seed = 'strawberry_kush_seed',
        dry_bud = 'strawberry_kush_dry',
        wet_bud = 'strawberry_kush_wet',
        bag = 'strawberry_kush_bag',
        joint = 'strawberry_kush_joint',
        props = {
            medium = 'weed_med_red',
            large = 'weed_large_red',
            wetbud = 'bkr_prop_weed_drying_02a',
        }
    },
    ['Golden Goat'] = {
        seed = 'golden_goat_seed',
        dry_bud = 'golden_goat_dry',
        wet_bud = 'golden_goat_wet',
        bag = 'golden_goat_bag',
        joint = 'golden_goat_joint',
        props = {
            medium = 'weed_med_orange',
            large = 'weed_large_orange',
            wetbud = 'bkr_prop_weed_drying_02a',
        }
    },
```

***

### 7. Growth

* Max XP: Amount of XP required for a plant to be harvested
  * XP amount is stored in database
* Health and Fertilization&#x20;
  * Here you can adjust how quickly or slowly plants grow
  * Every minute, the plants' XP are increased by the specified amount depending on what percentage its health and fertilization are at
    * Health = Water Can&#x20;
    * Fertilization = Fertilizer Spray (bottle)

```lua
    max_xp = 100, -- what XP is required to harvest the plant

    ['health'] = { -- don't change this
    --  [percentage] = [xp per minute]
        ['100%'] = 5, -- don't change percentage (100% gives 5 xp per minute)
        ['75%'] = 4,
        ['50%'] = 3,
        ['25%'] = 2,
        ['0%'] = 0
    },
    ['fertilization'] = {
        ['100%'] = 5,
        ['75%'] = 4,
        ['50%'] = 3,
        ['25%'] = 2,
        ['0%'] = 0
    }
```

***

### 8. **Drying**&#x20;

* **Fan Model:**&#x20;
  * Model of the fans that are spawned
* **Max Dry Amount:**&#x20;
  * If set to false, players can dry any amount that they have in their inventory
  * DO NOT SET TO TRUE
  * Alternatively, you can set this to any # to limit the amount they can dry at once
* **Dry Time:**
  * How long it takes to take to dry wet bud (in seconds) per wet bud
  * example: (to dry 10 wet but takes 10 seconds with DryTime set to 1000)
* **Receive Amount:**
  * How many dry buds the player will receive (per wet bud) after drying is completed
* **Fan Locations:**
  * a fan prop (config.FanModel) is spawn at each set of coords
  * you may add or remove as many fans as you'd like&#x20;
  * each fan becomes targetable and allows players to dry their wet buds
  * coords must be **Vector4** format

```lua
config.FanModel = 'prop_fan_01'

config.MaxDryAmount = false                                 -- if false, no limit on how much wet bud can be dried at once
config.DryTime = 1000                                       -- how long it takes (milliseconds) to dry PER WET BUD (5 wet bud = 5 seconds)

config.ReceiveAmount = 5                                    -- how many dry buds are received PER WET BUD 

config.FanLocations = {
    [1] = vector4(1038.97, -3201.44, -38.17, 281.7),
    [2] = vector4(1039.05, -3200.09, -38.17, 270.57),
    [3] = vector4(1039.04, -3198.44, -38.17, 267.41),
    [4] = vector4(1045.31, -3199.05, -38.16, 52.66),
    [5] = vector4(1044.15, -3200.57, -38.16, 90.54),

}
```

***

### 9. **Bagging and Sorting**&#x20;

* **Require bags:**&#x20;
  * whether or not a player will need to have **empty bag** item to bag weed
* **Require Scale:**
  * whether or not a player will need to have a **scale** item to bag weed
* **Empty Bag Item:**
  * name of your servers **Empty Bag** item (only used id RequireBags is set to `true`)
  * Players will be required to have the same amount of empty bags as the number of weed bags they are trying to make *(making 50 bags of weed will require 50 empty bags)*
* **Max Sort Amount:**
  * Limit how many bags a player can make at once
  * If false, players can bag as many as they want (limited to how many dry buds they have)
  * **DO NOT SET TO TRUE**&#x20;
  * Alternatively, you can set this to a number that sets the max amount of bags players can make at once
* **Buds Per Bag:**
  * How many dry buds make 1 bag
  * **example:** If a player has 20 dry buds, at 5 buds per bag they can make 4 weed bags of that strain)

```lua
config.RequireBags = false                                  -- if true, player must have bags in inventory to sort & bag weed
config.RequireScale = true                                  -- if true, player must have scale in inventory to sort & bag weed

config.EmptyBagItem = 'empty_weed_bag'                      -- item name of empty bag

config.MaxSortAmount = false                                -- if false, no limit on how much weed can be sorted at once (if true, player can only sort x bags at a time)
config.BudsPerBag = 5                                       -- how many buds required to make 1 bag
```
