
合成存储链接
将工作台范围内的所有存储链接至玩家。允许你在无需携带资源的情况下进行制作、升级和建造。
查看大图更新日志
1.5.7
在 Player.ConsumeResources 周围添加了事务增量核算;CraftingStorageLink 现在会观察 Valheim/其他补丁已移除的内容,并且只支付剩余的精确需求。
为消耗后置补丁添加了 Priority.Last,以便首先观察到其他普通优先级的消耗后置补丁。
在支付前聚合重复的需求行。
使用原始物品栏堆叠数量进行支付审计,以便链接数量/UI 补丁无法污染变更计算。
如果另一个前缀跳过了 Valheim 的原始消耗方法,则保留玩家优先支付。
添加了过度消耗诊断,报告需求数量与观察到的移除数量,并指向竞争的 Player.ConsumeResources/物品栏补丁。
根据活动的制作站过滤 Valheim 1.0 仅升级器配方资源。
保留 1.5.6 的锤子/UI 性能缓存以及所有先前的加固箱子/可靠性修复。
1.5.6
修复了一个严重的锤子性能问题,该问题由每渲染帧重新扫描每个已加载的 Container 引起。容器发现现在缓存 0.25 秒,如果建造/存储原点移动超过约一米,则立即刷新。
添加了同帧链接资源计数缓存,因此对同一锤子材料的重复检查不会重新遍历每个附近的容器物品栏。
减少了与 Marsarah UI 等 UI 模组的兼容性开销:BuildHudDisplay 不再全局增强第三方 Hud.SetupPieceInfo 后置补丁所做的任意 Inventory.CountItems 调用。CraftingStorageLink 在 HUD 调用后执行自己的针对性锤子需求行稳定化。
Inventory.HaveItem 链接存储增强现在仅限于实际的建造需求/放置上下文,而不是通用的锤子 HUD 显示工作。
实际资源移除仍然是实时且事务安全的:每次拉取在变更前都会重新检查容器资格和半径,容器缓存在支付/配置/玩家生命周期更改后被清除。
与 1.5.5 相比没有配置/协议更改。服务器和客户端仍应使用相同的 CraftingStorageLink DLL 版本。
针对测试期间提供的较新 Valheim assembly_valheim.dll(2,568,192 字节;SHA-256 27a766a8d23a7bd8b6a54fb9ad0452a96c305fb3629b39c40527c09a1c393a84)重新验证了该模组使用的钩子。
1.5.5
添加了独立的 CraftingEnabled 和 HammerBuildingEnabled 游戏玩法开关。
CraftingEnabled=false + HammerBuildingEnabled=true 提供了仅锤子的折中 QoL 模式:建造工具需求和放置可以使用链接存储,而工作台/熔炉等的配方制作和升级保持原版。
还支持仅制作模式(CraftingEnabled=true、HammerBuildingEnabled=false)以及现有的主 Enabled=false 开关。
CraftingEnabled 是服务器同步的。配置协议提升到 v2;服务器和客户端都应使用相同的 1.5.5 DLL。
现有配置保留先前的行为,因为新的 CraftingEnabled 选项默认为 true。
冶炼炉、窑、发酵罐和其他加工设备仍不受 CraftingStorageLink 影响。
1.5.4
通过修补 Player.HaveRequirementItems 修复了 Valheim 1.0 的可制作性门槛,该方法用于制作按钮和可制作优先配方排序。仅链接存储的配方现在真正可制作,而不仅仅是显示白色/满足的需求图标。
添加了容忍重载的 HaveRequirementItems 目标指定,以便较小的 Valheim 签名更改不会静默绕过补丁。
更新了 InventoryGui.m_selectedRecipe 解析,以适配 Valheim 1.0 的 KeyValuePair<Recipe, ItemData> 布局(Key),并为其他私有布局提供兼容性回退。
诸如火炬之类的角色制作配方可以使用链接到活动工作台/其他站点 UI 的存储;远离活动站点的制作保持原版。
实际支付仍使用现有的玩家优先 ConsumeResources 拉取计划,因此启用制作按钮不会产生免费制作。
1.5.3
为陈旧的 CraftingStorageLink 上下文帧添加了帧末自愈。如果另一个 Harmony 补丁中断了制作/建造调用并留下一个上下文孤立,它会自动清除,而不是污染后续检查直到重启。
容器发现和链接物品计数现在按容器隔离故障。被摧毁、卸载、半初始化或不兼容的模组容器的会被跳过,而所有其他附近的存储继续工作。
在全局 Inventory.CountItems / Inventory.HaveItem 钩子周围添加了故障安全异常边界,以便瞬态链接存储错误回退到原版行为,而不是破坏重复的需求检查。
当本地 Player 实例更改(死亡/重生/世界生命周期)时重置运行时状态,防止陈旧引用在玩家重建后存活。
运行时故障警告被节流,以保持 BepInEx 日志可用,同时仍捕获第一个有用的错误。
保留 1.5.1 的加固/铁箱兼容性修复和 1.5.2 的锤子 HUD 稳定化。
1.5.2
添加了渲染后锤子需求 HUD 验证过程。在 Valheim 渲染 Hud.SetupPieceInfo 后,CraftingStorageLink 直接为每个可见资源行重新计算玩家 + 链接存储的可用性,并在合并数量足够时清除错误的红色状态。
HUD 验证故意仅用于显示:真正缺失的资源保持红色,制作站需求仍然强制执行,资源消耗逻辑不变。
添加了 HUD 稳定化代码所需的显式 Unity UI/TextMeshPro 构建引用。
添加了一个回归测试,用于让锤子建造菜单保持打开,并跨重复的 HUD 刷新观察仅链接材料的需求。
1.5.1
通过接受存储在容器 ZDO 上的创建者来加固原版加固/铁箱(piece_chest)检测,当 Piece 层次结构不能可靠地暴露它时。
当 Container.m_nview 无法通过预期字段路径获得时,添加了 ZNetView 组件回退。
停止在每次链接物品计数时重新运行 Container.Load();首先使用实时箱子物品栏,这避免了 UI 或其他模组与容器交互时不必要的物品栏刷新。
当 SkipInUseContainers=true 时,本地玩家打开的箱子现在仍然符合条件;其他人正在使用的容器仍然被排除。
在链接资源移除后显式调用容器保存路径,作为修改正常物品栏更改回调的存储/UI 模组的兼容性后盾。
添加了加固箱子回归测试和更清晰的调试预期。
1.5.0
用嵌套、可重入的上下文帧替换了单个全局制作/建造上下文,以便 Infinity Hammer、ValheimBuildCamera 和其他建造模组不会意外清除外部的 CraftingStorageLink 操作。
上下文清理是幂等的,并且也从 Harmony 终结器运行,降低了抛出异常使 CraftingStorageLink 卡在陈旧状态的可能性。
添加了专用的锤子 HUD Hud.SetupPieceInfo 上下文,以便显示的建造资源计数/颜色包含链接存储,而不是在附近容器中有足够材料时闪烁红色。
保留了 1.4.0 的无站点部件行为:工作台、营火和其他没有站点需求的部件围绕建造者链接。
改进了调试诊断,包含每个容器的拒绝原因和正物品计数。
没有新的框架依赖,除了纠正的锤子资源显示和更强的上下文处理之外,没有故意改变单人/原版行为。
1.4.0
修复了没有现有制作站需求的部件(包括工作台和营火)的锤子/存储链接。这些部件现在会在玩家/建造位置周围搜索链接存储。
修复了锤子特定情况:当所选的建造部件未建立制作站上下文时,骨碎片等材料可能看似被忽略。
添加了原点感知的容器缓存,以便无站点锤子部件和基于站点的制作不能重用错误的同帧容器集。
改进了因当前正在使用而被跳过的容器的调试日志。
澄清了 SkipInUseContainers:当它为 true 时,打开的箱子被故意排除在需求计数和消耗之外,因此制作永远不会在没有实际支付资源的情况下成功。如果安装了事务安全的共享容器模组,服务器所有者可以将其设置为 false,以便打开的箱子仍然可用。
保留了服务器->客户端配置同步、制作/升级支持、需要站点的锤子行为、结界/访问检查以及最近容器优先消耗。
1.3.0
当 m_craftRecipe 尚未填充时,需求 UI 从 InventoryGui.m_selectedRecipe 解析 Valheim 1.0 选中的配方。
链接存储计数反映在配方需求显示中。
在服务器和客户端上使用完全相同的 CraftingStorageLink.dll。
服务器配置
首次启动后,配置为:
BepInEx/config/com.custom.valheim.craftingstoragelink.cfg
推荐的默认值:
\\\[01 - General]
Enabled = true
HammerBuildingEnabled = true
\\\[02 - Linking]
Radius = 20
PlayerBuiltContainersOnly = true
AllowShipContainers = false
AllowCartContainers = false
\\\[03 - Safety]
RespectContainerAccess = true
RespectWards = true
SkipInUseContainers = true
ClaimOwnershipWhenPulling = true
RespectMultiUserChestIgnore = true
显示 1-9 条,共 9 条
以上为资源接口提供的文件记录。安装时请在客户端确认文件、游戏版本及依赖。
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。