Help、Help-Key 与 Hint-Keys
MatrixShop 当前的命令帮助有三层:
- 固定命令列表
Help-KeyHelp
其中:
Help-Key负责“主入口一句话描述”Help负责“多行补充说明”Hint-Keys负责“某个子动作的提示键”
这三个字段写在哪里
模块级
适用于没有 shops/*.yml 的模块,例如:
SystemShopChestShopCartRecord
写在:
Bindings:
Commands:
...
商店级
适用于带 shops/*.yml 的模块,例如:
PlayerShopGlobalMarketAuctionTransaction
也写在:
Bindings:
Commands:
...
只是位置在 shops/*.yml 里。
Help-Key
这是一个 i18n key,对应主帮助列表中的一句描述。
例如:
Help-Key: '@commands.bindings.auction'
这会影响:
/ms help/auction help/ms auction help
Help
这是多行帮助文本,会在模块帮助页里优先显示。
支持两种写法。
写法 1:列表
Help:
- '&7拍卖模块支持英式拍卖与荷兰式拍卖。'
- '&7打开大厅: &f{command} open'
- '&7上架物品: &f{command} upload <english|dutch> <起拍价> [一口价|结束价] [时长]'
写法 2:多行字符串
Help: |-
&7交易记录用于查看成交、退款和统计信息。
&7打开记录页: &f{command} open [关键字]
&7查看详情: &f{command} detail <记录ID>
当前实现两种都支持。
Hint-Keys
Hint-Keys 用于某个子动作的提示文案。
例如:
Hint-Keys:
open: '@commands.bindings.auction'
bid: '@commands.hints.auction-bid'
upload-english: '@commands.hints.auction-upload-english'
模块代码在需要时会按 key 读取:
openbiduploadrequestmoneyexpamount
具体支持哪些 key,取决于模块本身。
可用占位符
在 Help 文本里当前可以稳定使用:
| 占位符 | 说明 |
|---|---|
{command} | 当前实际使用的命令前缀 |
{binding} | 当前绑定命令,不含 / |
{shop-id} | 当前商店 id |
{shop} | 当前商店 id |
这意味着:
/auction help会显示/auction .../ah help会显示/ah .../cart help会显示/cart ...
一个完整示例
Auction/shops/default.yml
Bindings:
Commands:
Bindings:
- 'auction'
- 'ah'
Register: true
Show-In-Help: true
Priority: 100
Help-Key: '@commands.bindings.auction'
Hint-Keys:
open: '@commands.bindings.auction'
bid: '@commands.hints.auction-bid'
upload-english: '@commands.hints.auction-upload-english'
upload-dutch: '@commands.hints.auction-upload-dutch'
Help:
- '&7拍卖模块支持英式拍卖与荷兰式拍卖。'
- '&7打开大厅: &f{command} open'
- '&7上架物品: &f{command} upload <english|dutch> <起拍价> [一口价|结束价] [时长]'
- '&7出价: &f{command} bid <id> [价格]'
- '&7管理自己的拍卖: &f{command} manage'
Cart/settings.yml
Bindings:
Commands:
Bindings:
- 'cart'
Register: true
Show-In-Help: true
Priority: 40
Help-Key: '@commands.bindings.cart'
Hint-Keys:
open: '@commands.bindings.cart'
amount: '@commands.hints.cart-amount'
Help:
- '&7购物车会汇总可结算的条目。'
- '&7打开购物车: &f{command} open'
- '&7打开结算预览: &f{command} checkout [valid_only]'
- '&7确认结算: &f{command} checkout confirm [valid_only]'
- '&7调整数量: &f{command} amount <槽位> <数量>'
当前表现
现在默认模块的帮助行为是:
- 先输出
Help多行说明 - 再输出固定命令列表
如果没有 Help:
- 就只显示固定命令列表
重载与生效
Help、Help-Key、Hint-Keys 都属于配置内容。
当前行为:
/matrixshopadmin reload后即可更新- 不需要重启服务器
唯一例外仍然是:
- 独立命令关键字本身
Register
这两类改动仍建议重启后验证。