Quality Plants
Plant a quality seed, harvest quality fruit. Every plant in the game.
What it does
- A plant grown from a quality seed harvests into fruit of that quality.
- Covers every
plant— Gleba crops, Nauvis trees, modded ones. - Works for seeds planted by a tower or by hand.
Quality modules in an agricultural tower
Agricultural Tower with Modules gives the agricultural tower module slots. This allows you to use quality modules.
A plant cannot carry quality, so the engine always rolls from normal. The roll is read back as a number of steps and replayed from the seed's quality:
| Seed | Tower rolled | Harvest |
|---|---|---|
| normal | normal | normal |
| uncommon | normal | uncommon |
| uncommon | rare (2 steps) | epic |
| epic | uncommon (1 step) | legendary |
Counted along the quality chain, not by level number, so custom quality tiers work.
Badge
A quality icon at the foot of the plant, in alt mode only.
| Setting | Default | |
|---|---|---|
| Show quality badge on plants | on | Per player. Takes effect immediately. |
With Hover Alt Mode installed, the badge also shows on the plant under the cursor while alt mode is off. Same icon, same spot. The setting above switches it off too.
Pipette
Pipetting a quality plant gives the matching quality seed, or a cursor ghost of it when none is carried.
The seed in the cursor does carry its quality — only the marker is missing. The cursor previews the plant, not the seed, and a plant cannot carry quality, so there is nothing for the game to draw. Plant it and you get that quality's harvest.
Compatibility
Requires Space Age and Quality.
Script-planted plants stay normal. There is no item stack to read a quality off.
Recommended Mods
- Agricultural Tower with Modules — gives the agricultural tower module slots. Without them there is no quality roll to stack on in the first place.
- Fulgorite Harvesting — grows fulgorite crystals on Fulgora and recycles them into holmium ore. It uses this mod for their quality.
What sets this one apart
- Quality modules in the tower still do something. Their roll is added on top of the seed's quality instead of being thrown away.
- A harvest never exceeds what you have researched.
- Seeds planted by hand count, not only those sown by a tower.
- Nothing is cloned. No prototype is generated, whatever plants are installed — and other mods can exclude their own plants outright.
Incompatible with Farm Quality Plants and Quality Trees
Two reasons:
- They rewrite the same harvest. Whichever runs second reads the quality the first one already raised, mistakes it for a tower's module roll, and raises it again.
- Farm Quality Plants clones every plant prototype it finds, with no way to exclude one. That happens in the data stage, where nothing at runtime can step in — a plant is simply replaced by a clone the moment it is planted. Fulgorite Harvesting breaks on exactly this: its crystals are plants, so they get cloned too, its name filter no longer matches them, lightning stops advancing their growth, and a crystal with a ten-hour growth time never ripens.
For mod authors
Exclude your own plants either way:
-- your own block, no dependency on this mod
data:extend{{
type = "mod-data",
name = "yourmod-quality-plants-ignore",
data_type = "cbs-quality-plants.ignore-plants",
data = { plants = {"your-plant"} },
}}
-- or append to ours, with an optional dependency
table.insert(
data.raw["mod-data"]["cbs-quality-plants-ignore-plants"].data.plants,
"your-plant")
Ask what badge a plant should wear, to draw it yourself:
local badge = remote.interfaces["cbs-quality-plants"]
and remote.call("cbs-quality-plants", "get_hover_badge", plant, player_index)
-- badge = {quality = "uncommon", offset = 0.6, scale = 0.5}, or nil
offset is the y distance below plant.position, derived from the plant's own selection box. nil comes back for a plant that carries no quality, for an invalid entity, and for a player who turned the badge setting off — so you do not have to read the setting yourself.
AI
Mod concept & design by Morlot.
Implementation developed with the help of Claude (AI assistant by Anthropic).