Confirm with your password

LetItGrow

Full farming overhaul: configurable growth speed/conditions, hover grow-timers, and Scarecrow + Farm Silo auto-harvest/replant automation that keeps tending farms nobody is near. Server-synced.

· Website · 💗 Donate

Stars
3
Downloads
788
Version
0.2.9
Updated
Author
Wubarrk
Virus scan
✓ Scan successful
Runs on
Client & Server
Required by
3 mods

Description

🌾 LetItGrow

LetItGrow — a glowing sapling rooted in soil, ringed by runes

Valheim Mod Multiplayer Compatible Framework Version

Plant anything, anywhere, and let a Scarecrow worry about the rest.

LetItGrow gives full control over how planted crops and tree saplings grow, adds a hover timer that tells you exactly when a plant is ready, extends the Cultivator with grid planting for laying out a whole field in one action, and tops it off with a Scarecrow + Farm Silo pair that auto-harvests and auto-replants your crops on its own — while you stand there watching, while you're on the far side of the map, and even while nobody is logged in at all.


📜 Contents

🌱 Features

🌍 Plant Anywhere

Every one of vanilla's planting rules — sun, spacing, biome, cultivated ground, heat/cold shielding, having something to attach to — is its own on/off switch. Out of the box, "grow anywhere" is already on: biome, heat, cold, and roof/sun restrictions are ignored by default (barley in the Meadows, greenhouses under a roof — just works), while crowding, cultivated ground, and vine attachment stay vanilla so farming still plays like farming. A separate Growth Speed Multiplier (default 18× — a field turns over in a few in-game hours instead of days) scales how fast anything you've planted grows, from vanilla pace to near-instant — planted wild pickables included (a planted berry bush regrows in about 17 minutes instead of 300; wild ones keep vanilla pace).

⏱️ Hover Grow-Timer

Look at any planted crop or sapling and its tooltip tells you straight away whether it's ready to harvest or exactly how long it has left — computed from the plant's own growth state, so it always matches whatever speed multiplier you're running.

🗺️ Grid Planting

Plant a whole field in one click instead of one tile at a time — with a live preview showing exactly what you'll get before you commit.

How to use it:

  1. Equip the Cultivator and pick a crop from its build menu (an actual plant — carrots, turnips, barley — not the cultivate/grass options).
  2. Press G to turn grid mode on. A ghost of the crop appears at every cell of the grid around your aim point — green where it will plant, red where it's blocked (occupied, uncultivated, or too close to a neighbour). "Grid placement: ON" flashes top-left.
  3. Shape the grid while you aim: [ / ] for rows, - / = for columns, , / . for spacing. The preview reshapes live, so a 4×5 at 1.0m looks exactly like what lands.
  4. Aim at the centre — the grid spreads out around your placement ghost, rows running the way you face. Every cell samples its own ground height, so slopes are fine.
  5. Left-click. The whole preview goes in the ground at once — green cells plant, red cells are skipped individually (never aborting the rest), and a summary flashes top-left: "Planted 18/20 - 2 blocked". One click costs one use of Cultivator durability.

Press P to choose a seed source: your own inventory (default) or any container within 10m — point it at a Farm Silo and plant straight from silo stock without seeds ever touching your pockets. Press G again to drop back to vanilla single-planting — left-click with grid mode off is completely untouched. All keys are rebindable, the preview has its own local toggle, and the server caps grid size and cells-per-click.

🧑‍🌾 Scarecrow + Farm Silo Auto-Farming

Place a Scarecrow to give it a patch of ground to watch, and drop one or more Farm Silos nearby — there is no linking step: a Scarecrow automatically uses every Silo in range, drawing seeds from the nearest one with stock and depositing harvests into the nearest one with room. From then on it harvests anything ready, sweeps every loose farm item off the ground (stack-aware, whole radius — a dropped sword is safe), and replants from Silo stock.

Press E on the Scarecrow to assign its crop (the picker shows only what your Silos actually stock, with live counts), set its radius — a green ground ring shows exactly how far it reaches, redrawing live as you adjust — and tune seeds-per-plant, minimum seed reserve, and the seed ratio. Every panel change is validated by the server (builder or admin only), so a modified client gains nothing. Before planting a single seed, the Scarecrow pre-checks everything that could kill the plant at maturity — biome, roof, heat, cold, real collider spacing, even whether it would crowd an existing neighbour — so automation never wastes seeds on doomed ground.

The Farm Silo is a chest-sized 8×8 (64 slots) by default, resizes live on every placed Silo whenever the server setting changes, and keeps itself tidy: seeds fill from the top-left, produce from the bottom-right, so the two never interleave.

