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。
方式二:手动安装(直接启动游戏)
- 先安装 BepInExPack for Valheim(
denikson-BepInExPack_Valheim)。 - 把
ValheimChestSort.dll放入游戏根目录的BepInEx/plugins/。 - 启动游戏。
> 注意:用 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() 刷新界面并触发存盘。整个过程是原版数据结构的重排,不绕过任何游戏逻辑。
从源码构建
- 安装 .NET SDK(目标
netstandard2.1)与 Node.js(打包脚本用)。 - 把本仓库克隆到 Valheim 安装目录下(默认假定
..就是游戏根目录)。 - 游戏根目录需已安装 BepInEx(
BepInEx/core/BepInEx.dll、BepInEx/core/0Harmony.dll)。 - 构建并生成发布包:
./build-package.sh 你的ThunderstoreTeam名
# 产物:dist/你的Team名-ValheimChestSort-版本号.zip
仓库不在游戏目录下时,用属性覆盖路径:
dotnet build -c Release -p:ValheimDir="C:\Steam\steamapps\common\Valheim\"
上传到 Thunderstore
- 运行
./build-package.sh SuperVikingDepartment生成dist/SuperVikingDepartment-ValheimChestSort-1.0.0.zip。 - 打开 <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 dataLoaders
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
| Loader | Game versions | Newest |
|---|---|---|
| BepInEx |
From 1 recorded build of ValheimChestSort.
Dependencies
- Required: BepInExPack Valheim
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 catalogQuality 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






