Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
RunicAgriculture
Bounded planting patterns, a live keyboard/controller control bar, exact-Pickable area harvest, per-position validation, and confirmed replant offers.
| Date uploaded | 14 hours ago |
| Version | 1.0.0 |
| Download link | Chazman-RunicAgriculture-1.0.0.zip |
| Downloads | 25 |
| Dependency string | Chazman-RunicAgriculture-1.0.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2333README
Runic Agriculture
Runic Agriculture adds bounded cultivator planting patterns, exact-Pickable area harvest, confirmed replant previews, keyboard/controller controls, and contextual native build hints.
Installation
Install RunicAgriculture.dll in BepInEx/plugins on each client that wants the features.
BepInEx is the only package dependency. Runic Core, Persistence, Permissions, Transactions, and
the other Runic gameplay mods are not required.
The mod is client-owned and uses Valheim's native mutation paths:
- planting calls the local owning player's normal
Player.PlacePiecepath, consumes each cell's normal resources from personal inventory first and then eligible nearby chests, and charges one normal stamina/cultivator action for the one accepted batch click; - every position is validated again immediately before placement;
- area harvest checks current ward access and invokes the exact loaded
Pickableobjects through their normal interaction path; - the directly aimed Pickable remains first in the bounded candidate order;
- replant offers exist only in memory and are consumed by an explicit confirmation.
There are no operation journals, recovery scans, account quarantine states, remote Agriculture protocols, or suite-wide inventory locks. A failed or interrupted batch releases Agriculture's small process-local exclusion scope and cannot block another mod's inventory or tools.
Planting patterns
Select a cultivator crop to display a bounded preview. The ordinary/default shape is the basic rectangular Grid. Existing 1.0.0 configurations receive a one-time reset to Grid so a previously saved shaped pattern cannot make the row/column footprint look incomplete; later deliberate shape selections are preserved. Supported shapes are Row, Grid, Circle, Star, Right Triangle, Half Circle, and Trapezoid. Rows, columns, spacing, orientation, mirror state, and trapezoid taper are configurable. Rows and columns independently adjust from 1 upward. The absolute safety boundary is 1,600 live cells, so every valid configured footprint through a 40×40 Grid is previewed without a separate carried-seed cap. Rows and columns define the requested footprint; available resources only decide which otherwise-valid cells can plant. Grid and Row shortfalls fill from the player's right toward the left (each column front-to-back). Circle, Star, Right Triangle, Half Circle, and Trapezoid shortfalls fill from the centre outward. Invalid early cells are skipped before resources are allocated, so later valid cells backfill them.
Confirmation plants only positions allowed by current terrain, slope, biome, cultivation, crop spacing, distance, wards, no-build zones, players, and water. One batch must have enough stamina and cultivator durability to start, while every planted position still consumes its own normal resource requirements unless free-build or no-cost mode is active. The invalid-position and resource-shortfall policies can either block the batch or process a predictable valid subset.
Green ghosts are ready. Red ghosts have valid ground but lack enough combined planting resources
for the requested configuration. Muted amber ghosts failed a terrain, spacing, access, biome, or
crop rule. There are no blue resource ghosts. Current stamina and tool durability do not recolor otherwise valid ghosts; the
compact HUD reports those as a single batch-action problem. Having enough
seeds does not override spacing, cultivation, slope, biome, range, water, ward, or obstruction
rules. The bottom native hint panel reports up to three exact amber-cell causes, such as
7 too close, 2 too steep, alongside the ground-valid count. It also names the active pattern,
rows, columns, combined-resource readiness, and hard safety cap so a Half Circle cannot be
mistaken for an incomplete Grid. Agriculture automatically raises too-tight spacing to the next safe tenth of a
meter for the selected crop, avoiding the 0.5 m boundary that can touch another plant collider.
Bare mouse wheel rotates the complete ground-plane pattern by Valheim's current build rotation increment. The spacing editor clamps at the selected crop's native minimum distance, so scrolling cannot bunch previews closer than Valheim permits.
Planting resources
Normal planting uses the player's inventory first, then loaded nearby chests in deterministic
distance/ZDO order. Planting Resources/NearbyChestRangeMeters is configurable from 1–30 metres
and defaults to 30. A chest is eligible only while it is static, unused, accessible to the local
player, outside any denying ward, locally owned through its exact native network endpoint, and
byte-for-byte synchronized with that endpoint. Agriculture never claims chest ownership and sends
no custom inventory RPC. Every requirement on the selected cultivator piece is budgeted, including
pieces that require more than one resource type. Free-build and no-cost modes remain resource-free.
Area harvest and replant
Area harvest works on every ready, permitted Valheim Pickable, whether or not it has a matching
plant prefab. Harvest/OfferConfirmedReplant controls only the optional replant offer. The
cultivator does not need to be equipped while harvesting. A replant offer appears only when that
setting is enabled, the harvested Pickable maps to a registered grown Plant, and the player has
planting access at that location. Unmapped wild Pickables are harvested without a replant warning.
An accepted area harvest considers only loaded objects with the exact same registered prefab name
and hash. Picked, unavailable, tar-blocked, out-of-radius, or ward-denied objects are skipped.
Destructive PickableItem fixtures are excluded. Harvested positions become a bounded in-memory
offer; select the matching cultivator crop afterward and confirm the offer through the native
planting path.
Default controls
| Action | Keyboard/mouse |
|---|---|
| Plant visible pattern | Left Click |
| Cycle pattern | LeftAlt + Build Menu or LeftAlt + O |
| Select Row through Trapezoid | Numpad 1 through 7 |
| Rotate complete pattern | Mouse Wheel |
| Change rows | LeftAlt + Mouse Wheel |
| Change columns | LeftShift + Mouse Wheel |
| Change spacing | LeftAlt + LeftShift + Mouse Wheel |
| Mirror/switch side | LeftAlt + LeftShift + L |
| Adjust left taper | LeftAlt + LeftShift + [ / ] |
| Adjust right taper | LeftAlt + LeftShift + ; / ' |
| Area harvest | LeftAlt + E |
| Confirm replant offer | LeftAlt + T |
Set Rows and Columns to 1×1 when only one crop should be planted. Controller defaults use Controller Alt + Place to confirm, Controller Alt + Left Stick Click to cycle, and Controller Alt + Use for area harvest. During an active crop preview, unmodified D-pad Up/Down chooses an editable setting and Left/Right changes it. All bindings remain configurable and follow Valheim's active controller layout and rebinding.
Plain Build Menu and Ctrl+wheel remain available to Valheim and other mods; bare wheel is owned by
Agriculture only while its cultivator pattern preview is active. Agriculture consumes only an
accepted gesture in its active context. Disable
Status/ShowContextualControls to restore the ordinary bottom hints and disable the contextual
wheel, numpad, Alt+Build Menu, and D-pad editor routes; explicit configured shortcuts remain.
When enabled, Agriculture leases Valheim's own build-hint rows at the bottom of the screen. The
compact native panel shows Rows −/+ and Columns −/+ as separate controls, the current Grid
dimensions, rotation, spacing, readiness, and the direct Numpad 2 Grid choice. Its configured scale
is applied relative to the game's native scale and restored with the original text when the crop
preview closes; Agriculture does not draw a separate black menu.
Compatibility
Disabling the mod clears its previews and leaves vanilla agriculture unchanged. It does not own crop growth time, yield, biome rules, seed generation, inventory topology, crafting material sourcing, or unattended automation. Runtime member checks target Valheim 0.221.12 and fail closed if required signatures are unavailable.
See TESTING.md for the focused verification command and multiplayer acceptance expectations.
CHANGELOG
Changelog
1.0.0
- Kept bounded area harvest available for every ready, permitted Valheim Pickable, including wild Pickables without crop mappings. Only the optional replant offer now requires the replant setting, an exact grown Plant mapping, and planting authorization; unmapped harvests no longer show a misleading missing-plant warning. The cultivator is not required during harvest.
- Made rows/columns and the generated shape the requested planting footprint through the fixed
1,600-cell safety boundary; removed the live
MaximumPreviewcontrol that could silently cut a valid 40×40 Grid down to a smaller saved limit. - Added configurable, bounded planting-resource sourcing from personal inventory first and then eligible nearby chests. Chest mutation is exact-endpoint, native-owner-local, access/ward checked, synchronized, deterministic, rollback-protected, and never claims ownership or sends a custom RPC.
- Changed limited-resource fill order to centre-out for shaped patterns and right-to-left for Grid and Row. Red now means resource shortage only; invalid terrain/spacing/access ghosts are muted amber and the former blue shortage state is gone.
- Made the rectangular Grid the obvious/default layout and added a one-time reset from a saved legacy shape; rows and columns now appear as separate decrement/increment controls in Valheim's compact scaled bottom build-hint HUD.
- Separated ground validity from transient stamina/cultivator durability so valid ghosts are no longer recolored by the immediate action budget. The HUD lists up to three amber blocked causes.
- Changed a confirmed left-click batch to consume one stamina/cultivator action while retaining the normal per-cell resource cost, allowing all selected valid available resources to plant in one batch.
- Validate the complete configured footprint before applying the combined resource limit. Invalid early cells now backfill from later valid cells without changing their blocked reason.
- Kept the existing bounded planting patterns, live preview controls, controller editor, contextual control bar, exact-Pickable area harvest, and confirmed replant offers.
- Removed Runic Core, Persistence, and Transactions project, plugin, package, registry, capability, protocol, and exact-version dependencies.
- Removed the durable plant/replant composite operation, client inventory reservations, journals, reconciliation, quarantine, server parity dispatch, owner-command ledger, and world-object transaction provider.
- Routed planting and replanting through the local owning player's native
Player.PlacePiecepath with immediate per-position validation and explicit batch costs. - Routed area harvest through current ward checks and the exact loaded Pickable's native interaction path; no Agriculture-owned networking or persistent request state remains.
- Replaced the suite-wide mutation lease with a small Agriculture-owned in-memory batch scope that always releases on return, exception, or plugin shutdown.
- Reduced the Thunderstore manifest to BepInEx only and added focused independence/native-path tests.
- Changed cultivator pattern planting to ordinary left-click and reserved 1×1 rows/columns for a single plant; migrated the former Alt+P binding to Mouse0.
- Made bare wheel rotate the whole ground-plane pattern, while Alt/Shift wheel continue to edit rows/columns and Alt+Shift wheel edits spacing.
- Clamped spacing to the selected crop's native minimum and kept planting attempts bounded by the exact combined personal-and-nearby resource budget.
- Replaced the separate black IMGUI control bar with Valheim's native bottom build-hint rows and restored the original hints when the cultivator preview closes.
- Added dominant blocked-preview explanations, rounded crop spacing upward to a collider-safe tenth,
and stopped successful commit checks from replacing the real planting stop reason with a raw
agriculture.validcode.
0.1.1
- Added controller-accessible confirm, pattern-cycle, and area-harvest controls through Valheim's input layer, with contextual input suppression and live binding validation.
- Added status guidance, deterministic area-harvest targeting, preview-pool recovery, and explicit feedback for invalid previews, costs, and changed selections.
0.1.0
- Added bounded row, grid, and circle planting previews with per-position validation.
- Added explicit planting confirmation, modest same-crop mature area harvest, and confirmed replant previews with normal Valheim costs.