堆叠大师

创作者: JStack424
已更新:2026-09-12 10:40:22
272KB

关于此 MOD

堆叠大师

将凌乱的维京背包整理成整洁、随时可出发的装备配置。

堆叠大师: JStack424 带来物品栏整理, 快速堆叠,并将附近存储中的建造和制作整合进一个《英灵神殿》工作流程。

堆叠大师 1.3.5: 每个玩家、每个世界的持久快速抓取预留现在会显示在物品栏旁边和锤子菜单上方,将精确的附加材料目标送入快速堆叠,并在成功放置后逐个递减。快速抓取会先从权威的实时箱子库存中扣除,再计入玩家,并具有精确的持久化、守恒和回滚检查。Joe在发布前实机测试并批准了预留控制、锤子菜单选择和关闭行为、材料收集以及箱子扣除。

关于此项目

我是一个热爱《英灵神殿》的软件工程师,对轻度游戏设计也有所兴趣。我在AI的协助下将Stackmaster作为一个个人生活质量项目打造出来:抹平那些令人烦躁的琐碎之处,保留开发者预期的体验,并且绝不让进度推进显得像是作弊。我起初并没有打算做一个被广泛使用的模组,但看到大家喜欢它,真的很开心。如果你一直在使用Stackmaster并且喜欢它,请通过以下渠道分享任何问题或建议 GitHub 问题我一直都在玩、测试,并寻找可进一步改进的地方,所以我会认真考虑有见地的想法。

原味增强,精心设计

堆叠大师消除了重复的容器管理,但不会添加免费资源、携带容量、能力、作弊或进度捷径。快速堆叠保持审慎:不会因为你走近基地就自动从背包中取出物品,每次建造或制作仍然会消耗你物品栏或可访问存储中的真实材料。

长话短说

  • 自动整理你的背包和已选择启用的原版箱子。
  • 使用 快速堆叠 一键存入匹配物品并补充受保护目标。
  • 保留每位玩家、每个世界的有效材料耐久预留 快速获取材料 点击,即使远离补给品。
  • 使用可访问箱子中的材料进行建造和制作。

控制

背包

控制 行为
打开背包 当玩家启用自动排序时,对可移动玩家槽位进行排序。
左 Alt + 左键点击未受保护的物品 立即保护它,没有补货目标或对话。
左 Alt + 左键点击任意受保护的物品 完全解除保护并清除其补货目标。
左 Alt + 右键点击可堆叠物品 打开补货数量对话框。确认后将保护该物品并添加或编辑其目标;取消则保留之前的状态。
左Alt + 右键点击不可堆叠的物品 保持其保护设置不变。不可堆叠物品无法设置补货目标。
普通物品栏点击 保留《英灵神殿》默认的鼠标左键和右键操作。

宝箱

控制 行为
打开或关闭原版箱子 整理那个箱子,当它 自动整理箱子 设置已启用。
左 Alt + E 在瞄准原版容器时 跑 快速堆叠:存放匹配物品并补充受保护目标。
左 Alt + E 当原版箱子打开时 奔跑 快速堆叠 以那个宝箱为目标,但不要关上它。

建造菜单

控制 行为
左 Alt + 点击一个建造部件 添加一个持久预留,然后在安全可用时获取一整套完整材料,不要关闭菜单。其本地化名称包含 层叠 或 桩 仅收集材料:他们仍会采集完整套装,但不会创建预留。

修饰符遵循已配置的 快速堆叠 快捷键,使用 左Alt + E 默认情况下。当建造菜单打开时,其键盘/鼠标操作列表会显示 快速拾取材料 与 左 Alt + 点击 默认情况下,并在配置的修饰键更改时更新该快捷键文本。1.2.0 版本未添加控制器专属操作。

