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:

  1. Stop the old weed script it replaces. The six old strains' items keep their names, so nobody's inventory breaks.

  2. 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_smoking
  3. Items. The item names are ls_<strain>_seed, ls_<strain>_bud (wet or dry), ls_<strain>_bag (3.5 g) and ls_<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.

  4. 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.

  5. 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.

FunctionWhat 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

KeyDefaultWhat it does
Config.strains16 strainsEach: 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.crossesBlue Crush, Paleto SkunkNamed crosses with their own traits; any other pair gives "A × B" between its parents.
Config.grow.maxHours12No plant takes longer than this.
Config.grow.slowest0.75Growth 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.tickSeconds60How often the server is meant to step every plant.
Config.grow.needsfour stagesPer 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.waterdrain 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.nutrientsuse 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 35How nutrients are used, what soils and doses give, when a plant burns.
Config.grow.healthheal 3, hurt 25Health per hour while everything is right (score 0.8 or more) and at the worst (score 0).
Config.grow.pestschance outside 0.07, inside 0.025; grow 12; sprayGuard 2Pests per hour (times one minus hardiness), their spread, hours a spray holds.
Config.grow.moldhumid 65, grow 0.9, dry 6Mold while flowering over this humidity, per percent over it; how fast it dries off.
Config.grow.windowpeak 60, late 180, rot 360Minutes after Ready when the peak, late and overripe windows start.
Config.grow.toppingyield 1.25, slower 0.1Topping's yield multiplier and the longer vegetative stage.
Config.grow.potplastic 1, fabric 1.08, smart 1.15Yield by pot.
Config.grow.potQuality, .soilQualityplastic 0, fabric 2, smart 4; basic 0, premium 5Quality added by pot and soil.
Config.grow.seeds{ 3, 6 }Seeds from a pollinated mother (more with health).
Config.grow.curedays 14, quality 12In-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

SuiteResultWhat it covers
jixryo_smoking.sim.lua13 passed, 0 failedWhole 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.
bash
cd dev-tools/luarun && node run.mjs ../../jixryo_scripts/jixryo_smoking tests/jixryo_smoking.sim.lua

Check 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.

Next step

Ready to look around?

Browse the suite, or paste your server.cfg and see what each script does to your server.