When every Silo in range is full, the farm stops rather than dumping produce on the floor: mature crops stay standing (the Scarecrow reads FULL, harvest paused) and are picked the moment you empty a Silo or place another one. Nothing rolls away, nothing is lost.

🔁 Getting a farm that never needs you again

Vanilla gives most crops two plantable forms — the vegetable itself, or a dedicated seed item — and only one of them harvests back into what it cost:

You plant It costs It harvests into Runs unattended?
Carrot 1 Carrot 3 Carrots ✅ yes — it pays for itself 3:1
Carrot Seeds 1 Carrot Seeds 3 Carrots ❌ drains the seed stock on its own
Beech/Oak/Pine sapling 1 seed (a tree — not pickable) ❌ the Scarecrow can't harvest trees

Two ways to close the loop:

  • Plant the crop itself (Carrot, not Carrot Seeds) — the picker shows each entry's real ratio and lists self-sustaining choices first.
  • Or set a Seed Ratio on the Scarecrow: 1 seed-making partner plant (Carrot → seed-carrot → 3 Carrot Seeds) for every N regular plants, with automatic fallback to seed-planting when seeds run dry. Either way, stock the Silo once and the farm banks surplus forever.

With a ratio set, the field stays tidy instead of mixed: seed-loop plants take the spots closest to the Scarecrow and regular crops the ones farthest, so a seed band forms around the post with clean crop rows outside it (Sectioned Seed Planting, on by default).

🫐 Plant the Wild

Everything the world grows back on its own is now yours to farm. Raspberry, blueberry and cloudberry bushes, the four regrowing mushrooms (common, yellow, blue, Smokepuff), thistle, dandelions and fiddleheads appear in the Cultivator, each costing one of its own item to plant — a Raspberries plants a raspberry bush. What you place is the real vanilla object, exactly as the world grows it. It starts bare like a sapling — a bare bush, or a small sprout for thistle, mushrooms, dandelions and fiddleheads — and regrows on its own, at the same Growth Speed Multiplier as every other crop (wild ones untouched); hover it and it reads Regrows in 17m.

They are real crops to the rest of the mod: the grid lays them out by their true footprint, a Scarecrow harvests them every time they regrow, the Silo banks the produce, and the replant pass plants more bushes from that produce — a berry hedge that feeds itself from the first harvest. Planted the wrong spot? The normal remove click (Hammer or Cultivator) takes it out and hands the planting cost back, bare sprout or not - and the Cultivator's remove click also pulls a planted carrot, turnip, onion, barley, flax or tree sapling, seed refunded. Admins can add any other regrowing pickable by prefab name in 13 - Nature Pickables.

🏡 Away Tending

A Scarecrow does not need you — or anyone — nearby to keep working:

  • Nobody online? Vanilla freezes the world clock the moment the last player logs out, so nothing would ever mature. LetItGrow keeps time flowing on an empty server (Time Flows While Empty, on by default): crops age, pickables respawn, and the farm keeps producing all night.
  • Everyone far away? The server visits every placed Scarecrow in turn — including ones on the far side of the map — holding each one's ground loaded just long enough for a real harvest/sweep/replant pass before moving on.
  • Standing right there? The keeper parks on a farm while a player is at it, ticking it every few seconds the whole time you watch, then resumes its rotation when you leave.
  • Nothing to do? A farm that is waiting on you - every ripe crop held by full Silos, or no seeds and nothing in the ground, or its Scarecrow switched off - is skipped for a few rotations (Idle Site Skip Laps) instead of being loaded for nothing; walking up to it ends the skip.
  • Too big to load? Force-loading a site instantiates every object in its zones, and the server pays for that on every visit. The keeper counts them first (Max Objects Per Site, default 10,000) and refuses a site over the cap, logging a warning every 10 minutes, until it is cleared or the cap is raised. A normal farm is nowhere near it; a field that stacked crops on top of each other (possible before 0.2.8) is what this catches.

Turn any of it off and a Scarecrow behaves like a vanilla-loaded-zone machine again.

🧹 Cleaning up a stacked field (admins)

Before 0.2.8 a mature mushroom did not count as occupying its cell, so a farm with full Silos could plant on top of its own crops without limit. 0.2.8 stops that, but an already-stacked field stays stacked. Stand at the farm and, in the console (F5) or chat with a leading /:

