OhMyGrid
Plant crops in donut and other non-square patterns. Cycle center modes, auto-snap to existing plants for concentric placement, see cost and yield live, and mass-pick/refuel with Shift+E.
模組介紹 作者原文
OhMyGrid
Plant crops in donut and other non-square patterns in Valheim. Lay down a
big onion ring, drop a smaller carrot donut concentric inside it, and stop
fighting the rectangular grid. Also: mass-pick / mass-refuel with Shift+E.
Install: page
(direct download
OhMyGrid-1.0.2.zip).
Use r2modman or Mod Manager to drop it into a Valheim profile.
Features
- Donut planting. While holding the cultivator with a seed selected, a
ring of ghost previews shows around your chosen center. Left-click plants
the whole donut in one go.
- Per-point validity. Each ghost turns red when its spot is invalid —
blocked by rocks/plants, out of reach, or on uncultivated soil. Green ones
are the only ones that get planted, charged, and counted.
- Cost + yield overlay centered at the top of the screen: shows the
current plant, valid/total point count, total seed cost, and expected yield
— all live as you tune the radii.
- Four center modes, cycled with F7 (top-left HUD toast on change):
- Player — donut follows you.
- Fixed — pins the donut at your current spot. Walk away, donut stays.
- Cursor — donut follows where the cultivator ghost aims.
- CursorSnap — like Cursor, but the center auto-snaps to the centroid
of nearby existing plants. Perfect for concentric placement.
- Geometry toggle. F6 cycles Off → Donut → Off. In Off, the mod
stays out of the way and you place one plant per click like vanilla.
- Shift+E mass-interact (hover-scoped, same-type only):
- Hover a Pickable → harvest every Pickable of the same item type in
range. Carrots don't sweep nearby strawberries.
- Hover a Fireplace → fuel every Fireplace in range.
- Hover a Smelter / Charcoal Kiln → feed every smelter in range.
- Persists across sessions. Center mode, geometry mode, radii, hotkeys,
and toggles are all stored under cgaggino.OhMyGrid.cfg.
Default hotkeys
All hotkeys are configurable under [Hotkeys] in the config file.
| Key | Action |
|---|---|
| F6 | Cycle geometry: Off ↔ Donut |
| F7 | Cycle center mode: Player → Fixed → Cursor → CursorSnap → Player |
| F8 | Dump every donut grid point to the BepInEx log |
| ] | Outer radius +1 spacing step |
| [ | Outer radius −1 spacing step |
| Shift+] | Inner radius +1 spacing step |
| Shift+[ | Inner radius −1 spacing step |
| Left-click | Plant the entire donut (when holding a Plant ghost) |
| Shift+E | Mass-interact with the hovered object's type in range |
Defaults: InnerRadius=2m, OuterRadius=6m, Spacing=1m, AutoSnapRadius=12m,
MassInteract.Radius=5m. All editable in the cfg file (or via BepInEx
ConfigurationManager if you have it installed).
Concentric donut workflow
- Stand inside an existing donut of one crop (or anywhere if it's the first).
- Tap F7 until the HUD shows Mode: CursorSnap.
- Aim near the center — the donut snaps to the centroid of the existing
plants automatically.
- Bring [ until the outer radius matches the inside of the previous donut.
- Swap seed type and left-click. The new ring lands concentric to the old one.
Building from source
You need a local Valheim install with BepInEx (the build references
assembly_valheim.dll and friends; they're not redistributable):
$env:VALHEIM_INSTALL = "C:\Program Files (x86)\Steam\steamapps\common\Valheim"
dotnet restore
dotnet build -c Release
The output is bin/Release/OhMyGrid.dll. Drop it in your r2modman Mod Manager profile under BepInEx/plugins.
Known limitations
- Centroid snap is biased on asymmetric clusters. If the existing plants
are a half-donut or irregular, the snapped center won't be the geometric
center. A least-squares circle fit is on the roadmap.
- Plant.Awake NRE per clone. The placement ghost has no ZNetView and
Plant.Awake dereferences it unconditionally. The exception is caught by
Unity and the visual still renders correctly; HaveGrowSpace is validated
against the source ghost (not the clones), so behavior is correct, but the
log gets one NRE entry per donut clone created.
-
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。 多人連線時,主機與所有用戶端需要安裝一致的模組。
下面這些內容需要先安裝,否則該模組不會生效: