Cafe and Coffee

Coffee is a seven step chain: grow, pulp, roast, grind, brew, serve, drink. Every step is a real station and every step can be got wrong.

The chain, end to end

The cafe is a production chain with a market at the end of it. It starts at a Coffee Shrub in your garden and finishes at a cup somebody else paid you for. Nothing in it runs by itself: every arrow in the chain is a right-click you make at a structure you built.

The chain reads cherry, pulp, green bean, roast, grind, brew, serve. Pulping one Coffee Cherry gives you one Green Coffee Bean and one Coffee Pulp, and the pulp goes in a composter. That is the loop back into the soil the shrub grew out of, and it is the reason pulp is priced the way it is.

The cafe prints what it registered when the server starts: 5 roast levels, 6 grounds, 7 drinks, 12 chain goods, 4 stations, 12 self-check arms, for 19 items across 31 files. Everything on this page is written from that code and checked offline. None of it is a report from a running server.

What each step needs

StepWhereGoes inComes out
1. Growyour gardena Coffee ShrubCoffee Cherries
2. PulpHerbalist's Station1 cherry1 Green Coffee Bean and 1 Coffee Pulp
3. RoastRoaster8 green beansone batch, at whatever level you pull it out at
4. GrindGrinderroasted beans2 grounds per bean, coarse or fine
5. BrewBrew Bargrounds plus whatever else the drink namesone cup
6. ServeServerycups you brewedcoins from other players
7. Drinkanywhereone cupan effect that lasts

Pulping is the only step with no station of its own. It uses the Herbalist's Station you already know, so the first thing the cafe asks of you is something you have probably already built.

The four stations

A station is a pattern of ordinary blocks. Nothing is written into them and nothing is saved about them. When you right-click the centre block, the plugin reads the world around it at all four rotations, and if the pattern is there you get the station. Break one block out of it and it stops being a station on the very next click.

StationCentre, right-click thisThe rest of the patternWhat it is for
RoasterBlast FurnaceIron Bars above it, Bricks on either side. The cell directly underneath is the heat and is left out of the pattern on purpose.Turns 8 green beans into a roasting batch
GrinderGrindstoneSmooth Stone below, a Smooth Stone Slab on either sideTurns roasted beans into grounds
Brew BarBrewing StandA copper block below, a Water Cauldron on one side, a lantern on the otherMakes the seven drinks
ServeryBarrelA lantern above it and two copper blocks beside itSells cups to other players

The Roaster's empty cell is the point of the Roaster. Whatever sits directly under the blast furnace decides how fast the batch roasts, and it is read separately from the pattern, so you change roast speed by swapping one block rather than by rebuilding the structure.

Right-click the centre block to open the cafe. Sneak and right-click to use the vanilla block instead. The blast furnace, the grindstone, the brewing stand and the barrel all still work as themselves, so nothing you build here costs you the block it is built out of.

Two arrangements, and two families

The Servery accepts its two copper blocks either opposite each other or on two adjacent sides, forming a corner. Both are a counter. The other three stations have one arrangement each.

The copper and the lantern cells accept families rather than single blocks: any of the eight solid copper blocks (every weathering stage, waxed or not) and any of the ten lanterns. That matters because copper oxidises on its own, with no event and nobody touching it. Without the family, a counter built on Monday would quietly stop being one by Friday while looking identical.

Detection costs at most four cells at four rotations, so sixteen block reads, on a block you are standing next to. There is no scanning task, no saved structure state and nothing to clean up.

The roast

The Roaster is the one place in the chain where you can destroy your own work, and that is deliberate. It is the skill gate the whole feature hangs on.

Put 8 Green Coffee Beans in and right-click the blast furnace. The batch takes the quality of the worst bean in it, and the heat is read once, from the block under the furnace, at the moment the batch starts. Swapping the heat block afterwards changes nothing: the level is worked out from the start time and the frozen heat, and there is no progress counter anywhere in the system.

That has a consequence worth planning around. There is no pause. Downtime counts exactly like uptime, because a clock that could be stopped would be a clock that could hand out free perfect roasts. At the shipped roast step of 30 seconds:

HeatBlock under the furnaceRateLightMediumDarkBurnt
LowCampfire0.6050 s100 s150 s200 s
MediumMagma Block1.0030 s60 s90 s120 s
HighLava1.6019 s38 s57 s75 s