Command Does
letitgrow count <radius> [keep] Dry run: crop pickables within the radius, how many are stacked beyond keep per spot (default 1), by prefab.
letitgrow purge <radius> [keep] Removes exactly those, 500 a frame, no drops. Works even on a farm the object cap refuses to load - it clears through the server's object table, not the loaded zone.

Admin only (the server checks). Nothing runs on its own; a lone wild mushroom near the farm is never "stacked" and is never touched at keep 1.


⚙️ Configuration

Settings live in wubarrk.letitgrow.cfg, split into numbered sections. Every gameplay-affecting setting is server-synced and admin-controlled; only hotkeys, visual preferences, and debug logging are local.

Server-Synced (Admin Controlled)

Section What it covers
2 - Growth Speed The global growth speed multiplier (default 18×).
3 - Growing Conditions Per-requirement bypass toggles — sun, biome, heat, cold default ON; space, cultivation, attach default OFF.
4 - Hover Timer Whether the grow-timer tooltip shows at all.
5 - Automation - General Master automation switch, Scarecrow tick (5s) / rescan (15s) intervals, whether harvested drops sweep into Silos.
6 - Automation - Scarecrow Default scan radius (12m), server radius cap (40m), harvest/replant budgets (10 per tick), sectioned seed planting (on), the standing-crop backstop (Max Tracked Crops Per Scarecrow, 6,000 - above it a Scarecrow harvests but will not plant more).
7 - Automation - Farm Silo Silo rows/columns (default 8×8 — applies live to every placed Silo, never shrinks below an occupied slot) and the multi-silo range (10m).
13 - Nature Pickables Master switch, the list of wild pickables made plantable (any regrowing pickable by prefab name), planting cost (1), start bare (on), sprout scale (0.5), cultivated ground only. Regrow pace comes from 2 - Growth Speed.
8 - Grid Placement (Cultivator) Server-enforced caps on grid rows/columns/cells, default spacing.
10 - Automation - Away Tending Master switch, force-load ring, dwell/settle timeouts, rotation pacing, Time Flows While Empty, the per-site object cap (Max Objects Per Site, 10,000 - a site over it is refused, not loaded) and Idle Site Skip Laps (6).
12 - Telemetry Server-side farming stats export for external tooling.

Local to Your Game

