
自动箱子整理 - 作者Nexxy(提供专门支持)
把所有东西扔进一个输入箱子然后走开。AutoChestSort会一摞一摞地把它搬进你教会它的那些箱子里。装错东西的箱子会自行整理,一个分组会把库存合理地分摊到它的各个箱子中,杂项箱会接住溢出的部分,直到重新腾出空间。没有客户端魔法,没有物品丢失,除了你的存储之外没有任何自动化。
查看大图[size=4][b]描述[/b][/size]
[color=#D4D4D8]AutoChestSort 为箱子赋予名称,同名的箱子组成一个分组。你通过在一个装有某类物品的箱子上按 + 来教会该分组哪些物品类型属于它。此后,服务器会自动清空每个名为 Input 的箱子:每秒有一组物品移入附近匹配分组的箱子,或移入名为 Misc 的箱子,否则就留在原处。自 0.4.0 版本起,服务器还会整理放错箱子的物品。[/color]
[size=4][b]主要功能[/b][/size]
[color=#D4D4D8]介绍你模组的核心功能。可通过 r2mod 安装,或将 ddls 拖入 BepIn 插件文件夹。[/color]
[color=#D4D4D8]
其他镜像: https://thunderstore.io/ 链接: https://thunderstore.io/c/valheim/p/NexGaming/AutoChestSort/ [/color]
[heading]依赖要求[/heading]
[table][tr][th]组件[/th]
[th]版本[/th]
[th]说明[/th]
[/tr]
[tr][td]Valheim[/td]
[td]1.0.12[/td]
[td]基于此版本构建并测试[/td]
[/tr]
[tr][td]BepInEx[/td]
[td]5.4.23.x (BepInExPack Valheim 5.4.2350)[/td]
[td]必需[/td]
[/tr]
[tr][td]Jotunn[/td]
[td]2.30.0[/td]
[td]必需,用于 UI、本地化和配置同步[/td]
[/tr]
[tr][td]ConfigurationManager[/td]
[td]任意近期构建[/td]
[td]可选,仅用于在游戏内编辑设置[/td]
[/tr]
[/table]Jotunn 是一个 Thunderstore 包,并未包含在模组内;模组管理器会自动拉取它。ConfigurationManager(原版或 shudnal 的 Valheim 分支)纯粹是便利工具:有了它,管理员可在游戏内编辑设置;没有它,则需手动编辑配置文件。ACS 本身并不依赖它。
该模组必须在服务器上运行
[list]
[][b]所有整理都在服务器上进行。[/b] 没有客户端回退机制。在单人游戏中,或当你从自己的游戏托管世界时,你自己的游戏[i]就是[/i]服务器,一切工作方式相同。[/]
[][b]安装了该模组的客户端[/b]会获得箱子面板、按钮、悬停提示行和聊天警告。[/]
[][b]未安装该模组的客户端[/b]默认被拒之门外。服务器设置
[code]allowVanillaClients[/code][/]
[/list][heading]安装[/heading]
客户端
[list=1]
[]安装 BepInEx 和 Jotunn。[/]
[]将
[code]AutoChestSort.dll[/code] 复制到
[code]<BepInEx>/plugins/AutoChestSort/[/code]。[/]
[]启动游戏一次。模组会创建
[code]<BepInEx>/config/nexxy.valheim.autochestsort.cfg[/code],其中所有值均为默认值,且每个值都有注释。[b]你无需复制任何内容:[/b]十五项服务器设置会在你连接时从服务器下发,两项客户端设置会以默认值创建。[/]
[/list]专用服务器
[list=1]
[]在服务器上安装 BepInEx 和 Jotunn。[/]
[]将
[code]AutoChestSort.dll[/code] 复制到
[code]<BepInEx>/plugins/AutoChestSort/[/code]。[/]
[]启动服务器一次。它会创建
[list]
[][code]<BepInEx>/config/nexxy.valheim.autochestsort.cfg[/code] — 设置文件,参见
配置可通过保存进行备份:[/]
[][code]<BepInEx>/config/AutoChestSort/worlds/<world>.yaml[/code][/]
[/list][/]
[/list]
[heading]支持的箱子[/heading]
ACS 会整理你自己建造的六种固定箱子:
[table][tr][th]箱子[/th]
[th]预制体[/th]
[/tr]
[tr][td]箱子[/td]
[td][code]piece_chest_wood[/code][/td]
[/tr]
[tr][td]木桶[/td]
[td][code]piece_chest_barrel[/code][/td]
[/tr]
[tr][td]加固箱子[/td]
[td][code]piece_chest[/code][/td]
[/tr]
[tr][td]黑金箱子[/td]
[td][code]piece_chest_blackmetal[/code][/td]
[/tr]
[tr][td]碎石箱子[/td]
[td][code]piece_chest_grausten[/code][/td]
[/tr]
[tr][td]衣柜[/td]
[td][code]piece_chest_warderobe[/code][/td]
[/tr]
[/table]此列表固定不变,无法关闭。
其他一切都不受影响:船只、推车、私人箱子、墓碑、地下城和宝藏箱,以及游戏中所有其他容器。
使用前请阅读:
[list]
[][b]风险自负。[/b] ACS 直接在世界数据中读写箱子物品栏。自带物品栏逻辑的容器——自动拾取、自带排序、内存中物品栏——在 ACS 看来是[b]空的[/b],因此永远不会被写入,这是安全的结果,但两个模组仍可能为同一组物品发生冲突。[/]
[/list][heading][color=#e4e4e7][size=2]名称与分组[/size][/color][/heading]
[list]
[]在字段中输入名称并确认。最多 32 个字符。[/]
[][b]同名箱子组成一个分组。[/b] 大小写无关。[/]
[][b]分组名称是世界范围的。[/b] 一个名为
[code]Food[/code] 的分组在世界任何地方含义相同,无论箱子相距多远。[/]
[]清除名称会使箱子脱离其分组。[/]
[][b]重命名有两种结果[/b],没有确认对话框:
[list]
[]新名称尚不存在:整个分组被重命名,其所有箱子随之更名,[/]
[]新名称是已有分组:仅此箱子加入该分组并离开原分组。[/]
[/list][/]
[/list]两个保留名称
[table][tr][th]名称[/th]
[th]作用[/th]
[/tr]
[tr][td][code]input[/code][/td]
[td]服务器会清空此箱子:每秒有一组物品被送往其归属处。赋予此角色时箱子必须为[b]空[/b]。[/td]
[/tr]
[tr][td][code]misc[/code][/td]
[td]兜底。所有无分组、或其分组附近无箱子的物品都归入此处。命名时
[code]Misc[/code] 箱子可以存放任何物品。[/td]
[/tr]
[/table]这两个名称均不能作为分组名,且每个
[code]Input[/code]/
[code]Misc[/code] 箱子各自独立——它们是角色,而非分组,其作用范围是自身周围的半径。
按钮
[table][tr][th]按钮[/th]
[th]作用[/th]
[/tr]
[tr][td][code]+[/code][/td]
[td]将此刻箱内物品类型教给该分组。对话框会显示将发生的变化,并提供[b]替换[/b](仅保留箱子当前所持物品)、[b]合并[/b](保留旧物品并加入新物品)和[b]取消[/b]。若两者结果相同,则对话框仅提供[b]学习[/b]和[b]取消[/b]。[/td]
[/tr]
[tr][td][code]i[/code][/td]
[td]展开或折叠分配给此分组的物品类型列表。[/td]
[/tr]
[tr][td][code]Ø[/code][/td]
[td]重置:清除此箱子的名称,使其脱离分组。分组的分配保持不变。[/td]
[/tr]
[tr][td]Ctrl +
[code]−[/code][/td]
[td]删除分组:分配被移除,分组内所有箱子失去名称。会先弹出确认。不带 Ctrl 的
[code]−[/code] 仅显示提示。[/td]
[/tr]
[/table]在[b]无名称且无物品[/b]的箱子上按
[code]+[/code] 会立即使其成为
[code]Misc[/code] 箱子。
[b]一种物品类型只能属于一个分组。[/b] 如果你正在教的一种类型已属于另一分组,会针对每个物品询问一次:[i]是[/i]将其移走,[i]否[/i]保持原样,[i]取消[/i]中止整个操作且不做任何更改。
悬停提示行
站在箱子前时,其 ACS 名称会显示在悬停文本中,位于箱子自身名称和
[code][T] Open[/code] 之间,例如
[code]AutoChestSort: misc[/code]。可在配置中用
[code]showChestNameOnHover[/code] 将其关闭。
仅限你打开的箱子
所有更改——命名、教学、重置、删除、杂项——仅对[b]你[/b]当前打开的箱子生效。查询([code]i[/code] 列表、
[code]acs_group[/code])无需打开箱子即可工作。
影响整个分组的更改还要求没有其他人打开该分组中的箱子。这也适用于[b]未安装[/b]该模组的玩家:打开的箱子就是打开的箱子。这是有意为之,并非漏洞——它可以防止两人同时教授同一分组。分组被占用时,面板控件会变灰。
[heading]整理工作原理[/heading]
服务器每秒恰好执行一次移动:一组物品,或一组物品中能放入的部分。
[list=1]
[][b]只有当某位已连接玩家处于其集群中某个箱子的 [/b]
[code]activationRadius[/code][b] 范围内时,箱子才会整理。[/b] 废弃基地中不会有任何移动;站在集群中一个箱子旁即可唤醒整个集群。[/]
[][b]目标是同一集群中的箱子[/b]——参见
集群而非目标半径。物品不会运往与你的箱子未连接的基地。[/]
[]物品组会前往匹配分组中[b]已持有该物品类型最多[/b]的箱子;若没有候选箱子持有它,则任何有空间的同组箱子均可。并列时选择先建造的箱子,而非更近的——在集群内,每个箱子都是储存库的平等组成部分。[/]
[][b]如果该分组的任何箱子处于打开、使用中或刚刚关闭状态,该物品类型会等待[/b],而不会去别处。否则物品组会落入并非其归属的箱子,之后还得再移动一次。仅仅[i]装满[/i]的分组箱子仍照旧跳过。[/]
[]如果该分组在集群中没有箱子,或物品不属于任何分组,物品组会前往集群中的 Misc 箱子[/]
[/list]
[size=4][b]致谢[/b][/size]
[color=#D4D4D8]感谢任何启发或帮助过我的人,例如 Smarter containers。[/color]
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。