Jixryo Weed
Growing with real genetics, care and curing. In this build only the growth simulation is written and tested; nothing runs in game yet.
Version 0.1.0 Updated See it on its script page
On this page
Jixryo Weed is the resource jixryo_smoking, version 0.1.0. It is meant to replace the old weed script with growing (16 strains, genetics, water, nutrients, light, heat, humidity, pests, mold, topping, breeding, the harvest window), drying, trimming, curing, bagging, rolling and smoking, all decided on the server.
What exists in this build: the configuration and the growth simulation (shared/sim.lua), with a suite that plays whole grows through it. There is no client script, no server script, no command, no callback, no event and no database table yet. Starting the resource loads the configuration and the simulation into memory and does nothing else. The store lists it as "In the works: the growth simulation is written", and that is the honest state.
What players get
Nothing in game yet. What the simulation is written to give once the in-game half is built:
- Sixteen strains, each with its own time to harvest at perfect care (5 to 9 hours), a THC range, a yield, a difficulty (1 easy and hardy, 3 demanding and pest-prone), how hard a joint hits, how much stress it takes off, and for most a perk while you are high (munchies, stamina, colours, run, couchlock, aim, smell, armour, swim, sleepy).
- Genetics drawn per seed. Every planted seed rolls its own THC inside the strain's range, a yield multiplier, a growth speed and a hardiness. Feminized seeds are always female; regular seeds come up either way.
- Care that matters. Each stage (seedling, vegetative, flowering, ready) wants a water band, nitrogen, phosphorus and potassium, light hours and a temperature band. Water drains faster when hot, as the plant grows and from a fabric pot; rain fills it outside. Vegetative plants eat nitrogen, flowering ones phosphorus and potassium; premium soil starts richer and gives out slower; overfeeding burns. Pests come (likelier outside, less on a hardy plant, never while a spray holds) and spread; flowering buds in humid air grow mold and dry out again in drier air.
- Health, speed and quality from the care score. The score is how right everything is at once (40% the average, 60% the worst thing). Health heals while the score is high and falls while it is low; at zero the plant dies. Growth runs at 0.75x speed at the worst care and 1x at perfect care, and no plant takes longer than 12 hours however badly it is kept. Quality is the score over the plant's whole life, plus a little for premium soil and a better pot.
- The harvest window. A ready plant runs the trichome clock: early, peak from one hour, late from three, overripe from six (the buds degrade). THC is best at the peak.
- Breeding. Males give pollen. A flowering female pollinated by another strain gives 3 to 6 seeds of the cross: a named cross (Blue Crush from Blue Dream and Orange Crush, Paleto Skunk from Paleto Purple and Sandy Shores Skunk) or "A × B" with traits between its parents, as demanding as the harder one.
- Topping and pots. Topping once in the vegetative stage gives 25% more at harvest and makes that stage 10% longer. Fabric and smart pots give 8% and 15% more.
Drying, trimming, curing (14 in-game days in a jar for 12 quality), bagging, rolling, smoking, passing a joint, the high and its HUD are described in the manifest and have no code yet.
What staff get
Nothing yet.
Install
There is nothing to install yet: the resource has no client or server scripts, so it does nothing in game. When the in-game half lands:
Stop the old weed script it replaces. The six old strains' items keep their names, so nobody's inventory breaks.
Order in
server.cfg. The manifest depends on ox_lib, oxmysql, qbx_core, ox_inventory and Jixryo Core.server.cfg ensure ox_lib ensure oxmysql ensure qbx_core ensure ox_inventory ensure jixryo_core ensure jixryo_smokingItems. The item names are
ls_<strain>_seed,ls_<strain>_bud(wet or dry),ls_<strain>_bag(3.5 g) andls_<strain>_joint. The Jixryo ox_inventory fork's weed items file holds them today for six strains only (Plain Jane, Banana Kush, Blue Dream, Purple Haze, Orange Crush, Cosmic Kush) plus Rolling Paper, Empty Baggy, Access Card, Watering Can, Fertilizer, Plant Pot, Shovel, Shears, Weed Table, Weed Gummy and CBD Sucker. The other ten strains and the two named crosses have no items yet; the configuration says they are to be added to that file.The database. None yet. The simulation stores a plant as a plain table meant for JSON, and the server is meant to step every plant every 60 seconds, offline owners included.
Full restart once it does something.
How other scripts' calls behave
None. It provides no other resource's name, registers no exports, and answers no events. Jixryo Skills lists jixryo_smoking as a source of Cultivation XP, so the in-game half will be able to give that XP when it is written.
Its own API
Everything is in Sim, a shared table both sides load. A plant is a plain table; env is where it stands: { inside, light (hours a day), power (0..100), temp (°C), humidity (%), rain }. rng is optional (math.random by default) so tests can fix it.
| Function | What it does |
|---|---|
Sim.new(opts, rng) | A new plant from a seed: { strain, custom?, feminized?, pot, soil, inside }. Rolls its genetics and sex; water 60, health 100, the soil's nutrients. nil for an unknown strain. |
Sim.step(plant, seconds, env, rng) | Moves the plant on: water, nutrients, pests, mold, the score, health, growth, the ready clock. Returns the events that happened: stage, pests, mold, dead, rotting. |
Sim.strain(plant) | The plant's strain data: its own (an unnamed cross), a named cross, or a configured strain. |
Sim.cross(a, b) | What a mother of a pollinated by b grows: { id, data }, a named cross or one between them. |
Sim.genes(strain, rng) | A seed's own genetics: thc, yieldMul (0.9 to 1.15), speed (0.92 to 1.08), hardy. |
Sim.parts(plant, env) | The score (0 to 1) and each part of the care: water, n, p, k, light, temp, humidity, pests, mold. |
Sim.score(plant, env) | The score alone. |
Sim.trichomes(plant) | Clear, milky and amber percentages and the window: early, peak, late, overripe (nothing before flowering or on a male). |
Sim.quality(plant) | Quality so far, 0 to 100. |
Sim.harvest(plant, rng) | What cutting it now gives: a male { pollen }; a pollinated mother { seeds, cross, custom? }; otherwise { grams, thc, quality, window }. nil before it is ready or when dead. |
Sim.issues(plant, env) | What is wrong, worst first: { id, bad } with ids dead, thirsty, overwatered, low_n, low_p, low_k, burn, dark, shade, hot, cold, pests, mold, rotting. |
Sim.minutesLeft(plant, env) | Minutes to the next stage at the current care (0 when ready). |
Sim.water(plant) | One watering (+25). |
Sim.flush(plant) | Soaks it (+30) and washes out 30% of each nutrient. |
Sim.feed(plant, kind) | A dose of grow (nitrogen) or bloom (phosphorus and potassium). |
Sim.spray(plant) | Clears pests and keeps them off for 2 hours. |
Sim.top(plant) | Topping: vegetative stage only, once. |
Sim.pollinate(plant, father) | A flowering female not already pollinated, by a configured strain. |
Exports, callbacks, events, state bags and tables: none in this build.
Commands and keybinds
None in this build.
Configuration
| Key | Default | What it does |
|---|---|---|
Config.strains | 16 strains | Each: label, type (sativa, indica, hybrid), hours to harvest at perfect care, thc range, yield in grams, difficulty 1 to 3, high 1 to 5, relief, perk. |
Config.crosses | Blue Crush, Paleto Skunk | Named crosses with their own traits; any other pair gives "A × B" between its parents. |
Config.grow.maxHours | 12 | No plant takes longer than this. |
Config.grow.slowest | 0.75 | Growth speed at the worst care; perfect care is 1. |
Config.grow.stages | { 0.12, 0.38, 0.50 } | Seedling, vegetative and flowering shares of the strain's hours. |
Config.grow.tickSeconds | 60 | How often the server is meant to step every plant. |
Config.grow.needs | four stages | Per stage: water band, n, p, k, light hours, temperature band. |
Config.grow.slack | { 12, 8, 5 } | How far outside a band is tolerated, by difficulty. |
Config.grow.water | drain 9, perDegree 0.7, stage {0, 3, 5, 3}, pot {plastic 0, fabric 3, smart 1.5}, rain 35, can 25, flush {water 30, washes 0.3} | How water drains and fills. |
Config.grow.nutrients | use per stage; soil basic {40, 25, 25, use 1} and premium {65, 45, 45, use 0.8}; grow {30, 5, 10}; bloom {0, 25, 25}; burnAt 35 | How nutrients are used, what soils and doses give, when a plant burns. |
Config.grow.health | heal 3, hurt 25 | Health per hour while everything is right (score 0.8 or more) and at the worst (score 0). |
Config.grow.pests | chance outside 0.07, inside 0.025; grow 12; sprayGuard 2 | Pests per hour (times one minus hardiness), their spread, hours a spray holds. |
Config.grow.mold | humid 65, grow 0.9, dry 6 | Mold while flowering over this humidity, per percent over it; how fast it dries off. |
Config.grow.window | peak 60, late 180, rot 360 | Minutes after Ready when the peak, late and overripe windows start. |
Config.grow.topping | yield 1.25, slower 0.1 | Topping's yield multiplier and the longer vegetative stage. |
Config.grow.pot | plastic 1, fabric 1.08, smart 1.15 | Yield by pot. |
Config.grow.potQuality, .soilQuality | plastic 0, fabric 2, smart 4; basic 0, premium 5 | Quality added by pot and soil. |
Config.grow.seeds | { 3, 6 } | Seeds from a pollinated mother (more with health). |
Config.grow.cure | days 14, quality 12 | In-game days in a jar and the quality gained at the end (no code reads this yet). |
Security
Nothing to secure yet: there is no code a player's game runs or sends. The design the simulation is written for is that the server steps every plant and decides every harvest, and the client uses the same rules only to explain the plant's card.
Tests
| Suite | Result | What it covers |
|---|---|---|
jixryo_smoking.sim.lua | 13 passed, 0 failed | Whole grows through the simulation with a fixed random: every strain ready within its hours at perfect care, healthy and top quality; a casual grower finishing inside 12 hours at a middling grade; neglect killing the plant; the 12 hour cap at the worst care; outside sun slowing the leafy stage and rain watering; water draining faster when hot, from fabric pots and as it grows; nutrient use by stage and nutrient burn; pests coming (likelier outside), spreading and sprayed off; mold in humid air while flowering; the harvest window; grams from strain, genetics, health, lamp, topping and pots; pollen, crosses and their seeds growing; feminized and regular seeds. Run on 2026-10-31. |
cd dev-tools/luarun && node run.mjs ../../jixryo_scripts/jixryo_smoking tests/jixryo_smoking.sim.luaCheck it in game
Nothing to check in game yet: the resource has no client or server scripts. Until the in-game half is written, the store page should keep saying so.