Skip to content

这页专门讲 messages.yml

如果你想改:

  • 命令返回提示
  • 玩家转账成功 / 失败提示
  • 归档与清理结果提示
  • 运维状态输出文案
  • 颜色风格和措辞

就看这页。


1. messages.yml 是干什么的

messages.ymlHNEconomy 的统一消息文件。

它主要负责:

  • 命令反馈
  • 错误提示
  • 玩家交互提示
  • 运维状态输出
  • 流水 / 导出 / 归档相关文案

你可以把它理解成:

插件所有“给人看的文本出口”。


2. 文件位置

通常在插件数据目录下:

text
plugins/HNEconomy/messages.yml

如果你是改源码默认资源,则对应仓库位置在:

text
src/main/resources/messages.yml

但真正线上生效的通常是:

  • plugins/HNEconomy/messages.yml

3. 修改后怎么生效

改完后通常执行:

text
/hneco reload

当前版本重载后会重新读取消息内容。

如果你改完没有生效,优先检查:

  • 你改的是不是数据目录下的文件
  • YAML 缩进有没有写错
  • 有没有执行 /hneco reload

4. 当前消息分组结构

当前 messages.yml 主要分成这些分组:

  • common
  • money
  • balance
  • pay
  • pay-toggle
  • menu
  • reload
  • currency
  • treasury
  • top-balance
  • top-pay
  • status
  • log
  • log-archive
  • log-source
  • log-archive-source
  • log-business
  • log-archive-business
  • log-search
  • log-archive-search
  • export-log
  • export-archive
  • admin-balance
  • pay-stat
  • cleanup
  • suspicious

也就是说,当前消息文件已经覆盖:

  • 玩家命令
  • 管理命令
  • 归档命令
  • 导出命令
  • 清理状态
  • 风控查询

5. 最常见的几类文案

common

放通用错误,例如:

  • 玩家不存在
  • 货币不存在
  • 金额无效
  • 时间解析失败

pay

放玩家转账链路里的提示,例如:

  • 功能关闭
  • 无权限
  • 金额过小 / 过大
  • 转账成功 / 失败
  • 收款提醒

currency

放货币管理命令反馈,例如:

  • 创建货币成功 / 失败
  • 设置主货币成功 / 失败
  • 启用 / 禁用货币提示

status

/hneco status 运维总览相关输出,例如:

  • 主流水表条数
  • 归档流水表条数
  • 缓存状态
  • 最近一次清理结果

cleanup

/hneco cleanup 执行结果,例如:

  • 开始执行
  • 没有可清理数据
  • 清理完成
  • 清理失败

6. 消息里常见的占位符

当前消息里经常会用到这些占位符:

基础类

  • {input}
  • {message}
  • {time}
  • {count}

玩家类

  • {target_name}
  • {sender_name}
  • {player_name}

货币类

  • {currency_id}
  • {currency_name}
  • {balance_display}
  • {amount_display}
  • {min_amount}
  • {max_amount}

运维类

  • {entry_id}
  • {change_type}
  • {reason_text}
  • {source_type}
  • {source_id}
  • {business_id}
  • {created_at}

清理 / 状态类

  • {entry_count}
  • {hits}
  • {misses}
  • {interval_seconds}
  • {retention_days}
  • {duration_ms}
  • {summary}

此外,消息里也可以直接使用 HNCore economy 命名空间占位符,例如:

  • {economy.pay_receive_text}
  • {economy.treasury_name}

7. 一个最简单的改法示例

比如你想把转账成功提示从偏正式风格改得更轻一些。

原始可能类似:

yml
pay:
  success: "&a你已向 &e{target_name} &a转账 &f{amount_display}"

你可以改成:

yml
pay:
  success: "&a转账成功:已向 &e{target_name} &a支付 &f{amount_display}"

或者更运营化一点:

yml
pay:
  success: "&a支付完成,已向 &e{target_name} &a转出 &f{amount_display}"

改完后执行:

text
/hneco reload

8. 推荐的修改原则

原则 1:尽量保留原占位符

例如:

  • {target_name}
  • {amount_display}
  • {message}

这些最好保留,不要随手删掉。

否则玩家只能看到一条没有关键数据的提示。

原则 2:颜色风格统一

比如统一使用:

  • &a 成功
  • &e 警告
  • &c 失败
  • &7 辅助说明

这样整体体验会更稳定。

原则 3:运维类文案优先保证信息完整

status.*cleanup.*log.* 这类消息, 比起“好不好看”,更重要的是:

  • 信息别丢
  • 字段别删
  • 能让运维快速看懂

9. 最容易踩的坑

坑 1:把占位符删了

例如把:

yml
"&a已导出 &f{count} &a条流水到:&f{file_path}"

改成:

yml
"&a导出成功"

虽然能显示,但你就丢掉了:

  • 导出条数
  • 导出文件路径

坑 2:YAML 缩进写错

messages.yml 是标准 YAML。

如果缩进错了,重载时就可能读失败或部分键失效。

坑 3:把内部占位符语法改成外部 PlaceholderAPI 语法

在消息文件里,常见的是:

text
{economy.pay_receive_text}

而不是:

text
%hncore_economy_pay_receive_text%

消息模板和外部 PlaceholderAPI 用法不要混写。

坑 4:过度简化运维消息

statuscleanuplog 这一类消息, 如果为了“更短”把关键信息都删掉,后面排查问题会很难受。


10. 推荐怎么分工维护

如果你们团队里有不同角色,比较推荐这样分:

  • 服主 / 产品向同学:改玩家可见文案
  • 运维:改状态、清理、导出相关文案
  • 开发:新增消息键时同步补默认文案,并检查旧键兼容

这样最不容易把运维输出和玩家提示混乱掉。


推荐阅读

HN 系列插件文档