格莱梅拉商人

格莱梅拉商人

完整的商人及经济系统。金币货币附带HUD显示、NPC店主、买卖交易、玩家间支付功能。可在游戏中创建商店,包含可视化皮肤选择器,手持物品即可添加商品。支持配置驱动、数据持久化、热重载。

实用

GlymeraMerchant - 金币、商店、NPC商人及付费指令!

一个完整的Hytale服务器经济系统:货币、持久化金币余额、NPC商店、完整的商店界面、玩家间交易以及独特的付费指令功能——让你可以用金币来执行任何来自其他插件的指令。

当前版本仅适用于 Hytale Stable 5! 不要错过我的其他精彩项目——请查看 GlymeraCraft 的主页 Discord:https://discord.gg/s5NRFWfxgy


什么是 GlymeraMerchant?

GlymeraMerchant 为你的服务器添加了一套完整的金币经济系统。玩家可以赚取、消费和交易金币。管理员可以在世界中放置 NPC 商人,通过可视化的商店界面进行买卖。每位玩家都可以在右上角的永久 HUD 元素中看到自己的余额。

付费指令功能是这款插件的特色:你可以让任何来自其他插件的指令消耗金币。想让 /gp claim 消耗 500 金币?只需在配置中添加即可。玩家执行该指令时,会被要求确认价格,确认后才会扣除金币并执行指令,无需修改其他插件。


功能

  • 金币货币,可自定义名称、符号和最大余额
  • 新玩家的初始余额(默认:100)
  • 持久化余额,保存至 JSON,每 5 分钟自动保存
  • 实时 HUD,显示当前金币余额(右上角,始终可见)
  • 可视化商店界面,包含购买卡、出售卡、库存追踪和购买力指示器
  • NPC 商人,会站在世界中,看向附近的玩家,并在交互时打开商店
  • 自定义 NPC 皮肤 - 选择任意 Hytale 生物模型作为商人的外观
  • 玩家间转账,通过 /pay 指令
  • 付费指令 - 对任何来自其他插件的指令消耗金币
  • VaultUnlocked 支持 - 注册为经济提供者,使任何兼容 VaultUnlocked 的插件都可以使用你的金币系统
  • 热重载 - 编辑配置后,使用 /merchant reload 应用更改,无需重启

指令

通用指令