Setting Default What it does
Grid Mode Toggle Key G Toggles grid placement mode while the Cultivator is equipped.
Grid Rows Increase / Decrease Key ] / [ Adjusts grid rows.
Grid Columns Increase / Decrease Key = / - Adjusts grid columns.
Grid Spacing Increase / Decrease Key . / , Adjusts spacing between grid cells.
Grid Confirm Key Middle Mouse Alternate confirm — with grid mode on, the normal place click already plants the whole grid.
Grid Seed Source Key P Opens the picker for which inventory/container the grid draws seeds from.
Show Grid Preview On The green/red ghost of every grid cell while grid mode is on.
Show Radius Ring On The green ground ring shown while a Scarecrow's panel is open.
Scarecrow / Farm Silo Visual Y Offset -1 / 0 Cosmetic model height nudges.
Debug Logging Off Verbose automation logging to the BepInEx console.

📦 Dependencies

⚠️ Requires: BepInEx

Dependency Why
BepInExPack Valheim (denikson) The mod loader (also provides HarmonyX).

📥 Installation

With Gale (recommended): just install LetItGrow — the dependency above is pulled in for you.

Manual install:

  1. Install BepInExPack Valheim.
  2. Drop LetItGrow.dll into BepInEx/plugins.
  3. Plant something.
Created by Wubarrk


License: MIT — use, modify, and redistribute freely, including commercially; just keep the copyright notice. See LICENSE.md for the full text.

Changelog

0.2.9 Latest

Rebuilt against Valheim 1.0.16 and re-verified: static reference check on both the client and the dedicated server, plus a headless 1.0.16 dedicated-server boot. MinimumRequiredVersion stays 0.1.2; nothing on the wire changed.

Changed

  • The duplicate-terrain-compiler warning now describes Valheim 1.0.16's rule (the game keeps whichever compiler holds more terrain operations) and logs both operation counts. The same-ZDO protection is unchanged.
0.2.8

Server-side. Clients on 0.1.2 or later keep joining (MinimumRequiredVersion unchanged); the one client-side change (the grid tool's new occupancy rule) and the new admin command simply need a

0.2.8

Fixed

  • A farm could stack crops without limit, and away tending then leaked the server to death. Two holes lined up. (1) A mature crop does not count as occupying its cell: the Scarecrow's scan tests vanilla's Plant.m_spaceMask layers, and a grown Jotun Puff or Magecap carries its collider on the item layer, which is not among them - so once the sapling grew, its cell read as empty and got another sapling. (2) Replanting never checked the Silos. Harvest has held ripe crops back on full Silos since 0.1.5, but the replant pass kept planting anyway: harvest 0, plant 10, every tick, forever. On the Wonderland server one mushroom farm reached 39,354 standing crops in a 40 m radius (~5,000 cells), and force-loading it for away tending - nine times an hour, every object instantiated and destroyed each visit - cost ~1 GB of memory a visit that Unity never gave back: OOM-killed two nights running with nobody online. Now:
    • Standing crops occupy their cell. Every mature or regrowing crop the scan tracks blocks planting within the assigned crop's own grow radius (the sphere vanilla would test if the crop were on a blocking layer - always less than the grid spacing, so neighbours never block each other). The scan's debug line reports them as under a standing crop. Indexed on a spatial grid, so a huge field costs one bucket lookup per cell, and the scan's own de-duplication is now a set instead of a list (39k crops made the old one ~1.5 billion comparisons a rescan).
    • The replant pass stops when the Silos are full for that crop. A crop whose harvest this tick's harvest pass already left standing for want of room, or that would not fit one more harvest, is not planted; the seed-loop partner is judged on its harvest the same way. Logged as not replanting - the Silo(s) in range are full for 'X' - mature crops are already standing in wait for space, so no more are planted. A ground-drop farm (vacuum off, or no Silo) is untouched.
    • The grid tool follows the same rule (client-side): a cell with a mature crop standing in it shows red and is skipped, where vanilla would happily plant on top of it.
  • The harvest pass no longer localizes the held item's name once per waiting crop - 39k times a tick on that farm.

Added

  • Max Objects Per Site (10 - Automation - Away Tending, default 10,000) - the hard guard. Before force-loading a Scarecrow's zones, the keeper counts every object in them straight off the server's ZDO table (nothing is instantiated to find out). Over the cap, the visit is refused and a warning is logged at most every 10 minutes: NOT tending the Scarecrow at P headless - its zones hold N objects (cap M).... The site stays in the rotation and is re-counted every lap, so it resumes the moment the field is cleared or the cap raised. This is what makes the leak impossible to re-create however a field got big. A normal 3x3-zone site holds a few thousand objects; raise the cap if a legitimately huge base trips it.
  • Max Tracked Crops Per Scarecrow (6 - Automation - Scarecrow, default 6,000) - the backstop behind the occupancy rule: above it a Scarecrow keeps harvesting but refuses to plant more, whatever put the crops there.
  • Idle Site Skip Laps (10 - Automation - Away Tending, default 6) - a farm that can do nothing until a player intervenes (every ripe crop held by full Silos and replanting blocked; or nothing in the ground and no seeds; or its Scarecrow switched off) is skipped for the next 6 rotations (~40 minutes at the default pacing) before being looked at again. A player arriving at the farm ends the skip on the next lap. A field of growing saplings or regrowing bushes is quiet, not idle, and is still visited every lap.
  • letitgrow count <radius> [keep] / letitgrow purge <radius> [keep] - the cleanup path for a field that stacked before this version. Admin only, from the console (F5) or chat (/letitgrow ...) while standing at the farm. count is a dry run: how many crop pickables are within the radius and how many are stacked beyond keep per spot (default 1). purge removes exactly those, working from the server's ZDO table - the zone is never loaded, so it works on the very farm the object cap refuses - in batches of 500 a frame, dropping nothing, and reports what it removed by prefab. It never runs on its own: no config toggle, no automatic trigger. A lone wild mushroom near the farm is never "stacked" and is never touched at keep 1.
  • Telemetry (barrkbot_farming.json): per farm, crops_standing, plants_growing, replant_note, harvest_note, away_tending_note, objects_in_zones, objects_cap, idle_laps_left, away_tending_checked_at. A row now also exists for a site the keeper has evaluated but never tended (reported_at is null until its first tick) - a refused site never ticks, and that is exactly the one BarrkBOT most needs to see. BARRKBOT_CONTRACT.md updated.

29 older entries, full version history & downloads →

Threads

Log in to post
Manual installation instructions
1

Install BepInExPack Valheim

BepInExPack Valheim is required to run mods in Valheim.

Download BepInExPack Valheim 5.4.2351 · View mod page

Check out the mod page for detailed installation instructions.

2

Install LetItGrow

This mod must be installed on both the client and the server.

Download LetItGrow 0.2.9

Extract the ZIP and place the file(s) into the BepInEx/plugins/ folder inside your Valheim game folder.