详细机制

  • 背包整理
    • 每次打开物品栏时,按字母顺序排序可移动的背包槽位。
    • 添加一个 自动整理宝箱 每个已打开的原版箱子下方的复选框。
    • 当启用的箱子打开其界面时以及再次关闭时进行整理,并在快速堆叠实际存入该箱子后进行整理。
    • 按玩家、世界和箱子在本地记录已禁用的箱子,不将偏好写入共享世界状态,也不影响其他玩家。
    • 保持整个快捷栏、已装备物品和受保护的堆叠固定不变。
  • 一个一致的存储范围
    • 在原版工作台建造区域内,将所有重叠的工作台区域作为一个相连的基地网格处理,并包含该精确并集范围内任何位置已加载且受支持的箱子。
    • 排除连接网格外的附近宝箱,即使它们在回退半径内。
    • 每个工作台网格外部,使用可配置的以玩家为中心的半径(默认20米)。
    • 将相同范围应用于快速堆叠、建造和制作;一个箱子的 自动整理箱子 复选框不会改变存储资格。
  • 快速堆叠
    • 仅在按下时运行 左 Alt + E 在以原版箱子为目标或与其互动时。
    • 完全忽略原版瓦尔海姆最大堆叠数量为1或更少的携带物品。像耕耘机这类物品会一直留在背包中,永远不会被送往匹配或记忆的箱子,永远不会收到存放失败的警告,也永远不会被计为遗漏物品。
    • 补充受保护的堆叠,包括弹药和消耗品,至可选目标数量,然后存放符合条件的携带物品。
    • 同时保留并补充当前快速抓取材料预留所需的材料数量。预留需求为累加:个人目标50木材加上预留所需20木材,共保留70。
    • 将明确的个人目标保留在其固定的受保护槽位中,并且仅为可移动的堆叠或合法的空背包槽位分配单独的预留数量。
    • 如果背包开始就是满的,一次符合条件的普通存入可以腾出一个槽位,随后同一个已验证的计划会将该槽位用于预留补充。
    • 优先填充当前匹配的堆叠,以目标宝箱为最优先,然后由近到远搜索。
    • 记住每种具体物品类型最后一次直接打开或选中的箱子。如果当前没有匹配的箱子能接受任何数量,快速堆叠可以将该物品返回到其记住的箱子,即使该箱子库存已为零。
    • 记住的目的地只是一个本地提示:在执行时,它仍须被加载、处于活动范围内、可访问、空闲、兼容,并且是同一个网络箱子。若目的地缺失、被摧毁、未加载、被阻挡、忙碌、已满或其他不符合条件,物品会安全地留在玩家背包中。
    • 当前匹配的目的地总是优先。如果某个目的地只接收了部分堆叠,快速堆叠不会为剩余部分再开辟一条通往记忆箱子的路径。
    • 仅用红色边框标记存款失败或部分存款后剩余的合格数量,并且 数量;快捷栏、已装备、仅保护以及目标保留的数量不计入。该警告会随剩余物品一起参与排序,当该物品被悬停一次或关闭库存时清除。
    • 在操作的安全端,对每个实际接受过存款的不同目标箱子最多排序一次,且仅当该箱子现有的 自动整理宝箱 首选项已启用。失败、未处理、不可用和已禁用的目标将被跳过。
    • 以简短的三行项目符号列表显示存入、补充和剩余数量(包括零)的每一项结果。
    • 未匹配的物品和溢出物品将安全保留在玩家背包中。
    • 使用已配置的快速堆叠修饰键执行两种独立的物品栏操作:左键点击立即保护或完全取消保护某物品,右键点击则为可堆叠物品打开目标条目。
    • 左键点击保护开关不会打开对话框;解锁时也会清除所有补充目标。取消右键对话框会保留之前的状态,不可堆叠的物品仍然只能进行保护。
    • 整理时保持受保护的堆叠固定不动,并在玩家库存内跟随一个兼容的堆叠进行移动或合并后继续跟随。
    • 当一整叠物品被手动转移到箱子或丢到世界中后,清除该叠物品的保护状态和目标;部分转移则保留受保护的剩余部分。
    • 在快速堆叠操作前清理较早的孤立目标,这样你不再携带的物品就不会一直显示。 目标物品缺失.
  • 存储感知的建造与制作需求
    • 分别控制基于存储的制作、基于存储的建造,以及基地范围存储总量的显示;这三个选项默认均为开启。
    • 当为某个操作启用时,会从玩家以及当前存储范围内可访问的原版箱子中统计并消耗精确成本,无论当前网络归属如何。
    • 独立显示所选建造部件、制作及升级费用,按 所需 / 可用总数,包括所选升级品质和多次制作总计。
    • 可负担性和红白闪烁始终取决于该操作实际可能消耗的资源:当存储权限关闭时,取决于玩家携带的材料;当存储权限开启时,取决于玩家和存储的总库存。
    • 自适应适配更长的精确制作和建造总量,例如 45 / 172 和 999 / 999 在香草数量标签内显示,而不是裁掉最后几位数字;较短的总数保持正常字体大小。
    • 处理特定品质与多件制作的数量,不消耗整组材料,也不会重复收取费用。
    • 优先使用玩家背包,之后仅选择完整行动计划所需的最少不同宝箱组合。
  • 快速拾取材料
    • 按住已配置的快速堆叠修饰键(默认左 Alt)并点击一个建筑部件,即可从符合条件的储物中请求一整套材料。普通部件还会额外添加一个持续预留。
    • 保持建造菜单打开,普通点击不受影响。
    • 将每次有效的修改点击视为额外增加一次保留。重复点击会确定性地递增,包括在远离补给时,但玩家可见本地化名称中包含装饰性材料部件的除外 层叠 或 堆叠 任何地方(序数词,不区分大小写,包括复合名称如 柴堆)。这些原版或模组的部件始终只是仅限材料的快速抓取目标,绝不会产生预留。
    • 仅在本地化不可用时,才使用原始本地化令牌和精确的稳定预制体名称作为确定性回退。已保存的堆叠/堆记录在其精确部件身份解析后会被移除,且不移动材料;未解析的历史身份绝不会被猜测。
    • 在任何共享库存发生变化前保存普通预留。较早的预留状态会在首次变更时从 PlayerPrefs 迁移;新状态会写入一个独立文件,并通过同目录原子替换发布。格式错误、混合无效或配方标识已变更,以及持久保存失败的情况,均保持故障关闭,不创建任何活动或持久幻影预留,也不移动任何材料。
    • 优先从总库存量最大的箱子中抽取每种原料,然后再从较小的来源中抽取,并以确定性规则打破平局。
    • 除非完整配方所需材料齐全、每个必要的箱子都安全可访问、所有产出的堆叠都能放入、且增加的重量不超过负重上限,否则不会移动任何物品。对于普通部件,若库存为零、库存不足、存储不可达、所有权校验失败或容量不足,则保留已保存的预留,但不执行任何部分转移。对于堆叠/堆类材料部件,同样的短缺不会移动任何物品,不会创建预留,并使用普通的真实材料收集失败响应。
    • 清晰区分 已获取材料并添加了预留 从诸如这样的紧凑白色角落摘要中 预约购物车 ×2 — 材料未收集。 仅限预约的点击不会产生押金失败警告。
    • 在两条水平限定的行中显示相同的实时保留部件卡牌及数量:一行紧邻玩家库存右侧,另一行直接锚定在激活的锤子建造菜单上方。库存行比其在1.3.3中错误反转的位置高20个逻辑UI像素(比1.3.2高10像素),而其向右移动12像素及修正后的标签间距保持不变。
    • 点击主卡片会通过瓦尔海姆当前的建筑表选中那个确切可用的部件。物品栏行选择是安全的空操作,除非锤子已经激活;它绝不会自动装备工具。建造菜单行遵循常规的选择、音效、关闭和放置流程。
    • 每张牌的右上角都各不相同 - 在剩余多次计数时按下按钮,并且 X 进行最终计数。每次点击都会持续精确释放一次计数,消耗指针事件,不移动任何材料,也绝不会选中其下方的卡牌。
    • 在一次真正成功的本地放置后,实际放置的预制体会消耗一个预留计数: 墙 ×5 成为 墙壁 ×4最终的计数会移除两行,不相关的部件变体则保持不变。仅选中、放置失败或取消、预览、创造模式或无消耗放置、修复、拆解、制作、其他玩家以及重复的完成回调都不会减少任何数量。如果耐久消耗无法保存,已完成的世界建造会保留,但预留会刻意保持完整,Stackmaster 只显示一条克制的警告。
    • 仅以橙色标记实际由预留服务的那一份,并在左上角以与个人目标标签布局一致的无格式数量显示。玩家排序会将所有有预留支持的正数堆叠置于可移动可排序区域的前部,普通堆叠随后;固定的快捷栏、已装备和保护槽位保持不变。
  • 安全
    • 读取附近建筑和制作总数,但不占用宝箱所有权。
    • 仅对所需宝箱请求所有权,然后在移除前重新检查活动作用域成员资格、访问权限、所有权、宝箱使用、序列化修订、堆叠标识和数量。
    • 精确提取所需数量,若后续移除失败则回滚已完成的步骤。
    • 取消且不消耗任何东西,并显示 所需材料正在使用中 当所需宝箱正忙时。
    • 仅在成功搭建后以30秒滑动租约明确获得并使用的所有权才会保留,当其他玩家手动打开该箱子时立即让出。
    • 在释放匹配的所有权之前,先结束逻辑上正在使用的预留。如果同一客户端的精确清理暂时失败,则会保留该项并在放弃该所有权之前重试,包括在禁用和热卸载期间;后续或无关的所有者绝不会被清除。
    • 绝不修改不可访问、未知、不支持或正在使用的容器。
    • 显示简洁的总计、短缺、有意义的跳过以及未完成搜索提示。
    • 将格式错误或不可用的预留状态视为故障关闭条件,在考虑预留的物品移动或玩家排序之前。
    • 保持预留行和橙色高亮故障与物品状态及现有蓝色保护覆盖层隔离。
    • 如果运行时兼容性检查失败,则禁用所有物品变更行为。

