The Herbarium and the Garden Codex

Your own record of every plant you have held, the milestones it latches, and the Garden Codex that explains the rest of the garden.

What the Herbarium keeps

The Herbarium is your own record of the plants you have handled. It belongs to you alone, it is never shared, and nothing another player does can remove an entry from it. Open it with /botany.

For every species you have met, four things are kept.

What is keptHow it is heldWhy it is kept that way
Genotypes seenOne bit per genotype, 256 bits (32 bytes) for the species, whatever its locus countThe bit is indexed by the plant's own packed genotype, so there is no second way of spelling the same identity
Colours seenThe set of phenotype names you actually looked atIt survives an operator rewriting the colour table, and it survives a species being retired from the server
CrossesA count per species, plus one running totalCrossing is work rather than coverage, so it is counted separately from sightings
First seenA timestamp on the speciesIt is what the Archive and the first-discovery claim read

Across the whole record there is one more thing: the set of milestones you have latched. That set is both the record of what you earned and the reason a congratulation is never sent twice.

A species uses two to four loci, so its full canonical genotype space is 9, 27 or 81. Nothing can ever record a genotype outside that space, because a plant's genotype is canonicalised and masked to its species before it is ever read. Cinderpetal is nine; the four-locus Nightveil Iris is eighty-one, and the screen prints both numbers so you can choose a chase rather than discover its size halfway through. Garden species lists the plants themselves.

Your record is also read from outside. The Garden Show scores its Rarity criterion by counting how many players hold the rarest colour in a garden, and it counts that across Herbarium records. The walk is capped, and when the cap binds the number is reported as a floor rather than as an exact count.

How entries get in

You never file anything by hand. Four paths write to the record, and each one answers the same question before it writes: was that actually new?

Handling a plant

Harvesting or otherwise handling a plant of a known species writes one entry: the species, its genotype, and the colour that genotype shows. If you have seen that exact genotype before, nothing is written and nothing is announced. The write and the "was it new" verdict are a single operation, which is why a flower you harvest for the hundredth time does not re-announce itself.

Reading your satchel

The hub carries a Read my satchel button. It looks through what you are carrying, all 41 slots of it (36 storage, 4 armour, 1 off-hand), and records anything genetic that is new. On a server where automatic reading is on, the same sweep happens when you open the Herbarium, and the button then says so; where it is off, the button is how you catch up after a harvest. It costs nothing and it takes nothing: the stacks are read, never moved.

A default seed carries no species tag at all, on purpose, so that stacks still merge. The resolver therefore reads the stack's own plant tag first and the registered item id second, and the second is the normal path rather than a fallback for broken items.

Crossing

A cross is recorded on its own, separately from the seedling it produces. That is deliberate: you can cross two parents and never inspect the child, and the work still counts towards the Crossbreeder milestone. The offspring is recorded the moment you handle it, through the ordinary sighting path.

What does not count

A bloom placed as decoration is decor and not a crop. It yields no sighting, and equally no farming experience, no job credit, no quality grade and no pollination credit. It is one decision applied in six places rather than six decisions that could drift apart.

The first player to record a species showing a given colour has a claim on it. Two players in the same tick are resolved in order rather than by a timestamp comparison, so exactly one wins and the other is told who beat them. The server-wide announcement of a first discovery ships switched off, so on a default server the claim is recorded quietly and only you see it.

If the Herbarium is switched off on a server, /botany says so plainly and adds the part that matters: nothing you recorded is lost, it is in the file waiting for the book to be opened again.

The screens, and what each one answers

Bare /botany opens the hub. The card at the top is your own record in four lines: species against the roster, colours against what is reachable, genotypes against the full space, crosses, and milestones earned. If you have recorded nothing it says so and tells you what to do about it. The last line of that card names where the roster was read from, so you always know what the fractions are measured against.

Below the header are seven doors.

DoorWhat it opens
SpeciesEvery plant this server grows, recorded or not, paged. A plant you have never held shows as a silhouette with a hint of where to find it.
CrossesEvery cross you have performed, per species. With Punnett's Eye earned, the exact odds; without it, the card says which milestone opens them.
MilestonesThe whole ladder: earned, in progress, and anything this server's plant table cannot satisfy.
ArchiveSpecies in your record that the server no longer grows. While nothing is archived the door is greyed and explains itself rather than vanishing.
Read my satchelThe manual sweep of what you are carrying.
How this worksThe plain-language explainer: what the Herbarium is, four words worth knowing, how grade works, and what you get for it.
The Garden CodexThe Botany section of the wider garden codex, described further down this page.

Two screens sit one level deeper. A species card opens a detail page with the colours you have seen, your genotype coverage, your best grade and what is still missing; from there the genotype grid walks that species' whole canonical space page by page. Every sub-screen has Back, every screen has Close in the bottom row, and a paged sub-screen returns to the first page of its parent while keeping the plant you were reading about.

Everything is reachable by typing, which the explainer states on a card of its own.