指令 描述
/money 查看你当前的金币余额
/pay <玩家名> <金额> 向其他玩家发送金币
/shop 打开最近的 NPC 商人商店(8 格范围内)
/shop <类型> 按名称打开特定商店(例如 /shop weaponsmith
/confirm 确认付费指令并支付金币

仅限 OP 指令

指令 描述
/money give <玩家名> <金额> 给予玩家金币
/money take <玩家名> <金额> 从玩家处扣除金币
/merchant create <名称> 创建新商店并选择皮肤
/merchant create <名称>:<过滤> 使用皮肤过滤器创建商店(例如 myshop:cow
/merchant add <名称> buy <价格> 将手中的物品添加为可购买物品
/merchant add <名称> sell <价格> 将手中的物品添加为可出售物品
/merchant remove <名称> 从商店中移除手中的物品
/merchant spawn <名称> 在你当前位置生成一个属于现有商店的 NPC
/merchant delete 删除最近的 NPC 商人
/merchant list 列出所有商店及其交易数量
/merchant types 列出所有可用的 NPC 外观
/merchant reload 重载配置(商店、付费指令、设置)

付费指令

这是突出的功能:让任何来自其他插件的指令消耗金币,而无需修改该插件。

工作原理

  1. 管理员在配置的 paidCommands 部分添加一条指令
  2. 玩家输入指令(例如 /gp claim myplot
  3. 指令在即将执行前被拦截
  4. 玩家看到:"领取地皮需要花费 500 G。请在 15 秒内输入 /confirm 以继续。"
  5. 玩家在规定时间内输入 /confirm
  6. 扣除金币,指令正常执行

如果玩家金币不足,会立即被告知。如果玩家未能在规定时间内确认,请求将过期,需要重新输入指令。

配置示例

"paidCommandOpExempt": true,
"paidCommandTimeout": 15,
"paidCommands": {
  "gp claim": { "cost": 500, "description": "领取一个地皮" },
  "tpp set": { "cost": 100, "description": "设置一个传送点" },
  "bw create": { "cost": 1000, "description": "创建一个生物群系世界" }
}
  • Key = 不带 / 的指令前缀(匹配指令及其后的任何部分)
  • cost = 金币价格
  • description = 在确认消息中向玩家显示(可选,默认为指令本身)
  • paidCommandOpExempt = 如果为 true,OP 永远无需付费(默认:true
  • paidCommandTimeout = 玩家输入 /confirm 的秒数限制(默认:15

商店系统

设置商店(游戏中)

  1. 输入 /merchant create myshop - 将打开一个皮肤选择界面
  2. 点击你想要用于 NPC 商人的外观
  3. 商人 NPC 会出现在你的位置,商店为空
  4. 手持一件物品,输入 /merchant add myshop buy 150 将其添加为价值 150 金币的可购买物品
  5. 手持另一件物品,输入 /merchant add myshop sell 30 将其添加为价值 30 金币的可出售物品
  6. 玩家现在可以与该 NPC 交互,或使用 /shop myshop 打开商店

商店界面

  • 购买卡(绿色)显示玩家可以购买的物品,包含价格和购买力指示器
  • 出售卡(蓝色)显示玩家可以出售给商店的物品
  • 物品可以是仅可购买、仅可出售,或两者兼有(价格不同)
  • 每件物品可选的库存限制
  • 每次交易后,商店标题栏中的余额会实时更新
  • 如果购买时玩家背包已满,物品会掉落在地上

配置

完整配置文件位于 plugins/GlymeraMerchant/config.json,首次启动时会自动生成。

设置项 默认值 描述
startBalance 100 给予首次加入新玩家的金币
currencyName "Gold" 货币名称(显示在消息中)
currencySymbol "G" 金额后的短符号(例如 500 G
maxBalance 999999 玩家可持有的最大金币数
allowShopCommand true 如果为 false,玩家必须走到 NPC 商人处,而不是使用 /shop 指令
paidCommandOpExempt true OP 可以跳过付费指令的支付
paidCommandTimeout 15 确认付费指令的秒数限制
paidCommands {} 需要消耗金币的指令(见上文)
merchants {} 包含交易的商店定义

VaultUnlocked 支持

如果安装了 VaultUnlocked,GlymeraMerchant 会自动注册为 经济提供者。这意味着任何使用 VaultUnlocked 进行经济操作(检查余额、存款、取款)的插件都将使用 GlymeraMerchant 的金币系统——无需任何配置。

  • 可选:不需要 VaultUnlocked。GlymeraMerchant 完全可以独立运行。
  • 自动:如果 VaultUnlocked 在你的 mods/ 文件夹中,集成会自动激活。
  • 兼容:适用于任何使用 VaultUnlocked 经济 API (Vault2) 的插件。

安装

  1. GlymeraMerchant-2.0.0.jar 放入服务器 mods/ 文件夹
  2. (可选)VaultUnlocked-Hytale.jar 放入 mods/ 文件夹以支持跨插件经济系统
  3. 启动(或重启)服务器
  4. 配置和数据文件夹会自动创建
  5. 编辑 plugins/GlymeraMerchant/config.json 配置商店和付费指令
  6. 在游戏中使用 /merchant reload 应用更改

数据存储

文件 用途
plugins/GlymeraMerchant/config.json 所有设置、商店和付费指令
plugins/GlymeraMerchant/data/balances.json 玩家金币余额(UUID -> 金额)
plugins/GlymeraMerchant/data/merchants.json 已生成的 NPC 商人位置和类型

所有数据在服务器重启后持续存在。余额每 5 分钟自动保存一次,并在服务器关闭时保存。


须知

  • NPC 商人能在服务器重启后存活——它们通过位置追踪并自动重生
  • NPC 使用自定义角色(GlymeraMerchantNPC),因此清理不会触及野生 NPC
  • 如果安装了 GlymeraHUD,金币 HUD 可以与之共存(多 HUD 支持)
  • 付费指令使用数据包级别的拦截——它们可以与任何插件的指令配合使用,不存在兼容性问题
  • 皮肤选择界面支持过滤(输入 /merchant create myshop:horse 仅显示马类模型)
  • 可以在配置中禁用 /shop 指令,强制玩家亲自访问 NPC 商人

由 Glymera 为 Hytale 社区精心制作