Past the burn point the batch reads Burnt and stays there. An absurdly long absence saturates at Burnt rather than wrapping back round to Green, so there is no length of downtime that turns into a free perfect roast. The flip side is that any gap longer than 3 minutes 20 seconds ruins every batch in the world, and that is the widest window any heat buys you. A campfire is the forgiving one; lava is for somebody who is standing there watching.

The five levels

LevelWhat it isBrewableBase sell value
Green Coffee BeanUnroasted. Sweet-smelling and undrinkable; the Roaster's input.no2.0
Light RoastBright and sharp. Steeps well, too thin to pull as espresso.yes5.0
Medium RoastBalanced. The filter roast, and the one a careless roaster overshoots.yes5.5
Dark RoastHeavy and oily. What espresso is made of, and one step from ruin.yes6.0
Burnt CoffeeCharcoal that used to be coffee.no0.0

Burnt Coffee is worthless on purpose, and the word is backed by numbers in more than one place. It does not grind, it does not brew, it sells for nothing, and it will not burn as furnace fuel even though it sits on a charcoal icon. A salvage value would quietly remove the stake from the roast, so there is none.

Anyone may take a batch out, not only the person who started it. The beans have already left that player's inventory, and a batch burning down in a public cafe because its starter logged off would be the worse outcome. Whoever collects is told by name who started it, so it is visible rather than silent.

Grinding, and the twelve chain goods

The Grinder takes the darkest brewable roast you are carrying, all of it, in one go, and hands back 2 grounds per bean at the worst quality among them. You choose the grind at the moment you grind, and the choice is the whole decision:

  • Coarse is gritty, and water sits in it. Filter coffee and cold brew want this.
  • Fine is powdery, and pressure is forced through it. Espresso wants this.

Three brewable roasts times two grinds is six grounds. Those six, plus the pulp, the green bean, the three roasted beans and the burnt one, are the twelve chain goods. Every one of them is a real item you can hold, stack, name, trade and lose, because half of this feature is a market and nobody can sell half of a chain whose middle is an invisible plugin state.

GoodWhat it isBase sell value
Coffee PulpWhat is left when the bean comes out. The one good here that composts.0.6
Green Coffee BeanUnroasted. The Roaster's input.2.0
Light RoastRoasted bean, one step in.5.0
Medium RoastRoasted bean, two steps in.5.5
Dark RoastRoasted bean, the last safe stop.6.0
Burnt CoffeeRuined. Priced at zero on purpose.0.0
Light Roast, Coarse GrindGrounds for steeping.8.0
Light Roast, Fine GrindGrounds for pressure.8.0
Medium Roast, Coarse GrindWhat filter coffee asks for.9.0
Medium Roast, Fine GrindGrounds for pressure.9.0
Dark Roast, Coarse GrindGrounds for steeping.10.0
Dark Roast, Fine GrindWhat espresso asks for.10.0

Those figures are the base suggestion at Common quality; a better stack is worth proportionally more. Coffee Pulp is priced low on purpose, because it is worth more in a composter than on a shelf, which is what makes closing the loop the profitable choice rather than merely the tidy one.

Every stack in the chain is a function of its id and its quality and nothing else. There is no brew time, no roast score and no brewer's name written into a cup, so sixty-four lattes are one stack rather than sixty-four, and a counter can recognise the cup it handed out.

The seven drinks

Every drink is brewed at a Brew Bar out of your own inventory. There are no input slots: the bar reads what you are carrying, takes it, and hands the cup back to you. Nothing is ever left inside a window to be lost when you close it.

DrinkMethodWhat it takesWhat it givesBase timeSuggested price
Espressopull2 Dark Roast, Fine GrindCaffeinated, Haste II, Speed I45 s34 coins
Filter Coffeepour over1 Medium Roast, Coarse GrindCaffeinated (its own Haste I)300 s18 coins
Cold Brewcold steep3 coarse grounds at any brewable roastCaffeinated, and immunity to Mining Fatigue480 s26 coins
Lattesteam1 Espresso, 3 SoybeansCaffeinated, Saturation, Regeneration180 s48 coins
Vanilla Flat Whitesteam1 Espresso, 1 Milk Bucket, 1 Vanilla PodCaffeinated, Haste II, Resistance I180 s96 coins
Chaihot steep2 Tea Leaf, 1 Chili Pod, 1 Sugar BeetSteady, Fire Resistance, Resistance I420 s40 coins
Green Teahot steep2 Tea LeafSteady, Regeneration360 s14 coins

