Installation Guide

Current setup instructions for oxide-weed using o-link.

Setup guide for the current oxide-weed resource.

Prerequisites

Required resources

ResourcePurpose
ox_libLocale, callbacks, utility helpers
oxmysqlDatabase driver
o-linkFramework and system abstraction used by this resource

This resource depends on your server's o-link setup for:

  • player identity and character lookup
  • usable item registration
  • inventory reads, writes, metadata, and image paths
  • money reads and removals
  • target interactions for plants, equipment, store, and scientist
  • notifications
  • progress bars
  • stash registration and opening

Installation Steps

1. Place the resource

Place oxide-weed inside your server's resources folder.

2. Add startup order

Start dependencies before the resource:

ensure ox_lib
ensure oxmysql
ensure o-link
ensure oxide-weed

3. Database setup

Run sql/install.sql against your database.

The current install creates these tables:

TablePurpose
drugs_progressionWeed XP, level, total created, and total sold
drug_equipmentPlaced weed tables, totes, water containers, drying racks, freeze dryers, and brick presses
drug_plantsPlant state, genetics, timers, ownership, and quality data
drug_lampsGrow lamps linked to plants
drug_heatersHeaters linked to weed tables
drug_drying_slotsWeed table drying slot state
drug_strainsRegistered base and hybrid strain metadata

4. Register items

Register these item names in your inventory.

Core materials and outputs

ItemLabel
cannabis_seedCannabis Seed
weed_budWeed Bud
dried_weed_budDried Weed Bud
pruned_weed_budPruned Weed Bud
cannabis_leafCannabis Leaf
pollenPollen
weed_1gWeed (1g)
weed_eighthWeed (1/8 oz)
weed_quarterWeed (1/4 oz)
weed_halfWeed (1/2 oz)
weed_ounceWeed (1 oz)
weed_brickWeed Brick
jointJoint
bluntBlunt

Supplies

ItemLabel
plant_potPlant Pot
waterWater
fertilizerFertilizer
baggyBaggy
trimming_scissorsTrimming Scissors
rolling_papersRolling Papers
cigarillo_wrapsCigarillo Wraps
lighterLighter
watering_canWatering Can
growing_manualGrowing Manual

Equipment

ItemLabel
grow_lampGrow Lamp
weed_heaterHeater
weed_tableWeed Table
storage_toteStorage Tote
water_container_smallSmall Water Container
water_container_largeLarge Water Container
drying_rackDrying Rack
freeze_dryerFreeze Dryer
brick_pressBrick Press

5. Inventory setup examples

oxide-weed uses o-link at runtime, but your inventory still needs matching item definitions.

QBCore with qb-inventory

Add items to qb-core/shared/items.lua using your server's current QB item syntax:

cannabis_seed = { name = 'cannabis_seed', label = 'Cannabis Seed', weight = 1, type = 'item', image = 'cannabis_seed.png', unique = false, useable = true, shouldClose = true, description = 'Cannabis seed used for planting' },
weed_bud = { name = 'weed_bud', label = 'Weed Bud', weight = 100, type = 'item', image = 'weed_bud.png', unique = false, useable = false, shouldClose = true, description = 'Fresh cannabis bud' },
weed_table = { name = 'weed_table', label = 'Weed Table', weight = 7000, type = 'item', image = 'weed_table.png', unique = false, useable = true, shouldClose = true, description = 'Processing table for weed operations' },

ox_inventory

Add items to ox_inventory/data/items.lua using your current item syntax:

['cannabis_seed'] = {
    label = 'Cannabis Seed',
    weight = 1,
},

['weed_bud'] = {
    label = 'Weed Bud',
    weight = 100,
},

['weed_table'] = {
    label = 'Weed Table',
    weight = 7000,
},

Important exact-name checks:

  • water is the item name used by the resource
  • rolling_papers is plural
  • baggy must match exactly
  • joint and blunt must exist as usable outputs

6. Copy item images

Copy the .png files from item images/ into your inventory image directory.

Common locations:

  • qb-inventory/html/images/
  • ox_inventory/web/images/

7. Review configuration

Review:

  • shared/config.lua
  • shared/config/plants.lua
  • shared/config/strains.lua
  • shared/config/genetics.lua
  • shared/config/drying.lua
  • shared/config/equipment.lua
  • shared/config/lamps.lua
  • shared/config/freezedryer.lua
  • shared/config/dryingrack.lua
  • shared/config/progression.lua
  • shared/config/smoking.lua
  • shared/config/store.lua
  • shared/config/scientist.lua
  • shared/config/wildplants.lua

See the Configuration Guide for the full reference.

Verification

  1. Start the server and confirm ox_lib, oxmysql, o-link, and oxide-weed all load without dependency errors.
  2. Join the server and verify a test player can receive the required items.
  3. Use /weed_kit for a fast setup path during verification.
  4. Plant a seed and confirm placement, watering, and fertilizer consumption work.
  5. Place a weed table and confirm interactions appear through your configured o-link target system.
  6. Open the store and scientist interactions and verify the UIs load.
  7. Harvest, dry, prune, and bag at least one product to confirm the full item pipeline.

Notes

  • Dirty money handling only applies to scientist transactions and is configured in shared/config.lua under Config.DirtyMoney.
  • The Germinator store always uses regular cash.
  • The packaged web/dist build is already included. Rebuild the UI only if you edit files under web/src.

Next Steps