配置

堆叠大师恰好有六种设置:

  1. 已启用自动排序 默认开启,也受玩家物品栏下方的复选框控制。箱子自动整理在各箱子界面中单独控制,不属于第七个全局设置。
  2. 附近存储范围 默认20米;可在1到50米之间配置,仅在玩家处于所有有效连接的工作台网格之外时,由所有箱子供能功能使用。
  3. 快速堆叠快捷键 —左Alt+E为默认快捷键。现有的自定义快捷键会自动从旧设置名称迁移过来。其修饰键还可激活玩家物品栏中受保护物品的左右键点击,以及建造菜单中快速抓取材料的左键点击;两种点击操作均无需按主E键。
  4. 允许从仓库建造 — 默认开启,并独立控制建造资格和从存储中消耗。
  5. 允许从仓库中制作 — 默认开启,并独立控制制作/升级的资格和从仓库中的消耗。
  6. 在制作和建造菜单中显示存储数量 — 默认开启;在两种需求界面中独立显示玩家及符合条件仓位的总数,但不授予消耗这些已存储物品的权限。

所有六项全局设置均可在首次启动后通过常规的r2modman/BepInEx配置编辑器进行配置。已有的建筑/制作退出选项会自动迁移至重命名后的权限设置,因此显式 假 保持关闭,过时的按键将在启动后消失。每个宝箱的自动整理选项是仅限本地的偏好设置,作用范围限于当前玩家、世界和稳定的宝箱标识;若标识缺失或无法读取,将安全跳过宝箱整理。

