从容器中制作

创作者: SuperVikingDepartment
已更新:2026-09-12 07:07:29
23KB

关于此 MOD

制作台直接使用附近箱子里的材料:工作台/熔炉/切石机等制作类建筑与锤子建造,都能自动从周围容器取料并扣料,无需把材料背在身上。使用附近箱子中的资源进行制作和建造。

从容器中制作

让制作台直接使用附近箱子里的材料:打开工作台、熔炉、切石机、工匠台、黑锻炉、铁锅等任意制作类建筑时,只要箱子在范围内,就无需先把材料搬到身上;拿锤子建造时也一样。扣料顺序为“先背包、后箱子”,材料数量完全按原版计算。

只改变“从哪里获取材料”,不改任何配方、产量或材料数量。

功能

  • 制作台取料制作、升级任意物品时,自动将玩家周围(以及制作台周围)容器中的同种材料计入“可用材料”。材料足够即可点击制作。
  • 锤子建造取料放置建筑时,身上的材料不够会自动从附近箱子扣除。
  • 建造按物体位置判定制作台:手持锤子放置时,判断"是否在对应制作台范围内"以物体(幽灵)所在位置为准;只要物体落在任意制作台范围内即可建造,即使人站在台子范围外。制作台范围重叠时两个都会检测,其范围内箱子里的材料都能用上。
  • 不再误报材料不足:建造 UI / 制作面板里,材料其实在箱子里时不再播放红色闪烁动画。
  • 智能扣料:永远优先扣除玩家背包中的物品,不足的部分再从箱子中补扣,且不会多扣。
  • 多人安全:默认只使用你有权访问的容器,私人箱子(仅建造者可用)不会被他人误用。
  • 范围可调:默认以玩家为中心 10 米,并额外以当前制作台、以及“物体所处制作台”为中心按其建造半径搜索;把箱子放在工作台旁边即可。

兼容范围

  • 覆盖所有 制作站工作台、锻造台(熔炉)、切石机、工匠台、黑锻炉、铁锅,以及各类扩展(StationExtension)提升等级后的范围。
  • 锤子 / 锄头等建造工具的放置同样生效。
  • 不覆盖冶炼炉 / 炭窑的「放矿、放燃料」操作——那是另一套交互(把矿石装进熔炉),本 mod 不涉及。
  • 不覆盖「只取一种材料」类特殊配方(该类配方需要材料在背包中才能判定与消耗,保持原版行为)。

操作

无需按键,装上即生效。打开制作台或手持锤子建造时自动从附近箱子取料。

安装

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

  • 在模组管理器里搜索 从容器中制作 安装即可(会自动带入 BepInEx 依赖)。
  • 本地包导入:下载 dist/SuperVikingDepartment-ValheimCraftFromContainers-1.0.0.zip,在 r2modman 中 设置 → 导入本地模组(或 从文件安装)选择该 zip。
  • 手动放入 profile:把 瓦尔海姆容器制作.dll 放到 %APPDATA%\r2modmanPlus-local\Valheim\profiles\<你的配置>\BepInEx\plugins\ 下(可放在任意子文件夹)。

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

  1. 先安装 Valheim的BepInExPack(denikson-BepInExPack_Valheim)。
  2. 把 从容器制作.dll 放入游戏根目录的 BepInEx/plugins/。
  3. 启动游戏。

配置

首次启动后生成 BepInEx/配置/SuperVikingDepartment.ValheimCraftFromContainers.cfg:

配置项 默认值 说明
已启用 真 总开关。关闭后完全恢复原版(材料必须带在身上)。
范围 10 以玩家为中心搜索容器的半径(米)。
使用车站建造范围 真 是否额外使用制作台自身的建造半径(随等级/扩展变大)作为搜索范围。
需要访问权限 真 只使用你有权访问的容器;私人箱子仅其建造者可用。
调试日志 假 输出补丁细节日志,用于排查。

改完需重启游戏。

会不会影响成就

不会。本 mod 不设置 游戏是否已安装模组不触碰人物的 已使用作弊、不给物品打作弊标记。材料的判定与扣除完全走游戏自身的 满足需求 / 消耗资源 管线,只是把"附近容器"也纳入统计。若你同时使用控制台作弊命令或其他主动标记 mod 的插件,则属于那些功能自身的影响。

工作原理(简述)

  • 需求判定给 玩家.拥有需求物品(配方)和 玩家.拥有需求(部件, 模式)(建造)挂后置补丁。当原版判定“材料不足”时,把附近容器的库存也算进来;满足则放行。
  • 建造的制作台判定:碎片 需要制作台时,判断位置改为“玩家位置或物体位置任一命中”,从而支持“人站在台外、把物体放进台内”;范围内已有建造站 本身会扫过全部同类制作台,所以范围重叠时两个都会命中。
  • 建造界面文本:背包界面.设置需求 后置补丁在"背包 + 容器"够数时把材料数量文本恢复为白色,不再播放红色闪烁;设置棋子信息 后置补丁在"物体位置"命中制作台时恢复制作台指示的颜色与区域标记。
  • 实际扣料给 消耗资源 挂前置加后置补丁。前置记录“玩家背包缺多少”,原版优先从背包扣除(保持原版手感),后置再把剩余缺口从附近容器里扣除。
  • 容器查找每 5 秒扫描一次场景中的容器并缓存,同帧内的多次查询直接复用结果,避免性能开销。
  • 逐个挂载:补丁逐个手动挂载(而非 全部修补),某个目标方法若因游戏版本变动而改名,只会跳过它并记录日志,不会导致其余补丁一起失效。
  • 多人同步改动容器前若容器归其他客户端所有,先 认领所有权,保证扣料会正确同步。

因此材料数量与原版严格一致:不会多扣、不会凭空产生,也不会绕过制作台等级、屋顶、火焰等原版限制。

从源码构建

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

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

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

  4. 构建并生成发布包:

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

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

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

上传到 Thunderstore

  1. 运行 ./build-package.sh SuperVikingDepartment 生成 dist/SuperVikingDepartment-ValheimCraftFromContainers-1.0.0.zip。
  2. 打开 https://thunderstore.io/c/valheim/create/,登录后选择该 zip 上传。

zip 内容(Thunderstore 要求):

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

已知问题 / 说明

  • 修改配置后需要重启游戏,无法热插拔。
  • 用 r2modman 启动时,插件与配置都在 profile 目录下,游戏安装根目录的 BepInEx 不参与加载。
  • 箱子在范围内但隔着墙也同样生效(按距离判定,不做视线检测),与原版制作台“看得到看不到都算”的判定一致。
  • 若按键/功能无效,把 BepInEx/LogOutput.log 发到问题区。加载成功会有 瓦尔海姆从容器中制作已加载 一行,并附带各补丁的前缀/后缀计数。

来源与许可

MIT许可证,详见仓库内 许可证。欢迎提 issue / PR。

Valheim: 英灵神殿 的热门 MOD

探索适用于 Valheim: 英灵神殿 的最佳MOD,带来新功能、升级画面,以及令人兴奋的方式来改变您的游戏体验。

使用 Xmod 解锁 Valheim: 英灵神殿 的全部潜力 — 今天就探索这些顶级 MOD!