TypedWhat it does
/botanyOpens the Herbarium.
/botany helpOpens the How this works screen. /botany help text prints the same words in chat.
/botany explainThe explainer, in chat.
/botany discoveredYour whole record: species, colours, genotypes and crosses.
/botany species (name)One plant: what you have found of it and what is left. No name lists them all.
/botany genotype (name)Reads the plant in your hand. With a name, your coverage of that plant's genetics.
/botany cross (name) (parent) (parent)Crosses you have performed, and exact odds once Punnett's Eye is earned.
/botany milestonesThe ladder, and how far along each rung you are.
/botany archivePlants you recorded that this server no longer grows.

The milestone ladder, and what it pays

Seven milestones, each measured from the record rather than granted by a flag. The reward is always knowledge or a keepsake.

MilestoneWhat it asksWhat it unlocks
First LeafRecord any one speciesNothing beyond the entry. An empty codex needs a first rung.
Five BedsRecord five different speciesField Notes: climate needs and known crossing partners are written up for species you have recorded
The Whole BedRecord every species this server growsCurator's Sigil: a cosmetic mark, declared but not yet visible in the world, and the screen says so rather than letting you plan around it
Full PaletteSee every colour one species can showPressed Specimen: a completed species is mounted with a gold title on your codex
Bred TrueRecord a plant that is homozygous at every one of its lociNothing. Finishing it is its own reward.
Deep ChaseRecord every genotype of one species: 9, 27 or 81 of themLegible Genetics: your Herbarium prints the genotype letters even where they are hidden elsewhere
CrossbreederPerform one hundred crossesPunnett's Eye: cross odds are shown exactly instead of being guessed from results

A perk is either information or a cosmetic. There is no third kind, and that is structural rather than a promise: nothing here pays coins, and nothing here hands you an item you could sell. A book that paid would be money for no work.

Three properties are worth knowing because they change how the ladder behaves over time.

Milestones latch. Once earned, a milestone is yours. The denominator of The Whole Bed is the live plant table, so an operator adding a tenth species would otherwise silently revoke something you had finished. The latch is also what stops the congratulation arriving twice, because there is one set rather than a record and a separate throttle that could disagree.

Full Palette measures what is reachable, not what is declared. A colour listed in the plant table with no genotype pointing at it cannot be grown by anybody. Measuring against the declared list would have made the milestone impossible for every player, for ever, with no visible sign. So the count walks the species' real genotype space and collects the colours it actually produces.

Unreachable is reported, not hidden. A milestone can still be impossible against a given plant table, and the milestone screen names it when it is. A goal that looks reachable and is not is worse than a goal that is plainly out of reach.

Rewards are derived from the record every time they are read, never granted in a transaction. That is what makes the whole unit safe against a lost write: a write that never lands cannot duplicate anything, cannot invent anything and cannot destroy anything. It can only delay.

Every button that promises a click opens

For several releases the Herbarium had dead buttons, and the reason changed three times. Each cause was closed separately, and the last fix is the one that keeps the class of defect from coming back.

What went wrongWhy the click did nothingClosed in
Every click was deadThe server's start-up aborted before the Herbarium's click handler was registered, so nothing was listening at all2.0.0a and 2.0.0b
Unrecorded species and unearned cross cards were deadThose cards were built as labels rather than buttons, so a player who had recorded nothing clicked a grid that correctly dispatched nothing2.0.4a
The newly clickable card opened nothingThe screen behind it threw while painting, because it tried to build an item out of a crop block that has no item form2.0.4b

The routing itself was correct the whole time, which is why the durable deliverable was not another fix but a rule: a row whose text promises a click and carries no action refuses to be built. That refusal happens when the server loads the screen, not when you click it, so a card that says "Click to read" and does nothing cannot ship. A button that does nothing is worse than no button.

Three more guarantees sit around it. The frame slots, Back, Close and the page arrows, are painted from one list and dispatched from another list written in a second file, and the two are compared at load, so a frame button cannot be drawn without being wired. Clicks in the window are cancelled before anything else happens, and a drag across the window is refused separately, because a drag that goes wrong loses items rather than duplicating them. And if a page still fails to paint for any reason, you are told the page failed to open and the fault is logged once, instead of being left to click a button that appears to be broken.

What the 2.0.4a fix means in practice: an unrecorded species now opens its own detail page, which reads "Not yet recorded" for every part you have not found, and a cross card for a species whose odds you cannot see yet opens a page explaining how to unlock Punnett's Eye for that plant. The click always lands somewhere about the plant you clicked.

Why a species card shows the real seed

Until 2.0.5 a recorded species drew the vanilla item underneath the server's own seed, not the seed itself. The icon resolver did ask the item registry, and then kept only the base material and threw the identity away. A bare base item carries no model data and no identity tag, so a Java client with the resource pack drew the plain vanilla item.

The resolver now asks a second question beside the first: the registered item if there is one, and the material chain as the fallback that must never fail. Four places take the same answer together, the species list card, the species detail header, the crosses focus header and the crosses roster rows, so no two screens can disagree about the same plant.

Two cards deliberately do not show a real item.

CardWhat it showsWhy
A species you have not recordedA grey silhouette naming no itemHanding you the real seed would leak the discovery the Herbarium exists to record
An archived speciesA plain icon naming no itemA retired species has no definition left on the server to read an item from

On Bedrock nothing changed here, and that is honest rather than disappointing: custom model data is a Java feature, so a Bedrock client sees the vanilla model either way. Identity there lives in the card's name and its text, which is exactly what the card already carried.

The same resolver closed the crash behind the old dead click. Asked for a species icon it walks the seed item, then the bloom item, then the host block's item form (torchflower crop to torchflower seeds, pitcher crop to pitcher pod, beetroots to beetroot seeds, cocoa to cocoa beans, cave vines to glow berries), and takes the first answer that is genuinely an item, with paper as the last resort. The renderer then passes every icon through the same guard, so a plant whose host block is not mapped yet paints a fallback instead of taking the page down.

The Garden Codex

The Garden Codex is the newer layer, and it is a different kind of book. The Herbarium is about you and changes every time you handle a plant. The codex is about the garden and reads the same for everybody: it records nothing, tracks no progress, grants nothing and costs nothing.

Open it with /gardencodex, or with its aliases codex and gcodex. Four sections hold twenty-one pages between them.

SectionWhat it covers
The FarmPlots, soil, water, greenhouses, seasons and selling
BotanySpecies, genotype, colour and grade, plus a page listing everything you can type at the Herbarium
Bees and the ApiaryWhat a hive reaches, and what pollination is worth
The CafeCherry to cup, and what each station is built from

How to read it

The hub lists the four sections, a section lists its pages, and a page is split into cards. A card is a title and at most three lines, so a long explanation arrives as a short stack of readable cards rather than one crammed tooltip. A blank line in the source text is a break the author meant, and it is honoured. A heading too wide to fit on an item name is never promoted to a card title, because nothing wraps a title; it becomes body text instead. Long pages paginate, and a continuation card keeps the first card's title trimmed to fit with a number after it.

Typed routes: /gardencodex list names every page, /gardencodex list botany opens one section, and /gardencodex read (page) opens one page. The Garden Codex door on the Herbarium hub goes straight to the Botany section.

One source, two renderings

The codex does not hold a second copy of anything. Its botany pages are built from the Herbarium's own explainer, so the four "How this works" cards and the typed verb list are the same words whether you read them in the Herbarium or in the codex, and a change to one lands in both. The farm pages are built the same way from the farm guide. Not one number in the codex is retyped: every figure is read from the system that owns it when the page is opened, so a page cannot quote a price or a chance that the garden no longer charges.

The codex states no costs and shows no affordability line, for the plain reason that nothing in it costs anything.

No help is text only, and what that means on Bedrock

Version 2.0.5 applied one rule across the plugin: a help verb opens a screen, and the words survive at <command> help text. Nineteen commands were converted in that pass, from a table of twenty-one doors with two still pending. /botany help opens the Herbarium's How this works screen and prints a single chat line pointing at /botany help text, which prints exactly the lines the verb printed before.

The words are never the degraded path. They are the typed path, and several senders always take it.

SituationWhat you get
A player, subsystem runningThe screen, plus one line naming the text command
help textExactly the lines the help verb printed before the change
The consoleThe words. A console has no inventory and no window.
The subsystem switched off, or the screen unavailableThe words. A screen against a switched-off system would say nothing useful.
A typo, such as /botany xyzThe words. A typo is not a request for a screen.

What Bedrock players get

Bedrock has no hover text, so a chest row's detail lines would be invisible on a platform where the entire content of the screen is explanation. Every Herbarium and codex screen therefore renders as a form, and the whole row, its title and every detail line, is folded into the button label. A row you cannot use still gets a button: its label says why, and its press does nothing. Omitting it would shift the numbering of every button below it, which is worse than a button that politely refuses.

Clickable commands in chat use the command itself as the visible text, so a Bedrock player reads /botany and types it rather than tapping a label with a hidden command behind it. The Herbarium's explainer closes with a card headed "If you cannot click" that lists the typed routes for the same reason.

Three commands still answer their bare invocation with a wall of text, /rift, /mapboard and /endlock. They are named in the release record and left for a later pass, on the grounds that fixing their help while their front door is still text would be the smaller half of the job.

Where to read next

  • Garden species for the plants themselves: hosts, colours, loci and what crosses with what.
  • Farming for plots, soil, water and the rest of the growing side.

Much of the Garden material, the Garden Codex in particular, is written and built but has not been verified on the live server. The numbers here are read from the shipped code. If the game behaves differently, the game is right and this page needs a correction. The server is blacklight-network.de on Java, and blacklight-network.de port 19132 on Bedrock.