瓦勒海姆宝箱整理

创作者: SuperVikingDepartment
已更新:2026-09-12 06:35:34
21KB

关于此 MOD

箱子一键整理:界面内新增「整理」按钮(在物品堆叠按钮左侧),合并零散堆叠并按类别/名称重新排布。为容器界面在“全部堆叠”旁新增一个“整理”按钮。

英灵神殿箱子整理

给箱子加一个「一键整理」:打开任意容器(箱子、推车等),点击容器界面里 「整理」按钮位于「物品堆叠」按钮左侧, (或按快捷键 R),箱内物品立刻被 合并零散堆叠 并 按类别 / 名称重新排布,去掉空格,整整齐齐。

只重新摆放箱子里已有的物品,不移动、不丢弃、不改动任何物品的属性或数量(总数守恒)。

功能

  • 界面按钮在容器界面的原版「物品堆叠」按钮左边,自动添加一个「整理」按钮(克隆原按钮制作,外观、字体、过渡动画与游戏一致)。中文界面显示「整理」,其他语言显示「Sort」,也可在配置中自定义。
  • 快捷键打开容器后按 R(可配置),与按钮功能相同。
  • 合并堆叠同种物品的零散堆叠会自动补满(例如 3 个 50/50 的木炭合成 1 个 50 + 1 个 100)。 只合并「名称 + 品质 + 世界等级 + 变体 + 自定义数据」完全一致的物品。
  • 按类别排序:默认顺序为 材料 → 消耗品 → 弹药 → 武器 → 盾牌 → 护甲 → 工具/杂项,同类再按名称、 品质从高到低排列。
  • 去掉空格整理后物品从左上角开始逐行紧凑排列,不再有空档。
  • 对箱子、推车等所有使用游戏 容器 组件的容器都有效。
  • 关闭 / 不点击时完全是原版行为,不影响任何原版操作。

操作

按键 / 按钮 作用
整理按钮 容器界面中、原版「物品堆叠」按钮左侧,点击即整理当前箱子
R 整理当前打开的箱子(默认快捷键,可在配置中修改)

用法:走到箱子前按 E 打开 → 点击「整理」按钮(或按 R)→ 箱子自动整理好 → 按 Esc 关闭。整理时若手里正拖着物品,会提示先放下,避免误操作。

安装

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

  • 已在 Thunderstore 上架:在 mod 管理器里搜索 瓦尔海姆宝箱整理 安装即可(会自动带入 BepInEx 依赖)。
  • 本地包导入:下载本仓库 dist/ 下 SuperVikingDepartment-ValheimChestSort-1.0.0.zip,在 r2modman 中 设置 → 导入本地模组(或 从文件安装)选择该 zip。

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

  1. 先安装 Valheim 的 BepInExPack(BepInExPack_Valheim 的 denikson 版本)。
  2. 把 ValheimChestSort.dll 放入游戏根目录的 BepInEx/插件/。
  3. 启动游戏。

注意:用 r2modman 启动游戏时,生效的是 配置文件目录,而不是游戏安装根目录下的 BepInEx。

配置

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

配置项 默认值 说明
排序键 R 整理快捷键。填 按键代码 名称(R、T、B、左Alt、鼠标3 等)。
排序模式 类别 类别 = 先类别后名称;名称 = 直接按名称排序。
合并堆叠 真 是否合并零散堆叠。
添加按钮 真 是否在箱子界面「物品堆叠」按钮左边添加「整理」按钮。
按钮标签 (空) 整理
调试日志 否 输出整理详细日志,用于排查。

改完需重启游戏。

会不会影响成就

不会。本 mod 不设置 是否模组、不触碰人物的 已使用作弊不给物品打作弊标记,只是重新摆放箱内已有物品并触发原版的「物品变更」流程,不产生新物品、不改变数量。

兼容性

  • 游戏版本:Unity 6 时期的 Valheim。
  • 依赖:BepInEx 5.x(HarmonyX 随 BepInEx 自带)。
  • 不与「一键装满 / 一键种田」等功能冲突。
  • 单一热键、不占用原版按钮;如与其它 mod 的按键冲突,改 排序键 即可。

工作原理(简述)

  • 打开容器时,游戏会把该容器的 ZDO 所有权移交给打开的玩家(容器.请求打开),因此本地对容器的改动会被 容器.保存() 写回 ZDO 并同步给其他玩家。
  • “整理”按钮通过 克隆原版「物品堆叠」按钮 生成:外观、字体、过渡动画沿用原版,无需自带贴图与字体;若按钮所在父节点带布局组,按钮靠兄弟顺序自动排到原按钮左侧,否则由一个轻量组件每帧按相对位置对齐。
  • 本mod通过反射获取当前打开的容器(当前容器),对其 物品栏 做: 合并堆叠 → 排序 → 按行优先重设每件物品的 网格位置,最后调用一次原版 物品栏.已变更() 刷新界面并触发存盘。整个过程是原版数据结构的重排,不绕过任何游戏逻辑。

从源码构建

  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名-ValheimChestSort-版本号.zip
    

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

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

上传到Thunderstore

  1. 运行 ./build-package.sh SuperVikingDepartment 生成 dist/SuperVikingDepartment-ValheimChestSort-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/ValheimChestSort.dll ← 会自动路由到 BepInEx/plugins/

仓库结构:

ChestSortPlugin.cs 插件源码 ValheimChestSort.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

已知问题 / 说明

  • 修改按键或开关插件后需要重启游戏,无法热插拔。
  • 若按键无效,请把 BepInEx/LogOutput.log 发到问题区。加载成功会有 瓦尔海姆箱子整理已加载 一行。
  • 整理是「就地重排」,不会把玩家背包里的物品放进箱子;只整理当前打开的那个容器。

来源与许可

MIT 许可证,详见仓库内 许可证。

Valheim: 英灵神殿 的热门 MOD

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

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