The Flat White's milk bucket hands the empty bucket straight back to you. The Latte takes soybeans directly rather than an intermediate soy milk item, so the difference between the two milk drinks (soy against dairy) is visible on the recipe line of both.

Bringing the wrong grounds

Only two drinks name a roast, and three name a grind. Bringing something else is allowed, and it costs a quality tier per mistake, to a maximum of two:

  • Espresso wants a dark roast at a fine grind.
  • Filter coffee wants a medium roast at a coarse grind.
  • Cold brew names no roast at all and asks only for a coarse grind. That is a declaration rather than an oversight: cold brew is where a roast that came out wrong still goes somewhere, which is what stops a missed roast being a total loss. A fine grind still costs a tier.
  • The four milk and tea drinks use no grounds, so nothing about the roast can touch them.

Burnt coffee is the one outright refusal in the whole brewing step. It is not a tier drop, it is a no, with a sentence saying so.

A cup's quality is the worst of its ingredients, minus any tier drops. If you are holding both the right grounds and the wrong ones, the Brew Bar picks the right ones, so the tier drop stays a fallback and never becomes a trap. The bar tells you what a cup will come out at before you click, on the same reading that produces the cup.

What a cup does to you

Quality buys time and never strength. A Pristine espresso is not a stronger espresso, it is a longer one, which keeps a flat ceiling on what any cup can do while still making a good harvest worth having.

  • Common is the base figure in the table above. An espresso runs 45 seconds.
  • Fine multiplies it by 1.25. That espresso runs 56 seconds.
  • Choice multiplies it by 1.60, so 72 seconds.
  • Pristine multiplies it by 2.00, so 90 seconds.

Caffeinated, Jittery and Steady

Caffeinated is Haste I plus a little pace, about eight percent movement speed. A second cup refreshes it rather than stacking with it: the new expiry is measured from now, so no amount of drinking buys more than one full duration at a time.

That is the property the counter exists to price. Three cups inside a rolling twenty minute window are free. The fourth gives you the jitters.

Jittery is the downside, and it is a real one. It costs bow accuracy: the arrow's direction is perturbed by a fraction of its own speed, while the speed itself is preserved exactly, so it is an accuracy penalty and not a hidden damage penalty. Your mining is untouched. A drink with an upside and no downside would not be a decision.

Steady is the tea line's answer: Resistance I and a planted stance, and applying it clears Jittery and empties the coffee window. Tea does not cancel coffee, and the two coexist happily. What tea buys is the mistake back, which is what makes coffee or tea a choice rather than one option that dominates.

Cold brew, and the guardians

Cold brew's Mining Fatigue immunity is a window, not an effect. It is a single expiry stamp kept on you, and while it is open the effect is simply refused. A second cold brew refreshes it to the new duration measured from now, never adds to the old expiry, and never shortens a longer window that is already running. When it lapses it stops refusing, and there is nothing to sweep up.

Staff can switch drink effects off server wide. If they do, no drink grants anything, but the cup is still destroyed and still counted as drunk. That is deliberate: the counter sits on the path the cup actually takes, because a meter reading exactly zero on a server with effects off would be an unwired meter rather than a measurement.

The Servery

A Servery is your counter. It is where the chain stops being a hobby and becomes an income, and it is the only part of the cafe where coins move.

Right-click a finished counter that nobody owns and it becomes yours, named after you. From there:

  • Stock moves every drink in your inventory onto the counter in one action. Rows are keyed on the drink and its quality, so Common lattes and Pristine lattes are separate rows you can price separately.
  • Price sets what one cup of a row costs, anywhere from 1 to 10,000 coins.
  • Take pulls stock back out, and drop clears a row entirely.
  • Close releases the counter, so the barrel goes back to being a barrel that anybody may claim.

A counter holds up to 7 rows of 512 cups. Stocking more than a row can hold fills it to 512 and hands the remainder straight back rather than swallowing it.

What happens when somebody buys

The cup leaves the row before any money moves, and the row is written back first. A second buyer in the same tick therefore reads an empty row and is refused with a sentence, rather than two people buying the same last cup. If the charge then fails for any reason, the cup goes back exactly as it was.

