配置说明
修改 config.yml、message.yml 和 commands/*.yml 后,可以使用 /yfc reload 重载。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 基础设置 |
message.yml | 消息文本 |
commands/ | 进服命令规则 |
配置示例
下面是一个精简后的规则示例。复制时注意文件路径。
yaml
# 是否开启调试模式
# 说明:调试模式会打印较多内部信息,仅在开发或排查 bug 时建议开启。
debug: false
# 是否启用 bStats
# 说明:bStats 会收集一些匿名使用数据(如插件版本、服务器软件等),用于插件开发者改进功能与兼容性。
# 该统计不包含个人可识别信息;如需完全不发送任何数据可设为 false。
# 详细说明与查看: https://bstats.org/plugin/bukkit/YlesFirstCommand/
metrics: trueyaml
# 顶层节点名不可重复
新手进服:
# 进服后多久执行,单位:秒
delay: 3
# 判断条件,基于 YlesLib ConditionApi
condition:
- "permission:{firstcommand.new}"
- "papi:{%player_level% >= 1}"
# 条件通过消息,可删除
succeed-message: "&a欢迎回来,命令已执行。"
# 条件不通过消息,可删除
fail-message: "&c当前条件不满足。"
# 条件通过执行的命令,可删除
succeed-command:
- "[console]say %player_name% 条件通过"
# 条件不通过执行的命令,可删除
fail-command:
- "[console]say %player_name% 条件不通过"yaml
MESSAGE:
RELOAD: "&a重载成功"
COMMAND:
RELOAD: "重载插件的配置文件"
ADMIN:
NO_PERMISSION_CMD: "你没有权限执行此指令"
NO_CMD: "未找到此子指令"
NO_FORMAT: "格式错误"
NO_ONLINE: "玩家不在线或玩家不存在"
PLUGIN_RELOAD: "插件已重载"
ERROR:
USAGE_COMMAND: "未找到此子指令"规则节点
commands/*.yml 里的顶层节点就是一条规则。
玩家进入服务器后,插件会读取所有规则。每条规则会先等待 delay 秒,再判断 condition,然后执行成功或失败分支。
条件
condition 用于判断玩家状态和主手物品。
| 条件 | 说明 |
|---|---|
name:{文本} | 完全匹配主手物品名 |
contain_name:{文本} | 主手物品名包含指定文本 |
lore:{文本} | 完全匹配一行 Lore |
contain_lore:{文本} | Lore 任意一行包含指定文本 |
material:{DIAMOND_PICKAXE} | 匹配主手物品类型 |
custom_model_data:{114514} | 匹配 CustomModelData,仅 1.14+ 有效 |
item_model:{minecraft:test} | 匹配 ItemModel,仅 1.21.2+ 有效 |
permission:{权限} | 玩家拥有指定权限 |
no_permission:{权限} | 玩家没有指定权限 |
papi:{%player_level% > 100} | PlaceholderAPI 数值判断 |
papi:{%player_name% == Ylesss} | PlaceholderAPI 字符串判断 |
nbt:{文本} | 主手物品 NBT 包含指定文本 |
提示
多个条件会按“全部满足”处理。
命令分支
| 配置项 | 说明 |
|---|---|
succeed-message | 条件通过后发送给玩家的消息 |
fail-message | 条件失败后发送给玩家的消息 |
succeed-command | 条件通过后执行的命令列表 |
fail-command | 条件失败后执行的命令列表 |
命令内容由 YlesLib 的命令执行接口处理,示例里的 [console] 表示以控制台身份执行。