主题
这页专门讲 messages.yml。
如果你想改:
- 命令返回提示
- 玩家转账成功 / 失败提示
- 归档与清理结果提示
- 运维状态输出文案
- 颜色风格和措辞
就看这页。
1. messages.yml 是干什么的
messages.yml 是 HNEconomy 的统一消息文件。
它主要负责:
- 命令反馈
- 错误提示
- 玩家交互提示
- 运维状态输出
- 流水 / 导出 / 归档相关文案
你可以把它理解成:
插件所有“给人看的文本出口”。
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 主要分成这些分组:
commonmoneybalancepaypay-togglemenureloadcurrencytreasurytop-balancetop-paystatusloglog-archivelog-sourcelog-archive-sourcelog-businesslog-archive-businesslog-searchlog-archive-searchexport-logexport-archiveadmin-balancepay-statcleanupsuspicious
也就是说,当前消息文件已经覆盖:
- 玩家命令
- 管理命令
- 归档命令
- 导出命令
- 清理状态
- 风控查询
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 reload8. 推荐的修改原则
原则 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:过度简化运维消息
像 status、cleanup、log 这一类消息, 如果为了“更短”把关键信息都删掉,后面排查问题会很难受。
10. 推荐怎么分工维护
如果你们团队里有不同角色,比较推荐这样分:
- 服主 / 产品向同学:改玩家可见文案
- 运维:改状态、清理、导出相关文案
- 开发:新增消息键时同步补默认文案,并检查旧键兼容
这样最不容易把运维输出和玩家提示混乱掉。