安装

使用r2modman、Thunderstore Mod Manager或其他兼容Thunderstore的模组管理器安装。BepInExPack Valheim作为独立依赖项安装;Stackmaster不捆绑BepInEx或Harmony。

要手动安装,请安装 denikson-BepInExPack_Valheim 5.4.2350或更高版本,然后放置 Stackmaster.dll 在 BepInEx/plugins/Stackmaster/.

兼容性与支持

堆叠大师 1.3.5: 快速抓取即使材料不足也能创建持久的建造预留,而完整的材料转移仍然是全有或全无。预留卡会显示在物品栏旁边和锤子菜单上方;卡片主体通过原版路由选择确切的部件,独立的 - / X 控制释放数量而不移动材料,每次成功付费放置消耗一个预留。快速堆叠保留并整理精确的附加预留材料,忽略不可堆叠物品的存入路由,仅整理被触及且已选择加入的目标箱子。快速抓取仅在权威实时箱子扣减经验证、持久化并证明全局保守后才会给予玩家,任何部分失败均完全回滚。Joe已实际测试并批准了预留控制、建造菜单选择与关闭行为、材料收集以及箱子扣减。更广泛的多玩家、专用服务器、工作台扩展、手动访问抢占以及加载/卸载边缘情况测试仍不完整。请备份有价值的角色和世界,并报告任何物品丢失、复制、免费产出、崩溃、箱子阻塞、同步不一致、过期警告或过期需求总计。

