Source-checkedQuality of life & UI

ValheimChestSort

by SuperVikingDepartment · for Valheim

箱子一键整理:界面内新增「整理」按钮(在物品堆叠按钮左侧),合并零散堆叠并按类别/名称重新排布。Adds a Sort button to the container UI next to Stack All.

369Downloads
53d agoLast updated
BepInExLoaders
ThunderstoreSource

About ValheimChestSort

From Thunderstore

箱子一键整理:界面内新增「整理」按钮(在物品堆叠按钮左侧),合并零散堆叠并按类别/名称重新排布。Adds a Sort button to the container UI next to Stack All.

ValheimChestSort

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

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

功能

  • 界面按钮:在容器界面的原版「物品堆叠」按钮左边,自动添加一个「整理」按钮(克隆原按钮制作,

外观 / 字体 / 过渡动画与游戏一致)。中文界面显示「整理」,其他语言显示「Sort」,也可在配置中自定义。

  • 快捷键:打开容器后按 R(可配置),与按钮功能相同。
  • 合并堆叠:同种物品的零散堆叠会自动补满(例如 3 个 50/50 的木炭合成 1 个 50 + 1 个 100)。

只合并「名称 + 品质 + 世界等级 + 变体 + 自定义数据」完全一致的物品。

  • 按类别排序:默认顺序为 材料 → 消耗品 → 弹药 → 武器 → 盾牌 → 护甲 → 工具/杂项,同类再按名称、

品质从高到低排列。

  • 去掉空格:整理后物品从左上角开始逐行紧凑排列,不再有空档。
  • 对箱子、推车等所有使用游戏 Container 组件的容器都有效。
  • 关闭 / 不点击时完全是原版行为,不影响任何原版操作。

操作

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

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

安装

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

  • 已在 Thunderstore 上架:在 mod 管理器里搜索 ValheimChestSort 安装即可(会自动带入 BepInEx 依赖)。
  • 本地包导入:下载本仓库 dist/ 下的 SuperVikingDepartment-ValheimChestSort-1.0.0.zip,在 r2modman 中

Settings → Import local mod(或 Install from file)选择该 zip。

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

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

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

配置

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

| 配置项 | 默认值 | 说明 | | --- | --- | --- | | SortKey | R | 整理快捷键。填 KeyCode 名称(R、T、B、LeftAlt、Mouse3 等)。 | | SortMode | Category | Category = 先类别后名称;Name = 直接按名称排。 | | MergeStacks | true | 是否合并零散堆叠。 | | AddButton | true | 是否在箱子界面「物品堆叠」按钮左边添加「整理」按钮。 | | ButtonLabel | (空) | 「整理」按钮上的文字。留空 = 自动:中文界面「整理」,其他语言「Sort」。 | | DebugLogging | false | 输出整理细节日志,用于排查。 |

改完需重启游戏。

会不会影响成就

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

兼容性

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

工作原理(简述)

  • 打开容器时,游戏会把该容器的 ZDO 所有权移交给打开的玩家(Container.RPC_RequestOpen),

因此本地对容器的改动会被 Container.Save() 写回 ZDO 并同步给其他玩家。

  • 「整理」按钮通过 克隆原版「物品堆叠」按钮 生成:外观、字体、过渡动画沿用原版,无需自带贴图与字体;

若按钮所在父节点带布局组,按钮靠兄弟顺序自动排到原按钮左侧,否则由一个轻量组件每帧按相对位置对齐。

  • 本 mod 通过反射取到当前打开的容器(InventoryGui.m_currentContainer),对其 Inventory 做:

合并堆叠 → 排序 → 按行优先重设每件物品的 m_gridPos,最后调用一次原版 Inventory.Changed() 刷新界面并触发存盘。整个过程是原版数据结构的重排,不绕过任何游戏逻辑。

从源码构建

  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 发到问题区。加载成功会有 ValheimChestSort loaded 一行。
  • 整理是「就地重排」,不会把玩家背包里的物品放进箱子;只整理当前打开的那个容器。

来源与许可

MIT License,详见仓库内 LICENSE。

Highlights

From source data

Loaders

Runs on BepInEx.

Footprint

Rated a light load on a server.

Last update

Its author last shipped an update 53d ago.

ValheimChestSort on Nxeon

From our catalogue
One-click install
Supported on Nxeon Valheim servers, for BepInEx servers. We download it from Thunderstore, place it, and restart the server.
Server type needed
BepInEx
Server load
light
Smallest plan we suggest
Valheim — 4 GB (4 GB RAM). This follows our own load rating above, not a benchmark.
Latest build
1.0.0, released 2026-09-11

Game versions by loader

LoaderGame versionsNewest
BepInEx

From 1 recorded build of ValheimChestSort.

Dependencies

Declared by the newest build that lists any. Required ones are installed with it on one-click installs.

Run ValheimChestSort on a Valheim server

Pick a server or deploy a new one above; it is installed in one click.

What kind of mod it is

From the catalog
Listed on Thunderstore as “Content”

Quality of life & UI

Small conveniences, tweaks and interface improvements players notice straight away.

Compatibility

Game
Valheim
Loaders
BepInEx
Requires
One-click install needs a BepInEx server.

Verified at the source

  • ✓ThunderstoreOfficial listing, checked 2026-10-02Open ↗
  • ✓AuthorSuperVikingDepartment, as published on Thunderstore
  • ✓LicenseNot published by the sourceFree

ValheimChestSort, answered

Generated from the mod’s own source data.

Which loaders does it support?

BepInEx.

Is it free?

Yes. ValheimChestSort is free to download from Thunderstore.

How do I add it to my Nxeon server?

Use “Add to a server” on this page, or open NxLabs from your dashboard. We install it, restart your server and switch it on.

NxLabs

Run ValheimChestSort on a Valheim server.

Deploy in about a minute from $9.99 a month, then add ValheimChestSort in one click.