SuperVikingDepartment-ValheimMassFarm icon

ValheimMassFarm

耕耘机 3x3 密植:一次点击种下 3x3 最大密度作物;按逗号开启自动吸附,下一块无缝贴合上一块。Plants a 3x3 block at max density; comma toggles auto-snap so blocks tile seamlessly.

Last updated 8 hours ago
Total downloads 126
Total rating 0 
Categories Mods
Dependency string SuperVikingDepartment-ValheimMassFarm-1.0.0
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

ValheimMassFarm

给耕耘机(Cultivator)加一个「3x3 密植」模式:一次点击种下 3x3 的九株作物,株距取游戏允许的最大密度。再用 ,(逗号) 打开「自动吸附」,下一块 3x3 就会自动贴合上一块,按最大密度无缝拼成大片农田。

只改变"一次种几株""种在哪",不改任何配方、产量、生长速度或生长规则。

功能

  • 3x3 密植:手持耕耘机、选中任意作物(树苗/种子)后按 V 切换开关(默认关)。开启后,准星处会显示一块 3x3 绿色网格预览,点击一次即种下整块 3x3。
  • 最大密度:株距 = 2 × 该作物的生长半径(游戏判定"空间不足"时的临界距离),即不互相挤压前提下的最密间距。
  • 自动吸附:按 ,(逗号)切换。开启后,下一块 3x3 会自动吸附到已种下的密植格点上,沿 3x3 的边长整数倍平移,与上一块严丝合缝地拼接。连续点击即可不断向外铺田。
  • 网格预览:密植模式下用线框显示即将种下的 3x3 范围,方便对准。
  • 关闭密植模式时完全是原版行为。

操作

按键 作用
V 开/关「3x3 密植」模式(默认关)
,(逗号) 开/关「自动吸附」(默认关)
左键 在密植模式下种下一整块 3x3

用法示例:

  1. 装备耕耘机,选好要种的作物。
  2. V 打开密植模式,对准一块已耕耘的土地,左键 → 种下第一块 3x3。
  3. , 打开自动吸附,把准星移到相邻位置,左键 → 第二块自动贴合第一块。
  4. 反复移动 + 左键,即可无缝铺满整片田。

安装

方式一:r2modman / Thunderstore Mod Manager(推荐)

  • 已在 Thunderstore 上架:在 mod 管理器里搜索 ValheimMassFarm 安装即可(会自动带入 BepInEx 依赖)。
  • 本地包导入:下载本仓库 dist/ 下的 SuperVikingDepartment-ValheimMassFarm-1.0.0.zip,在 r2modman 中 Settings → Import local mod(或 Install from file)选择该 zip。
  • 手动放入 profile:把 ValheimMassFarm.dll 放到 %APPDATA%\r2modmanPlus-local\Valheim\profiles\<你的Profile>\BepInEx\plugins\ 下(可放在任意子文件夹)。 注意:用 r2modman 启动游戏时,生效的是 profile 目录,而不是游戏安装根目录下的 BepInEx

方式二:手动安装(直接启动游戏)

  1. 先安装 BepInExPack for Valheimdenikson-BepInExPack_Valheim)。
  2. ValheimMassFarm.dll 放入游戏根目录的 BepInEx/plugins/
  3. 启动游戏。

配置

首次启动后生成 BepInEx/config/SuperVikingDepartment.ValheimMassFarm.cfg

配置项 默认值 说明
ToggleKey V 开关「3x3 密植」模式的按键。
SnapKey Comma 开关「自动吸附」的按键。
SpacingMultiplier 1 间距系数。间距 = 2 × 生长半径 × 系数。默认 1.0 即最大密度;若个别作物出现「空间不足」可略微调大(如 1.05)。
DebugLogging false 开启后在日志输出补丁细节,用于排查。

按键填 KeyCode 名称(VCommaPeriodBLeftAlt 等)。改完需重启游戏。

会不会影响成就

不会。本 mod 不设置 Game.isModded、不触碰人物的 m_usedCheats、不给物品打作弊标记。放置完全走游戏自身的 PlacePiece 管线(含正常扣资源、扣体力、扣耐久、技能成长),因此不会禁用成就。若你同时使用控制台作弊命令或其他主动标记 mod 的插件,则属于那些功能自身的影响。

兼容性

  • 游戏版本:Unity 6 时期的 Valheim(使用新版 Input System)。
  • 依赖:BepInEx 5.x + HarmonyX。
  • 与「一键装满」类 mod(如 ValheimQuickFill)互不冲突。
  • 与 FarmGrid 等对齐类 mod 功能重叠:两者都改 Player.UpdatePlacementGhost 相关流程,建议只启用其一。

工作原理(简述)

  • 中心那一株仍由原版 Player.TryPlacePiece 放置,因此校验、扣费、网络同步全部沿用原版。
  • 补丁只在原版放置成功之后,补上周围 8 株,并逐株按原版规则校验地块(耕地/生物群系/领地/建造禁区)、扣资源与体力、扣耐久、加技能。
  • 每株间距取 2 × Plant.m_growRadius,与游戏 Plant.HaveGrowSpace 的判定一致,故为最大密度。

从源码构建

  1. 安装 .NET SDK(目标 netstandard2.1)与 Node.js(打包脚本用)。

  2. 把本仓库克隆到 Valheim 安装目录下(默认假定 .. 就是游戏根目录)。

  3. 游戏根目录需已安装 BepInEx(BepInEx/core/BepInEx.dllBepInEx/core/0Harmony.dll)。

  4. 构建并生成发布包:

    ./build-package.sh 你的ThunderstoreTeam名
    # 产物:dist/你的Team名-ValheimMassFarm-版本号.zip
    

仓库不在游戏目录下时,用属性覆盖路径:

dotnet build -c Release -p:ValheimDir="C:\Steam\steamapps\common\Valheim\"

上传到 Thunderstore

  1. 运行 ./build-package.sh SuperVikingDepartment 生成 dist/SuperVikingDepartment-ValheimMassFarm-1.0.0.zip
  2. 打开 https://thunderstore.io/c/valheim/create/,登录后选择该 zip 上传。
  3. 若使用 r2modman 的团队账号,也可在其「Publish」流程中选择该 zip。

zip 内容(Thunderstore 要求):

manifest.json          包元数据
README.md              商店页正文
CHANGELOG.md           更新日志
icon.png               256x256 图标
LICENSE                许可证
plugins/ValheimMassFarm.dll   ← 会自动路由到 BepInEx/plugins/

仓库结构:

MassFarmPlugin.cs        插件源码
ValheimMassFarm.csproj   项目文件
manifest.json            Thunderstore 元数据
README.md / CHANGELOG.md / LICENSE
icon.png                 Thunderstore 图标(256x256)
build-package.sh         一键构建 + 打包
tools/zip.js             无依赖 ZIP 打包器(保证 zip 内为正斜杠路径)
tools/make-icon.js       重新生成 icon.png

已知问题 / 说明

  • 修改按键或开关插件后需要重启游戏,无法热插拔。
  • 用 r2modman 启动时,插件与配置都在 profile 目录下,游戏安装根目录的 BepInEx 不参与加载。
  • 自动吸附的格点方向取自第一块 3x3 的朝向(滚动滚轮可旋转该朝向)。
  • Steam 的"验证游戏文件完整性"可能删除根目录的 winhttp.dll,导致 mod 失效;此时重装 BepInEx 即可。
  • 若按键无效,把 BepInEx/LogOutput.log 发到问题区。加载成功会有 ValheimMassFarm loaded 一行。

来源与许可

MIT License,详见仓库内 LICENSE。欢迎提 issue / PR。