Moopfam-FarmGridRemake icon

FarmGridRemake

FarmGridRemake updates the original FarmGrid concept for current Valheim versions. Allows for all plants planted with the cultivator to automatically be snapped and placed into a grid in which they will have enough space to grow.

Last updated 2 weeks ago
Total downloads 7981
Total rating 1 
Categories Mods Tweaks Client-side Building AI Generated
Dependency string Moopfam-FarmGridRemake-1.1.3
Dependants 0 other packages depend on this package

This mod requires the following mods to function

denikson-BepInExPack_Valheim-5.4.2350 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.2350

README

FarmGridRemake

FarmGridRemake updates the original FarmGrid concept for current Valheim versions. It snaps cultivator placement locally to nearby plants, automatically recognizes cultivator-added plant prefabs, can temporarily or permanently disable the grid, supports cultivator deconstruction, and can optionally remove plant growth restrictions.

Features

  • Snaps cultivator planting positions locally to nearby recognized plants.
  • Hold Left Shift to use the red secondary half-cell grid. Red positions are available on local X, local Y, and diagonal directions between the green grid positions.
  • With AllowPlantOverlap = true and removeGrowthRestrictions = true, green and Shift-red snapping can use occupied crop positions, including snapping directly on top of the selected anchor.
  • Rotating a plant rotates the grids around the active snap point without dragging the plant around the anchor.
  • Planting a crop no longer re-anchors, rotates, or recentres the grid just because the newly planted crop or replacement placement ghost appeared.
  • Any recognized cultivator plant can be used as the local snap anchor, including different plant types, when ConnectToOtherPlants = true.
  • Set ConnectToOtherPlants = false to restrict snapping to the same plant type as the plant currently being placed.
  • Uses the real Valheim Plant.m_growRadius when available.
  • Automatically discovers plant prefabs registered in the live cultivator PieceTable.
  • Optional custom grid size.
  • Separate EnableGrid master switch.
  • Hold a configurable key to temporarily disable snapping and grid lines.
  • Grid visuals and snapping are client-side.
  • Optional AllowPlantOverlap lets multiple plants occupy the exact same position.
  • Plant overlap only works when unrestricted planting is enabled with removeGrowthRestrictions = true.
  • Multiplayer unrestricted growth requires the host/server and clients to run the plugin.

Cultivator Plant Detection

FarmGridRemake reads the cultivator's current PieceTable and caches recognized plant prefab names and layers. Plant components use their actual growth radius. Recognized cultivator entries without a Plant component use a safe fallback spacing unless overridden in customPlants.

You can override a prefab's spacing with:

customPlants = PrefabName:0.5, AnotherPrefab:1.0

Grid Size

Automatic spacing is used by default.

[Grid Size]
useCustomGridSize = false
customGridSize = 1.0

When useCustomGridSize = true, every recognized plant uses customGridSize instead of calculated growth spacing. The red secondary grid uses the same cell size, with its half-cell positions exactly customGridSize / 2 from the green grid on each active local axis.

Grid Toggle

[Grid Toggle]
EnableGrid = true
DisableHoldGridKey = LeftAlt
SecondaryGridKey = LeftShift
holdToDisableGrid = true
ConnectToOtherPlants = true
  • EnableGrid = false disables snapping and grid lines completely.
  • DisableHoldGridKey is the key used for the temporary bypass.
  • holdToDisableGrid = true enables the temporary hold bypass.
  • The default hold-to-disable key is LeftAlt.
  • The default secondary-grid key is Left Shift.
  • While Shift is held, FarmGrid shows the red X-half, Y-half, and diagonal half-cell phases so red positions are visible in every direction between the green grid lines.
  • Red snapping uses the nearest immediate half-cell position around the selected plant anchor. Occupied red targets and the exact anchor position are only allowed when both AllowPlantOverlap = true and removeGrowthRestrictions = true.
  • ConnectToOtherPlants = true allows any recognized cultivator plant type to act as the local anchor.
  • ConnectToOtherPlants = false restricts local anchors to the same plant type as the plant currently being placed.

Disabling the grid does not disable cultivator deconstruction or unrestricted growth.

Plant Without Restrictions

[Plant Growth]
removeGrowthRestrictions = true
AllowPlantOverlap = true

removeGrowthRestrictions is the toggle for planting without normal Valheim plant restrictions. When enabled, FarmGridRemake bypasses the supported Plant checks, including:

  • biome/environment restrictions;
  • cultivated-ground requirements;
  • grow-space checks;
  • the main CanGrow restriction gate.

It also prevents supported planted objects from being destroyed solely because those growth checks fail.

AllowPlantOverlap = true is enabled by default and allows multiple recognized plants to snap into the exact same position and allows occupied green/red snap targets. This setting is only active when removeGrowthRestrictions = true. If unrestricted planting is disabled, FarmGrid ignores AllowPlantOverlap and keeps overlap prevention enabled.

This affects growth rules only. It does not make plants float in midair or bypass unrelated physical placement rules.

Plant-to-plant snapping and rotated grids

FarmGridRemake does not use a universal/world grid. It only snaps when a recognized plant is nearby. The nearest valid recognized plant becomes the local anchor, and FarmGrid offers only the eight immediate green neighbour positions around that plant.

Holding Left Shift switches to the immediate red half-cell positions around the same anchor. Cardinal red positions sit halfway on local X or local Y, and diagonal red positions sit halfway on both axes. The red visual grid displays all three interleaved half-cell phases at once, so the available red alignment is visible in every direction. Occupied red targets and exact on-top anchor snapping are only enabled when both AllowPlantOverlap = true and removeGrowthRestrictions = true.

The current local anchor and grid orientation are retained after a successful placement while the cursor remains on the same cell. This prevents the newly planted crop from instantly becoming the anchor and stops the visible grid from rotating or jumping after every click. Move the placement cursor toward another cell/plant and normal nearest-anchor selection resumes, so newly placed plants can still be used to extend a row or layout intentionally. With ConnectToOtherPlants = true, different recognized cultivator plant types can anchor each other. With it disabled, only matching plant types connect.

Automatic spacing is based on the plant currently being placed, while customGridSize overrides both green and red spacing. Green and red snapping rotate with the placement angle, and plants on modded physics layers or added by Plant Everything can still be used as local anchors.

Configuration

Generated config:

BepInEx/config/Moopfam.FarmGridRemake.cfg

[FarmGrid]
plantSpacing = 0.01
farmGridSections = 2
farmGridYOffset = 0.2
farmGridColor = 0, 1, 0, 0.35
secondaryGridColor = 1, 0, 0, 0.35
# 0 follows the plant placement rotation. 1-360 locks the grid to that world rotation.
farmGridFixedRotation = 0
plantObjectMasks = piece,piece_nonsolid,item
customPlants =

[Grid Size]
useCustomGridSize = false
customGridSize = 1.0

[Grid Toggle]
EnableGrid = true
DisableHoldGridKey = LeftAlt
SecondaryGridKey = LeftShift
holdToDisableGrid = true
ConnectToOtherPlants = true

[Plant Growth]
removeGrowthRestrictions = true
AllowPlantOverlap = true

Single Player and Multiplayer

Single player

Install FarmGridRemake on the client. Unrestricted growth works locally when removeGrowthRestrictions = true.

Hosted multiplayer

For consistent unrestricted growth, install FarmGridRemake on the host and all clients.

Dedicated server

For consistent unrestricted growth, install FarmGridRemake on the dedicated server and all clients.

Grid snapping, grid lines, and the hold bypass are visual/client-side features. The server requirement applies to unrestricted growth.

Installation

Client

  1. Install BepInExPack for Valheim.
  2. Place FarmGridRemake.dll in Valheim/BepInEx/plugins/.
  3. Start Valheim.

Dedicated server

  1. Install BepInExPack on the server.
  2. Place FarmGridRemake.dll in the server's BepInEx/plugins/.
  3. Enable removeGrowthRestrictions in the server config if unrestricted growth is wanted.
  4. Install the plugin on connecting clients for consistent multiplayer growth behavior.

Credits / Important Note

I was unaware that Advize already had his own version of this type of planting/grid functionality when I made FarmGridRemake.

If you are looking for a maintained planting/grid solution, I recommend downloading Advize's Plant Easily instead:

https://www.nexusmods.com/valheim/mods/2350

Please support the original authors and their work.

Version

1.1.3

Changelog

1.1.3

  • Fixed the grid rotating, recentering, or switching anchors immediately after each plant is placed.
  • The freshly planted crop no longer forces a new grid anchor or orientation.
  • Preserved manual rotation, intentional anchor changes, the Left Shift red midpoint grid, cross-plant linking, and optional plant overlap.

1.1.2

  • Added a configurable hold key to temporarily disable FarmGrid snapping and grid lines, default LeftAlt. (diffByDefault)
  • Changed the default FarmGrid color to green.
  • Added cross-plant grid linking so all recognized cultivator plants can connect to the same grid alignment.
  • Added a configurable secondary grid key, default LeftShift, that shows a red interleaved grid between the green grid positions.
  • Added optional AllowPlantOverlap for stacking multiple plants in the same position when unrestricted planting is enabled.

1.1.1

  • Added Plant Everything support.

1.1

  • Fixed package metadata.

1.0

  • Initial FarmGridRemake release for current Valheim versions.