You are viewing a potentially older version of this package. View all versions.
Chazman-RunicAgriculture-1.0.0 icon

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-5.4.2333 icon
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.2333

README

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.PlacePiece path, 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 Pickable objects 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 MaximumPreview control 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.PlacePiece path 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.valid code.

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.