
商人扩展模组添加了商人专属及通用的买卖列表、双列商店界面、物品筛选、修理功能、商人余额、灵活定价、持久回购、可配置货币以及实时同步配置。
兼容Thunderstore的模组管理器会自动安装这些依赖项。如需手动安装,请先安装依赖项,再安装Traders Extended。
新物品文件应放置于 BepInEx/config/shudnal.TradersExtended以以下内容开头的旧版文件 舒德纳尔。商人扩展。 在以下任何地方仍受支持 BepInEx/配置物品配置也可以嵌入到程序集中,位于 商人扩展配置.
支持的扩展名:
.json.yaml.yml.csv新文件名使用此格式:
<商人或通用>.<购买或出售>[.<标识符>].<扩展名>
示例:
haldor.buy.json haldor.sell.yaml hildir.buy.yml bogwitch.sell.csv common.buy.yaml common.sell.json hildir.buy.food.basic.json hildir.buy.food.progression.csv
传承 舒德纳尔.商人扩展. 前缀仍然接受,例如 舒德纳尔.商人扩展.哈尔多.购买.json编辑器保存时,现有文件保留其原始名称。
可选标识符可包含多个以点分隔的段。在选择交易者和列表类型时,该标识符会被忽略,其存在仅用于将交易者列表拆分到多个便于阅读的文件中。
所有匹配的项目文件已合并。内嵌文件优先处理,其下的文件 BepInEx/配置 最后。在每个来源内,文件按文件名处理;每个文件内的条目保持原始顺序。在出售列表中,针对同一物品、品质和堆叠,商人专属条目会覆盖通用条目。
在Windows上,名称不区分大小写。文件内的预制件名称仍然区分大小写,因为它们是通过ObjectDB解析的。无效的文件或条目会被记录并跳过,不会阻止其余文件的加载。
{ "prefab": "龙蛋", "stack": 1, "price": 500, "quality": 0, "currency": "金币", "requiredGlobalKey": "击败巨龙", "notRequiredGlobalKey": "", "requiredPlayerKey": "", "notRequiredPlayerKey": "" }
预制体物品预制体名称。层叠:价格所涵盖的物品数量。默认值为 1小于一的值将禁用该条目。价格:配置组合的价格。默认是 1小于1的值将禁用该条目。品质:所需/生成的质量。0 表示购买列表使用默认质量,出售列表可使用任意质量。货币:此条目的可选货币预制体。它仅覆盖此购买或出售物品的交易者默认设置。必需的全局密钥:逗号分隔的全局键;所有键都必须存在。无需指定全局键:逗号分隔的全局键;其中任何一个都不得存在。所需的玩家密钥:以逗号分隔的玩家唯一键;所有这些键都必须存在。无需玩家密钥:以逗号分隔的玩家唯一键;其中任何一个都不得存在。龙蛋, 1个, 500, 需已击败龙
生肉, 10个, 2, 红宝石
修行者, 1个, 500, 品质4, 需已击败哥布林王
- 预制件: 鱼竿 堆叠: 1 价格: 200
- 预制件: 木材 堆叠: 50 价格: 25 所需全局键: 击败_gdking
- 预制件: 鱼1 堆叠: 5 价格: 500 品质: 4 货币: 红宝石
第一行包含属性名称。 预制体 为必需项。当任何行都未使用其他列时,可省略这些列;省略的值使用与 JSON 和 YAML 相同的默认值。
预制体,堆叠,价格,货币,所需全局键 钓鱼竿,1,200,, 木材,50,25,,击败_gdking 鱼1,5,500,红宝石,
支持的标头有:
预制体,堆叠,价格,品质,货币,需要全局键,不需要全局键,需要玩家键,不需要玩家键
当字段包含逗号、引号或换行符时,按常规CSV规则为该字段加引号。
每位商人可能有一个个人设置文件:
<trader>.config.json <trader>.config.yaml <trader>.config.yml
示例:
haldor.config.json hildir.config.yaml bogwitch.config.yml
传承 舒德纳尔.商人扩展. 前缀仍支持现有文件。
每个交易者只使用一个逻辑个人文件。个人设置文件名固定,不支持在标识符后缀之后 .config同一来源中只能包含JSON、YAML或YML变体中的一种。当同一商人在多个来源中配置时,优先级较高的文件会整体替换优先级较低的文件:
嵌入预设 → 下方文件 BepInEx/config
每个部分和字段均为可选。缺失的值会继承对应的已同步 BepInEx 设置。以下示例包含完整支持的个人交易者架构,可直接复制、按所需交易者重命名并进行编辑。
个人方案仅有意包含对单个交易者有意义的设置。仅限全局的设置,例如 通用, 物品金币、自定义商人注册、品质倍率、已装备物品过滤以及全局修理商人列表仍保留在BepInEx配置中。
文件名:
哈尔多配置.json
{ "物品发现": { "仅出售已发现的物品": true, "未发现物品出售列表": "" }, "商人修理": { "武器": true, "护甲": false, "修理费用": 2, "修理货币": "金币" }, "商人金币": { "使用货币": true, "使用灵活定价": true }, "商人物价": { "补货后最低货币数量": 2000, "每日补充货币数量": 1000, "每日移除货币数量": 0, "补货后最高货币数量": 6000, "商人折扣": 0.7, "商人加价": 1.5, "货币补充周期天数": 1, "早晨发送补货消息": true }, "商人货币": { "覆盖": "金币" }, "商人回购": { "启用最后售出物品的回购": true, "回购有效时间(世界秒)": 1800 }, "杂项": { "禁用原版物品": false, "禁用其他模组物品": false, "将常见贵重物品加入出售列表": true, "商店界面固定位置": { "x": 0, "y": 0 }, "商店界面EpicLoot兼容": true } }
文件名:
哈尔多.config.yaml
"物品发现": "仅出售已发现的物品": true "要出售的未发现物品列表": "" "商人修理": "武器": true "护甲": false "修理费用": 2 "修理货币": "金币" "商人金币": "使用货币": true "使用灵活定价": true "商人定价": "补货后货币最低数量": 2000 "每日补充货币数量": 1000 "每日移除货币数量": 0 "补货后货币最高数量": 6000 "商人折扣": 0.7 "商人加价": 1.5 "货币补货周期(天)": 1 "早晨发送补货消息": true "商人货币": "覆盖": "金币" "商人回购": "启用最后售出物品的回购": true "回购有效时间(世界秒)": 1800 "杂项": "禁用原版物品": false "禁用其他模组物品": false "将常见贵重物品加入出售列表": true "商店界面固定位置": "x": 0 "y": 0 "商店界面EpicLoot兼容": true
商人修理 / 修理货币 是用于在该商人处支付修理费用的物品预制件。它独立于该商人正常的购买、出售、余额和回购货币。
商人货币 / 覆盖 接受一个物品预制件名称,例如 金币, 红宝石或 呕吐浆果.
杂项 / 商店界面 EpicLoot 兼容性 仅为此商人启用史诗战利品冒险模式商店界面位置调整。
杂项 / 商店界面的固定位置 必须是数字对象或数值映射 x 和 y 字段:
{ "杂项": { "商店界面固定位置": { "x": 100, "y": -50 } } }
回购物品的颜色仍为全局 BepInEx 设置,无法由个人交易者文件覆盖。
按 Ctrl+P 或者运行:
商人扩展编辑器
编辑器直接在以下位置管理文件:
BepInEx/config/shudnal.TradersExtended
左侧将现有支持的文件按购买物品、出售物品和交易者设置分组。每个条目仅显示交易者预制体、可选标识符和扩展名;完整的原始文件名仍可通过工具提示查看。新物品列表文件可创建为JSON、YAML、YML或CSV,而个人交易者设置可创建为JSON、YAML或YML。新文件省略了旧版 舒德纳尔.交易者扩展. 前缀。现有文件在保存时保留其当前名称。
物品列表文件以可搜索表格形式打开,包含本地化物品名称、紧凑图标、可编辑的预制件和规则字段、多行选择和删除功能,以及物品预制件、货币、全局键和玩家键的选择器。使用 添加物品…… 以便在添加多个条目时保持物品选择器打开,然后按 Ctrl+S 保存当前活动文件。编辑数值时,行顺序保持不变。表格下方的专用控件可按需对已存储列表进行排序、上下移动单行,以及选择显示哪些列。选中多行时,排序仅限所选行,所有未选中的行保持原有位置。物品选择器可按预制体或本地化物品名称排序。保存前会验证各行:物品和货币预制体必须存在,配置的键必须存在于对应的编辑器列表中,且同一键不能同时被设为必需和禁止。无效行会以红色边框标出;无效的物品预制体会将该行图标替换为红色感叹号,其他无效字段则显示为红色文本。大量筛选后的列表会分页显示,以保持编辑器响应流畅。
物品选择器默认隐藏AI装备以及非面向用户或无效的条目。启用 显示所有物品 显示完整的ObjectDB列表。可用的全局键和玩家键列表存储在本地 配置编辑器 / 全局按键 和 配置编辑器 / 玩家按键 设置;自定义按键可直接在任一选择器中添加或移除,而内置默认按键则受保护。当前世界按键和当前玩家的活跃玩家按键会在各自的选择器中标记出来。
个人交易者设置使用类型化控件。启用 覆盖 仅适用于该商人应有不同取值的项;禁用的值将继续继承同步的BepInEx配置。物品预制体字段提供可搜索的选择器,而商店GUI位置则单独编辑为 x 和 y 数值。
当连接到专用服务器时,编辑器会向服务器请求访问权限,服务器会直接根据其当前的服务器管理员列表检查请求的对等方(管理员列表.txt)。客户端不依赖 本地玩家是管理员或主机() 或列表的本地同步副本。每次文件操作执行前,都会通过实际网络连接重新授权。远程编辑器要求客户端和服务器都使用更新后的构建版本。超时后可通过“刷新”重试访问;旧回复无法授予新会话的访问权限。保存文件时会对其进行验证,写入选定的本地或服务器目录,并重新加载 Traders Extended 配置。
编辑器采用英灵神殿分析器风格的窗口行为:感知显示器的界面缩放、英灵神殿无障碍缩放、拖动、从右侧或底部边缘以及右下角手柄调整大小、文件列表与编辑器之间的可拖动分隔条,以及方形滚动条。 阻止输入 可直接在编辑器标题栏中更改,也可作为本地 BepInEx 设置使用。 配置编辑器快捷方式,窗口位置和大小, 缩放, 使用英灵神殿界面缩放, 字体大小, 文件列表宽度, 显示所有物品,和 可见物品栏 被一起存储在本地 配置编辑器 章节。 可见物品栏 是一个使用标记的逗号分隔列表 预制体, 名称, 层叠, 价格, 品质, 货币, 所需全局键, 被屏蔽的全局键, 所需玩家键,以及 被屏蔽玩家密钥.
本次修订针对《英灵神殿》1.0.7版本。游戏程序集引用必须指向匹配的1.0.7程序集,包括重新生成的公开化程序集;1.0之前的游戏DLL与更新后的API不兼容。
原版玩家钥匙优惠(包括库存行升级)仍可与实物物品一同提供。它们的名称、图标、描述、一次性钥匙、增量和购买效果在筛选和灵活价格副本中均得以保留。这些优惠为一次性购买,即使同时发放物品,也绝不会打开数量对话框。仅钥匙购买不需要空余的库存槽位。每项优惠和每个商人的货币仍决定支付方式。如果原版调整会缩小已经更大的库存,则拒绝库存升级;它绝不能丢弃由库存扩展模组添加的物品。
数量面板使用了游戏新的SplitDialog引用,而其交易控件和保存位置则独立于原生背包拆分组件进行管理。
双击买入或卖出条目,或使用手柄的替代操作,以打开数量对话框。滑块以整手交易为单位计数:一个报价包含 堆叠:20 和 价格:10 买三次可交付60件物品,需30货币。配置的多物品出售批次运作方式相同;未完成的剩余部分留在库存中。普通合并出售行按单个物品计数。预览显示交付的物品数量和总付款,限制反映可用库存空间、付款货币和商人资金。当可交易的完整批次少于两个时,对话框不会打开;请使用常规的购买或出售按钮进行单批次交易。启用灵活定价时,标题会显示与对应商店标题相同颜色的折扣/加价百分比。灵活销售价格在整个交易中一次性向下取整(最低为1货币),在列表、预览和付款中保持一致。回购仍是一张不可分割的收据,而非可拆分的报价。
卖出后,卖出列表保持选中状态,包括回购在买入列表中添加新条目时。当某个报价耗尽时,会选择最近的剩余卖出条目;空的卖出列表不会强制选择切换到买入面板。
按住 左Alt 按住鼠标左键并在面板任意位置拖动,包括过滤器、物品列表和按钮上方。两个存储栏会一起移动;数量对话框可以独立移动。按住该键时,鼠标手势会移动面板,而不是激活下方的控件。不按该键时,按钮、文本字段、列表滚动和数量滑块保持正常行为。该键可通过以下方式更改: 商店界面 / 拖拽按键 (无 禁用拖动)。
位置已保存在本地,保存为 商店面板偏移 和 对话框偏移量 在 商店界面 部分。它们不与服务器同步。商店偏移量会添加到商人的配置位置或其正常的Epic Loot兼容位置。设置偏移量以 0, 0 恢复该面板的默认位置。
商店界面 / 打开时重置面板位置 默认处于禁用状态。启用后,每次打开新的商人对话时都会清除两个偏移量。同一次访问期间打开另一个数量对话框不会重置其位置。
普通的 BepInEx 设置 商人货币覆盖 接受以逗号、分号或换行分隔的键值对:
哈尔多:红宝石,希尔德:硬币,沼泽女巫:天羽
左侧是商人预设或名称,右侧是作为该商人默认货币的物品预设。该默认设置适用于购买、出售、商人余额和回购。修理费用使用单独的 商人修理 / 修理货币 设置。
个人交易者设置文件可以设置 交易货币 / 覆盖 为该商人的一种货币预制体。之后,任何购买或出售列表条目都可以用其自身的货币再次覆盖商人的货币。 货币 领域。
YamlDotNet 是一个单独的必需依赖项。Thunderstore 包 Valheim模组开发-YamlDotNet-16.3.1 包含 YamlDotNet 16.3.0。手动安装时,请单独安装 YAML 依赖项。条件配置同步也仍需作为单独的必需依赖项安装。
金额对话框、购买力检查、列表图标、出售收益、回购以及实际交易均使用所选条目的货币。无效的货币预制体会被记录并回退到商人的常规货币。
物品提示信息 / 显示商人价格 默认启用且仅本地生效。禁用后,将保持Valheim的物品价值显示不变,并隐藏Traders Extended的所有价格行。当商人价格启用时,
物品提示信息 / 隐藏原版物品价值 默认也处于启用状态,用于控制配置的价格是否替换原版价值行。启用此设置后,若物品在金币中有一个适用的通用单价且没有其他价格记录,则使用 Valheim 原生的价值行,包括堆叠总数。配置的价格仅在生成工具提示时被替换,不会附加额外的价格部分。交易批次、替代货币以及超出原生整数范围的总数使用详细行,以免其含义在单件金币价值中丢失。
其他物品的原版价值行已被隐藏。多个常见价格或特定商人价格显示在彩色的、本地化的 $item_value 标题,每行一个适用条目。常见条目使用
货币:数量; 商人条目使用 商人:数量 用金币或 商人(货币):数量 其他货币。金额为橙色,商人名称为无色,以及配置的堆叠和 $item_quality 细节跟在数量后面。即使交易商条目的价格与通用条目一致,显式交易商条目仍会显示。继承的通用条目不会重复,除非该交易商的实际货币不同。没有显式货币的条目使用已发现交易商的默认货币,通用行优先使用金币;不同的默认货币会显示在相应的交易商行上。
所有显示价格仍为基础配置值,未计入当前弹性定价修正。在提示框最终处理中会恢复底层物品价值,包括在异常和嵌套调用之后;交易不受影响。没有可用价格的物品(包括硬币)不显示价值行。禁用 隐藏原版物品价值 保留原始默认值,改为在详细部分显示配置后的价格。
在对应商人的静态位置图标在地图上显示之前,价格将被隐藏。在发现任何商人之前,既不会显示替换后的本地数值,也不会显示详细价格。自动生成的通用数值仅在已发现的每位商人都启用时才会共享;否则,只会为设置中启用的商人显示。 将常见贵重物品添加到出售列表全局键、玩家键和质量要求继续控制哪些价格条目适用。
探索功能使用客户端当前的位置图标列表,包括服务器共享的图标。它不要求商人加载在附近,也不要求地图窗口处于打开状态。标准的哈尔多、希尔迪和沼泽女巫营地图标均可识别;自定义商人则通过一个静态位置图标来识别,该图标以其商人预制体命名,或者 <trader>_营地价格缓存初始化于 区域系统.开始 并在配置数据更改时重建,而不是在每个工具提示上重建。
当 只出售已发现的物品 启用后,已配置的购买物品仅在本地玩家发现后才会出现。将预制体名称添加到 待售的未发现物品列表 以绕过此检查。这些设置可能会按交易者单独覆盖。
配置好的商人可以修理支持的武器或护甲。每个个人商人文件可以独立启用武器和护甲修理,并覆盖修理费用和修理货币。缺失的值将继承全局BepInEx修理设置。
当商人余额启用时,出售会减少商人余额,购买会增加余额。余额会按配置的天数间隔补充,并可能带来折扣或加价。每个商人的余额规则可以独立覆盖。
自定义商人可通过以下方式注册 自定义商人预制体名称、物品配置或个人交易商设置文件。
服务器管理员可以通过以下方式设置平衡:
设置商人金币 <trader-prefab> <amount>
当数量省略时,将使用该商人配置的补货最小值。即使商人使用自定义货币,该命令名称仍会保留以向后兼容。
回购物品按商人分别存储。出售给一个商人的物品无法从另一个商人处购回。
回购数据保存在角色的自定义数据中,并按世界标识符分组,因此它能在登出后保留,且不会在世界之间泄露。批量出售收据会保留每个已售出的堆叠,而不是复制某个代表性物品的元数据。 回购在世界中存续的时间(秒) controls expiration. Set it to 0 保留回购条目,直到它们被替换或购买。
新的回购收据使用带版本记录的道具数据,而非游戏紧凑的库存网格序列化方式。这样可以完整保留数量、品质、变体、精确耐久度、制作者信息、自定义数据以及道具的作弊标记,而不会截断大型行坐标或堆叠数量。基于现有库存的收据仍然可以读取。暂时缺失的道具预制体不会抹除其收据。
购买和出售结算会从作为支付或出售的实际消耗物品继承作弊标记,与游戏的来源模型一致。回购会保留已出售标记,并同时计入其支付。本地库存变更失败时,会恢复堆叠标记及其原始数量和位置。事务性物品插入不使用新的满背包自动掉落回退机制;显式出售支付溢出仍单独处理。
BepInEx设置 商人商店界面位置偏移 列出在史诗战利品冒险模式激活时商店面板发生偏移的商人。默认为 哈尔多个人交易者文件会覆盖此行为,使用 杂项 / 商店界面 EpicLoot 兼容 给那个商人。
贸易商扩展 保存 [json|yml|csv]
将完整的ObjectDB物品列表保存到 BepInEx/config/shudnal.TradersExtended省略格式时使用 JSON。
tradersextended 保存 tradersextended 保存 json tradersextended 保存 yml tradersextended 保存 csv
生成的文件名为 ObjectDB.list.json, ObjectDB.list.yml,或 对象数据库列表.csv每个条目包含物品预制体及其默认价格,因此该文件可作为交易商物品配置的起点。
商人扩展物品列表
将筛选后的物品列表写入到 BepInEx/config/shudnal.TradersExtended/ItemList.csv。导出内容包括每个物品预制体、本地化名称、出售价值,以及在适用情况下的交易商收购价格、堆叠数量和交易商预制体。
商人 和 商店界面 实现。复制 商人扩展 文件夹放入 BepInEx/plugins 然后安装所有必需的依赖项。之后可以将配置文件放在下面 BepInEx/配置.
内置编辑器可处理 Traders Extended 物品文件和个人商人设置。通用 BepInEx 配置仍可通过配置管理器编辑:

