通用商人

通用商人

Forge 26.2 服务器权威交易方块,支持铜/银/金货币、持久物品解锁、可配置 CSV 定价、配方感知默认值、可搜索目录、批量购买、终极商人升级以及服务器端防漏洞验证。

技术

Universal Trader 一个可配置、服务器权威的 Minecraft Forge 交易系统。

Universal Trader 添加了一个强大的交易方块,让玩家可以出售符合条件的物品,赚取铜/银/金币,永久解锁商品,并通过可搜索的目录回购这些商品。它专为生存和多人服务器设计,适合希望拥有受控经济体系、而不依赖村民、命令方块或客户端信任价格的场景。

特性

通用交易方块

放置 Universal Trader,即可从你的物品栏中出售符合条件的物品。物品首次成功售出后,它会为该世界永久解锁,并可从该交易者处购买。

购买价格在服务器端计算,为配置的出售价格的 3 倍。客户端永远不会提供或控制价格。

三级货币

交易使用三种面额:

  • 铜币
  • 银币
  • 金币

钱包会以 64:1 的比例自动向上进位:

64 copper = 1 silver
64 silver = 1 gold

交易期间,现有硬币和新发放的款项会被合并。该系统还会处理物品栏已满和副手货币的情况,而不会静默删除价值。

搜索与批量购买

交易者目录支持按英文物品名称或注册表 ID 进行不区分大小写的搜索。搜索词可以包含多个单词,并会自动将目录返回到第一页。

批量购买按钮支持:

  • 购买 1
  • 购买 8
  • 购买 32
  • 购买 64

当数量超过物品的最大堆叠大小或玩家可用资金时,不可用的数量会被禁用。每次购买都会在服务器上再次验证。

终极交易者

通过普通交易者升级,以恰好 576 枚金币购买 Ultimate Trader Block。终极交易者开局即解锁所有符合条件的物品,同时仍使用相同的价格、安全检查以及服务器端验证。

交易者方块无法被出售或递归购买,从而防止无限刷钱循环。

可配置经济

价格通过服务器的、兼容电子表格的 CSV 控制:

config/universaltrader/prices.csv

管理员可以编辑物品价格、启用或禁用条目并添加备注。显式 CSV 价格优先于生成的默认值。该模组还为支持的 vanilla 合成、熔炼、切石和锻造链提供配方感知的默认值。

持久化多人进度

解锁按世界存储。交易、余额、物品 ID、价格、堆叠上限和解锁权限均在服务器端验证,使该模组适用于专用服务器和合作生存世界。

安全与反漏洞利用保护

Universal Trader 默认采用保守的物品策略。它会阻止或拒绝不安全的条目,例如命令/调试物品、技术占位符、交易者方块、硬币物品、任意序列化数据,以及无法安全规范化、带有物品栏的容器物品。

服务器还会防止:

  • 客户端提供的价格
  • 无效的物品 ID 和堆叠数量
  • 出售实际并不存在的物品
  • 资金不足时购买
  • 重复提交交易数据包
  • 递归交易者和货币估值
  • 不安全或无界的物品 NBT
  • 溢出和物品栏已满导致的发放错误

管理员可以通过定价和服务器配置文件明确配置安全例外。

兼容性

Minecraft: 26.2 模组加载器: Forge 65.1.3 Universal Trader: 0.1.3 许可证: MIT 多人游戏中必需: 在客户端和服务器上安装相同的模组版本。

此版本固定适用于 Minecraft 26.2 和 Forge 65.1.3。若不进行专门移植,它不适用于更旧的 Minecraft 或 Forge 版本。

安装

  1. 安装 Minecraft 26.2 和 Forge 65.1.3。
  2. 关闭 Minecraft 或停止服务器。
  3. 将 universaltrader-0.1.3.jar 放入 mods 文件夹。
  4. 在多人游戏中,请在专用服务器和每个连接的客户端上安装相同的 JAR。
  5. 启动前移除旧版 Universal Trader JAR。
  6. 启动游戏或服务器并加入世界。

现有世界、解锁和自定义 CSV 价格会被保留。该模组不需要重置世界。

查找配方

Universal Trader 在工作台中合成:四角为铁块,四边为金块,中心为钻石块:

Iron Block   | Gold Block   | Iron Block
Gold Block   | Diamond Block| Gold Block
Iron Block   | Gold Block   | Iron Block

由于这是一个 3×3 配方,它会出现在工作台的配方书中,而不是 2×2 的物品栏合成网格中。在配方书中搜索 Universal Trader。

版本 0.1.3 亮点

  • 通过登录和材料进度添加配方书发现功能。
  • 添加已翻译的物品名称,使配方可被搜索。
  • 为物品栏已满和副手货币的情况重建钱包进位与发放处理。
  • 添加带有价格和可用性提示的购买 1/8/32/64 控件。
  • 为所有批量购买数量添加服务器端验证。
  • 添加配方感知的 vanilla 定价审计和更安全的物品过滤。
  • 提升网络协议;客户端和服务器必须一起更新。

支持与配置说明

运行时读取 config/universaltrader/prices.csv。更改会在服务器或游戏重启后生效,或在受支持的显式重载流程后生效。替换自定义价格表前请保留备份。

对于多人游戏,请始终先更新服务器,然后将相同的 JAR 分发给客户端。不要在 mods 文件夹中保留多个 Universal Trader 版本。