装备表

装备表

EquipmentSheet 是一个客户端 Valheim 模组,在原版玩家物品栏旁添加了专用的装备与食物面板。它为重要装备提供了一个固定的位置,同时不会隐藏其重量,也不会绕过 Valheim 正常的装备和死亡掉落行为。由 R4V9N1 创建并维护。

EquipmentSheet



[heading]2.0.7[/heading]
升级物品完整性
[list]
[*]修复升级后的 EquipmentSheet 装备在创建时缺少 Valheim 所需的
[code]m_dropPrefab[/code] 引用的问题,该问题可能在升级、重新装备以及死亡/布娃娃创建期间从
[code]Humanoid.SetupVisEquipment[/code] 抛出
[code]NullReferenceException[/code]。[/*]
[*]将装备库存变更通知延迟到升级替换事务完全提交之后,因此装备同步永远不会针对一个半创建的替换物品运行。[/*]
[*]在精确槽位插入之前记录替换物品,以便在意外插入失败后回滚始终可以将其移除,防止原始物品和升级物品在同一 EquipmentSheet 槽位中共存。[/*]
[/list]受管控的构建权限
[list]
[*]更新维护的
[code].csproj[/code] 和
[code]build.ps1[/code],从授权的
[code]build\Valheim\reference\packages\BepInExPack_Valheim\BepInEx\core[/code] 位置解析 BepInEx/Harmony,同时保留受管控的 CLIENT 游戏程序集。[/*]
[/list][heading]2.0.6[/heading]
已装备升级事务
[list]
[*]修复已装备的 EquipmentSheet 升级时在玩家背包中创建升级副本,同时将原始物品恢复到面板的问题。[/*]
[*]将 Harmony 目标更新为 Valheim 当前的位置感知
[code]Inventory.AddItem[/code] 重载,并且仅拦截针对精确保存的面板位置的替换。[/*]
[*]在精确槽位替换无法提交时保留回滚,同时保持 Valheim 有意的升级器损坏结果为破坏性,而不是错误地恢复损坏的物品。[/*]
[/list]库存 UI 动效
[list]
[*]在其原生打开/关闭 Animator 运行时,将 EquipmentSheet 面板位置与原版玩家库存面板同步,保留现有的布局、淡入淡出和交互行为。[/*]
[/list]受管控的构建资源
[list]
[*]维护的构建现在要求受管控的 Valheim CLIENT Managed 程序集和 BepInEx 核心位于
[code]build\Valheim\reference\ManagedAssemblies\ValheimClientAssets[/code] 下,并拒绝任何解析到的非受管控资源路径。[/*]
[*]项目默认值不再优先使用 Steam 或专用服务器的 Managed 目录。[/*]
[/list][heading]2.0.5[/heading]
[list]
[*]针对当前受管控的 Valheim 客户端程序集重新验证 EquipmentSheet,并生成公开客户端 API/IL 证据。[/*]
[*]移除已被证实的无用空 Inventory.MoveAll Harmony Postfix;没有移除任何物品存储、装备、升级、UI、持久化或墓碑行为。[/*]
[*]保留事务性的精确槽位、升级、角色边界、装备同步和墓碑恢复安全路径。[/*]
[/list]更新日志
[heading]2.0.4[/heading]
EquipmentSheet 可见性
[list]
[*]现在只要原版玩家库存面板打开,EquipmentSheet 就会保持可见。[/*]
[*]成就、奖杯、技能、地图、文本面板和其他库存覆盖层不再抑制或停用 EquipmentSheet;允许原版 UI 分层正常将这些界面渲染在其上方。[/*]
[*]移除之前用于覆盖层检测的过时宽泛 InventoryGui transform 扫描。[/*]
[/list][heading]2.0.3[/heading]
已装备物品升级事务
[list]
[*]已装备的 EquipmentSheet 装备参与正常的制作站升级标签页。[/*]
[*]升级后的装备直接提交回其精确的专用 EquipmentSheet 槽位并保持装备状态。[/*]
[*]精确槽位插入在升级替换事务期间避开 Valheim 的堆叠合并 AddItem 路径。[/*]
[*]升级失败会回滚到原始已装备物品,而不是将装备移入玩家背包。[/*]
[/list][heading]2.0.2[/heading]
UI 可见性修复
[list]
[*]在 2.0.1 淡入淡出集成可能继承不相关的父级 CanvasGroup 并保持面板隐藏之后,恢复 EquipmentSheet 面板、专用槽位、标签和物品图标。[/*]
[*]淡入淡出同步现在仅使用 Valheim 玩家库存面板直接拥有的 CanvasGroup;当不存在直接的原生 CanvasGroup 时,EquipmentSheet 失败为可见,而不是保持零 alpha。[/*]
[*]保留上一次 UI 更新中的原生 Valheim TMP 字体修复和缓存的库存 UI 查找。[/*]
[/list][heading]2.0.1[/heading]
UI
[list]
[*]在激活 EquipmentSheet 文本之前使用已加载的原生 Valheim TMP 字体,防止 LiberationSans SDF 回退警告。[/*]
[*]缓存 EquipmentSheet 使用的库存 UI 层级查找,以减少打开库存时的轻微卡顿。[/*]
[*]将 EquipmentSheet 面板、槽位、标签和物品图标与原生库存淡入淡出及交互状态同步。[/*]
[/list]

[heading][size=4]2.0.0[/size][/heading]
[size=4]EquipmentSheet 2.0 是面向 Valheim 1.0 的专注稳定性与恢复版本。
库存与装备[/size]

[list]
[*][size=4]持久装备和食物槽位在 Valheim 存档/读档和角色切换过程中保持角色特定。[/*]
[*][size=4]装备与 Valheim 的真实已装备物品状态、护甲值、视觉、负重、制作和升级保持同步。[/*]
[*][size=4]精确恢复插入防止兼容堆叠合并到错误槽位或丢失物品身份。[/*]
[*][size=4]面板加载验证失败不会用空的运行时面板覆盖持久角色数据。[/*]
[/list][size=4]死亡与墓碑恢复[/size]

[list]
[*][size=4]已装备的装备和食物在普通墓碑创建过程中得以保留,包括原版背包已满时。[/*]
[*][size=4]恢复使用专用 3x3 坟墓区域,并将物品恢复到其原始 EquipmentSheet 槽位。[/*]
[*][size=4]墓碑恢复在移除源物品之前插入并验证目标副本。[/*]
[*][size=4]单物品取回、全部拿走、部分取回、重新登录的墓碑以及标记背包恢复使用回滚安全传输。[/*]
[*][size=4]Brennivin 保护的死亡保留 EquipmentSheet,而不会创建重复坟墓副本。[/*]
[*][size=4]恢复状态保存在每个角色数据中,并且仅在成功完成后清除。[/*]
[/list][size=4]UI 与 Valheim 1.0 兼容性[/size]

[list]
[*][size=4]针对当前 Valheim 1.0 客户端和专用服务器程序集 API 重新构建并验证。[/*]
[*][size=4]原生 Valheim 字体回退防止缺少 LiberationSans SDF 警告。[/*]
[*][size=4]EquipmentSheet 保持在原版库存之后,并在成就、奖杯、技能、地图或文本面板打开时隐藏。[/*]
[*][size=4]墓碑 UI 扩展以显示专用恢复区域,且不会裁剪。[/*]
[/list][size=4]恢复旧版本中丢失的装备
EquipmentSheet 2.0 无法重新创建旧版本已经删除或未能保存的物品。要尝试恢复:[/size]

[list=1]
[*][size=4]完全关闭 Valheim,并备份当前角色文件。[/*]
[*][size=4]打开 [/size]

[code]%USERPROFILE%\\AppData\\LocalLow\\IronGate\\Valheim\\characters[/code][size=4]。[/*]
[*][size=4]确定属于受影响角色且日期早于物品丢失时间的备份。不要在名称相似的角色之间猜测。[/*]
[*][size=4]将当前角色文件复制到单独的备份位置,然后根据当前 Valheim 存档格式恢复所选旧角色备份。[/*]
[*][size=4]启动 Valheim,确认角色和恢复的装备,然后在重新连接到服务器之前制作新的备份。[/*]
[/list][size=4]如果丢失发生在服务器权威存档上,或不存在合适的本地备份,请在替换文件之前联系服务器所有者。永远不要删除唯一的当前角色副本。[/size]

[heading]1.0.25[/heading]
[list]
[*]围绕在 Valheim 移动库存之前附加在原版背包网格旁边的专用 3x3 EquipmentSheet 坟墓区域,重建死亡/墓碑转移。[/*]
[*]移除将 EquipmentSheet 克隆临时注入玩家背包的做法,消除重复网格位置和满背包丢失路径。[/*]
[*]添加事务性坟墓验证:仅当每个坟墓副本都在其保留槽位中得到确认后,才清除活动 EquipmentSheet。[/*]
[*]添加每物品坟墓槽位元数据,使全部拿走、单物品拾取、重新登录的墓碑和回退背包路由将物品恢复到其精确的原始 EquipmentSheet 槽位。[/*]
[*]将死亡快照与普通待处理转移缓存分离,因此不相关的拖拽/升级事务无法覆盖死亡恢复状态。[/*]
[*]使用预制体/名称、品质、变体、世界等级、堆叠、耐久度、制作者身份和自定义物品数据加强物品身份匹配。[/*]
[*]保留外部死亡保护行为。[/*]
[*]构建现在强制 SpaceBuilder 并优先使用规范的共享
[code]assembly_valheim.dll[/code] 引用。[/*]
[*]包输出现在使用项目拥有的
[code]GeneralWork/EquipmentSheet/releases[/code] 权限。[/*]
[/list]

[heading]1.0.24[/heading]
[list]
[*]加强角色切换,使仅运行时的 EquipmentSheet 状态无法跨不同 Valheim 角色保留。[/*]
[*]保存的 EquipmentSheet 数据在可以替换活动角色面板之前,会在隔离的临时库存中解码和验证。[/*]
[*]如果保存的 EquipmentSheet 数据损坏或不可读,EquipmentSheet 会通过清除运行时面板来失败关闭,而不是保留另一个角色之前加载的装备。[/*]
[*]损坏的已保存角色数据会被保留,而不是删除或覆盖,从而保持后续恢复或修复的可能性。[/*]
[*]每当本地角色实例更改时,清除待处理的自动路由、手动拖拽、升级、墓碑跟踪和死亡转移运行时状态。[/*]
[*]保留 1.0.23 的普通死亡路径、满背包墓碑恢复、部分坟墓恢复、原始槽位恢复和 Brennivín 保护死亡行为。[/*]
[*]装备槽位周围现有的 EquipmentSheet UI 皮肤/框架保持不变。[/*]
[/list]
[heading]1.0.23[/heading]
[list]
[*]修复普通死亡复制:待处理的 EquipmentSheet 物品通过 Valheim 的原版库存转移准确一次地转移到墓碑中。[/*]
[*]墓碑拾取仍将这些实际转移的物品与缓存匹配,并恢复到其原始面板槽位,立即重新装备它们。[/*]
[/list][heading]1.0.22[/heading]
[list]
[*]移除面向背包的
[code]GetEquippedItems[/code] 和
[code]GetWornItems[/code] 注入。EquipmentSheet 现在不再暴露原版死亡/存档代码可以复制的第二库存表示;角色装备仍然直接从面板同步。[/*]
[/list][heading]1.0.21[/heading]
[list]
[*]将保护死亡设为硬性无转移边界:当 Brennivin 保护激活时,面板装备不会通过面向背包的已装备/已穿戴列表暴露。[/*]
[*]EquipmentSheet 独立抑制保护快照的原版墓碑创建,防止同一物品同时存在于面板和背包中。[/*]
[/list][heading]1.0.20[/heading]
[list]
[*]在 Brennivin 保护激活时阻止验证、手动背包路由、自动装备路由和排队重生路由。[/*]
[*]防止受保护死亡同步将专用 EquipmentSheet 物品移入玩家背包。[/*]
[/list]

1.0.4
[list]
[*]使用关键的死亡/墓碑恢复行为更新了主模组描述。[/*]
[*]添加明确指导,保留现有配置,并使用 Valheim 本地角色备份作为旧版本已经丢失装备的回退方案。[/*]
[/list][heading]1.0.3[/heading]
[list]
[*][b]关键死亡恢复修复:[/b] 在死亡和墓碑创建过程中保留已装备的装备和食物,包括原版玩家背包已满时。[/*]
[*]将恢复的装备和食物恢复到死亡前它们占据的精确 EquipmentSheet 槽位。[/*]
[*]防止已装备的面板物品被 Valheim 的原版墓碑库存转移过滤掉。[/*]
[*]保留现有的每角色保存库存和槽位布局;无需删除配置、重置存档或手动迁移。[/*]
[*]保留
[code]BepInEx/config/r4v9n1.equipmentsheet.cfg[/code];删除它只会重置面板定位,不属于此修复的一部分。[/*]
[*]添加与 BrennivinProtection 1.0.2 的兼容性,该版本在 Brennivín 抑制墓碑创建时不再使 EquipmentSheet 物品滞留。[/*]
[*]记录回退恢复选项:受旧装备丢失事件影响的玩家可以从丢失之前创建的合适本地客户端角色备份数据恢复角色。[/*]
[*]模组包图标是自定义制作的图标,并非 AI 生成。[/*]
[/list]

[color=#fafafa][size=4][b]1.0.1[/b][/size][/color]
[list]
[*]通过使用当前的双布尔
[code]Inventory.Changed[/code] 签名,修复 Valheim 1.0 库存持久化通知。[/*]
[*]修复装备升级钩子以针对 Valheim 1.0 当前的
[code]Inventory.AddItem[/code] 重载。[/*]
[*]将包图标替换为自定义制作的、非 AI 生成的图标。[/*]
[/list][heading]1.0.0[/heading]
[list]
[*]针对当前 Valheim 1.0 程序集重新构建。[/*]
[*]保留现有的装备、食物槽位、升级、存档、死亡掉落和工具提示行为。[/*]
[/list]
[left][/left]

## 功能

- 六个专用装备槽位:头盔、胸甲、护腿、饰品、背部、腰带。
- 三个持久食物槽位,用于食物和饮品消耗品。
- 使用 Valheim 的真实已装备物品状态,因此护甲值和角色视觉正常工作。
- 装备时自动将受支持的装备移入匹配的面板槽位,并将之前的物品换回背包。
- 在制作站升级列表中显示已装备的面板装备,并将升级后的装备返回到同一槽位。
- 将面板内容计入负重。
- 显示原版物品工具提示和耐久度条。
- 在创建死亡掉落之前,将面板物品移入普通墓碑流程。
- 按角色保持装备独立,并在切换角色时清除陈旧数据。
- 支持拖放、左键拾取、食物堆叠补充和右键使用食物。
- 将装备拖入背包会使其卸下;右键单击装备槽位会将其直接返回到背包。

## 安装

使用 Thunderstore 模组管理器安装,或将 `EquipmentSheet.dll` 复制到:

```text
<Valheim>/BepInEx/plugins/EquipmentSheet/EquipmentSheet.dll
```

这是一个客户端模组。为每个想要额外面板的玩家安装它。

## 从 0.8.1 或 0.9.0 更新

完全关闭 Valheim,然后替换之前的 DLL 或通过模组管理器更新包。

- 你无需从装备面板中移除装备。版本 0.9.1 使用相同的已保存装备数据和槽位布局,因此更新时保持装备即可。
- 保留 `BepInEx/config/r4v9n1.equipmentsheet.cfg`。删除它只会将面板定位重置为默认值,不会影响已保存装备。
- 在永久移除 EquipmentSheet 之前,将面板装备移入普通背包。这是卸载所必需的,不是更新所必需的。
- 角色备份是模组更新前合理的通用预防措施,但此更新不需要。

## 配置

首次启动后,BepInEx 会创建:

```text
BepInEx/config/r4v9n1.equipmentsheet.cfg
```

你可以启用或禁用面板,并针对其他 UI 模组或不同 UI 缩放调整其水平间隙和额外右侧偏移。

## 兼容性说明

面板中的装备和食物存在于 EquipmentSheet 自己的每角色保存库存中。该模组有意不使用原版玩家库存中的隐藏额外行。

由 **R4V9N1** 创建和维护。