Stackmaster 1.3.5 基于一份有文档记录的 Valheim/Unity/BepInEx/Harmony 参考包编译而成,但确切的版本字符串、文件哈希和程序集 MVID 属于来源追溯与诊断信息,并非运行时允许列表。它仅支持原版容器。启动时,Stackmaster 会在安装任何补丁之前检查其依赖的完整 API 接口面,包括确切的参数重载和每一个 Harmony 目标。若契约缺失、变更或存在歧义,模组会在物品变更钩子安装之前被禁用;若修补出错,则运行时会被禁用并移除所有 Stackmaster 补丁。

在基地内部,Stackmaster 会根据每个工作站当前游戏上报的建造范围,发现已加载的经典原版工作台建造区域之间完整连通的并集。在基地外部,则以可配置的以玩家为中心的半径为回退方案。附近建造/制作总数会从该活跃范围内可访问的原版容器中读取稳定的序列化快照,而不进行占用声明,包括其他对等方拥有的容器。变更操作则更为严格:在玩家优先分配之后,Stackmaster 仅对最少所需的箱子请求所有权,重新验证其所有者/数据修订版本及确切内容,为事务预留这些箱子,并在任何所需箱子处于忙碌、被拒绝、过期或不可用时,在变更前取消操作。Valheim 的所有者授权请求是异步的。远程拥有的建造操作使用现有的预备所有权重试窗口;而箱子支持的制作和快速获取材料点击则在客户端协程中等待确切所需的所有权,仅在全新的匹配方案和预留准备就绪后,才从原始点击处继续执行。在箱子支持的建造放置成功后,只有实际使用的确切已获取箱子会在30秒滑动租约内保持本地拥有,并由后续每次成功的建造使用续期。制作和快速获取的提取会立即释放其预留和确切获取的所有权,并且永远不会创建或续期该租约。远程玩家的手动打开请求会立即使建造租约失效,并继续走原版正常的 ownership 转移流程。每一次取消、失败、回滚、禁用、断开连接、登出、卸载、关闭、异常或未使用的获取,都只会释放 Stackmaster 仍能证明其已获取的所有权,并带有身份、会话、所有者修订版本和当前所有者保护。如果确切的本地预留清理无法立即完成,Stackmaster 会保留匹配的所有权清理记录,并优先重试预留;它永远不会清除后续的或不相关的所有者的使用中状态。

插件GUID: com.jstack424.stackmaster

来源、问题追踪器和 MIT 许可证: https://github.com/JStack424/Stackmaster

开发

仓库将纯库存策略与 Valheim/Unity 适配器分离。可部署插件面向 .NET Framework 4.8,纯规划器面向 .NET Standard 2.0,自动化测试面向 .NET 8。

私有编译时引用必须来自你自己的 Valheim/BepInEx 安装目录,并保留在被忽略的 lib/local/StackmasterReferences/ 目录(或被忽略的路径覆盖)。它们永远不会被提交或打包。在 Windows 上, scripts/Inspect-StackmasterEnvironment.ps1 执行只读环境清单,并 脚本/收集栈大师引用.ps1 仅从你明确提供的路径中复制所需的编译时程序集。

./scripts/build.sh

该构建会还原锁定的依赖项,生成 Release 版本,运行纯领域测试套件,运行仓库安全检查,并拒绝插件输出中复制的运行时/游戏程序集。参见 已批准行为契约 和 实施/测试计划 完整的设计与发布门槛。

Valheim: 英灵神殿 的热门 MOD

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

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