修改前置工具
2026-09-12 14:33:53
修改前置工具

史诗战利品
randyknapp2026-09-09 21:20:10
为英灵神殿添加战利品掉落、魔法物品和附魔。

制作 建造 熔炼 烹饪 燃料 从容器中取出
aedenthorn2025-06-30 08:34:14
让你在制作、建造、使用熔炉和窑炉、添加燃料、烹饪食物等时,可以使用附近容器中的资源。

种植一切
Advize2025-09-09 11:15:37
重写了bkeyes93的种植增强模组。允许你的种植者种植浆果丛、蓟、蒲公英、蘑菇、此前无法获取的树种以及其他装饰性植物。还包括许多其他杂项功能(详见

无限制传送门
frostedplaything4102023-09-02 17:39:40
无限制传送门是一个客户端模组,允许玩家通过传送门传送任何物品。该模组提供广泛的自定义选项,让玩家能够控制物品限制、移除限制,

农场格子
Sarcenzzz2023-06-14 11:38:34
允许所有通过种植器种下的植物自动对齐并放置在网格中,确保它们有足够的生长空间。

更好的UI
MKMasa2021-04-15 09:19:42
这个模组对游戏界面做了一些细微的调整。你可以编辑并选择想要启用的更新内容。

更好的射箭
Ishid42026-09-10 16:16:51
为弓术玩法添加了许多功能和改动,包括全新的箭袋系统、可回收的箭矢、更精准的瞄准以及逼真的箭矢物理效果。