The money is player to player. The house rate, 5 percent by default, is carved out of the price rather than added on top, and it goes to the faction treasury that holds the ground, not to the server. Nothing here is minted. The owner being offline changes nothing at all: the counter keeps trading and the coins land in an offline balance. You cannot buy from your own counter; take the stock back instead.

When the counter will not detect

If the structure is not finished, the refusal names the block. It gives you the coordinates of the nearest centre it found and says what it wanted there and what was actually there, for example that it wanted any lantern and found nothing. All four of the counter commands route through that one sentence, so one broken cell no longer produces four different complaints.

For the full picture, /cafe servery here walks the structure block by block: every cell, with a tick or a cross, its world coordinates, what is there and what was wanted, at every rotation and both arrangements. It runs whether or not the counter detects, because confirming a working counter is as legitimate as debugging a broken one.

The listener speaks up too when a right-click fails, but only when the build looks intended, meaning at least one surrounding cell already matched at some rotation, and at most once every fifteen seconds per player. Otherwise every storage barrel on the server would lecture you about lanterns.

Detection was deliberately widened, and there is a cost to that. A decorative barrel with a lantern above it and copper beside it now is a Servery, and the first plain right-click claims it. Recovery is complete and costs nothing: sneak and right-click still opens the vanilla barrel, /cafe close releases the counter, and /cafe list names every counter you own.

Barista, Chef and the two charters

Two of the six professions the Garden added are cafe professions, out of 21 in total. Both are ordinary jobs you take from the job screen.

ProfessionWhat it coversSecondary traits
BaristaRoasts, brews and serves drinks.Steady Hand, Signature
ChefCooks dishes and serves them to other players.Clean Plate, Preserve

The Roastery and the Café

Roasting beans and running a counter are one profession and two businesses, so the Barista is the only trade in the game carrying two company charters: the Roastery and the Café, both covering the FOOD sector. The Chef anchors the Kitchen. That doubling is the direct reason the count is 22 charters across 21 trades rather than 21 across 21.

Founding is charged per charter, not per trade: 25,000 coins as a licence fee and 100,000 coins of starting capital moved from your bank account into the company, plus one company slot. A Barista who wants both pays 250,000 coins and spends two slots, and may be clocked into only one of the two at a time. Both figures are shown before any money moves. The full mechanism lives on the companies page.

Hiring a Barista

A hired Barista is a village worker who ferries stock from a chest to your counter, on the same hiring costs as every other role. Graded cups are a deliberate exception to what it will carry: a Pristine cup is left where it is rather than rebuilt as a Common one in transit, because the alternative would quietly destroy the value you spent a good harvest earning.

Commands, screens and saved state

Bare /cafe opens the hub. Every button in the interface has a typed equivalent, and the visible text of a clickable row is the command it runs, so nothing is only reachable through a window.

CommandWhat it does
/cafe explainThe whole chain in words, with the live roast timings for all three heats.
/cafe buildThe build pattern for every station, derived from the patterns the detector actually uses.
/cafe drinksThe seven drinks with what each one takes and gives.
/cafe pulpPulps cherries at the Herbalist's Station you are standing at.
/cafe roastStarts a batch, or reports the one already running.
/cafe grindGrinds your darkest brewable roast, coarse or fine.
/cafe brewBrews one named drink at the Brew Bar.
/cafe serveryOpens the counter you are at. here prints the block by block diagnosis.
/cafe stockMoves every drink you are carrying onto your counter.
/cafe priceSets the price of one row.
/cafe buyBuys cups from somebody else's counter.
/cafe takeTakes stock back off your own counter.
/cafe dropClears one row.
/cafe closeReleases the counter you own.
/cafe listLists the counters you own.
/cafe helpThe command's own help.

Nine screens sit behind those verbs, and they render on both platforms: Java gets a chest interface, Bedrock gets native forms through the same view model. Neither has a writable slot anywhere, because every input is read from your inventory and every output is handed back to it.

What is written to disk

The cafe keeps one small file with two sections, the running roasts and the counters. One roast is one line and one counter is one line, so the document stays cheap to write. What gets flushed immediately is decided by what losing it would cost: starting a roast destroys beans if the write is lost, and a sale duplicates a cup, so both are written out at once. Re-pricing a row only delays something, so it waits.

There is no repeating task in the whole subsystem, no money timer and no hologram. A roast level is worked out from a stored timestamp when somebody asks, station detection happens when you click, and a sale is a click. The cafe costs nothing while nobody is using it.