Baskets on every buildable: tiers, rooms, garden f2–f4, floors, machines, silo. Full table in sheet.
Blueprint flow: ghost preview → confirm → staged layered paste. Preview = BlockDisplay on Java, particle outline + title on Bedrock.
/economy gets a Materials tab.
Stockpile protection ships here — mechanism is your call (below).
Drop 3
Wages removed. Outstanding prepay refunded as coins, one-time, audited.
Lunchbox: 24h buffer per worker. 2 meal-equiv per worker-hr (1 meal = 1 BREAD of value). FOOD-class list + meal values in sheet. Raw crops count at 50%.
Draw order: round-robin across the 2 cheapest distinct foods (base productValue per meal-equiv, never live market price, ties by item ID).
Hungry worker: naps at bed, visible state, no debt, feed to resume.
Machine upkeep: 2 wood + 200 coins per machine-hr while processing. No wood = machine pauses (defined state, no crash).
12h unattended-production cap, all 3 worker types, activity-based (AFK-online = offline). offlineFarmerCatchupHours only covers farmers by name — extend it or add per-type keys.
Your calls
Stockpile protection — pick one: (a) per-item never-auto-sell lock toggle, commit just checks stock; (b) escrow/earmark at blueprint confirm. Whichever you can make structurally safe.
Staged-build concurrency — pastes are the heaviest op; 07-09 audit logged 551ms main-thread stalls at 11 players. Suggestion: serialize + FIFO + "crew busy" message. Your call.
Rollback — if you do kill-switches: construction-off = coin-only, upkeep-off = wages resume, comfort-off = 1.0x.
Hard requirements
All numbers in config.yml, not jar constants. Sheet is script-generated; regen on retune, never hand-edit.
Baskets acyclic: no basket may contain an item whose only faucet is gated behind that buildable.
Commit atomic: coins + basket all-or-nothing. One pending blueprint per slot+buildable. Cancel can't race commit. Crash mid-build = resume or refund, never both, never neither.
Bedrock/Floodgate fallback per feature. No BlockDisplay reliance.
Blocking questions (carried from v11, still open)
economyVersion is 14 now (v11 spec assumed 10) — what do the bumps contain, what migration fires on a bump?
Can we get a jar↔config version gate so partial deploys fail loud?
Anything else on the XConomy MySQL? Any $-denominated columns besides wallets?
Open (owner deciding — don't build ahead)
Balanced-diet +10% bonus may get cut.
v11 reprice restart: ships alone or with D2.
Numbers
Materials-Economy Cost Sheet (v11 scale) — generated, do not hand-edit
Generated by gen-cost-sheet.py. Dial: materialShare = 0.4.
Pre-v11 servers: divide coin/value figures by 10; quantities unchanged.
Willow Sapling (new crop → item WILLOW_WOOD)
Property
Value
Player-tended grow time
7200s (matches bamboo)
Farmer-serviced time
1250s
Yield per mature stack
4 WILLOW_WOOD
Sell value (NPC floor, never buyable)
90 each
Plant price
300
$/plot-hr serviced
1,037 = 21.6% of wheat (invariant: 20-25%) PASS
Basket parity value (conversion only)
417/wood (wheat plot-hr parity)
Protection
protected from all automatic drains by default from ship
Construction baskets (coin price unchanged + basket consumed at commit)