Skip to content

配置说明

修改 config.ymlmessage.ymlcommands/*.yml 后,可以使用 /yfc reload 重载。

配置文件

文件 / 目录用途
config.yml基础设置
message.yml消息文本
commands/进服命令规则

配置示例

下面是一个精简后的规则示例。复制时注意文件路径。

yaml
# 是否开启调试模式
# 说明:调试模式会打印较多内部信息,仅在开发或排查 bug 时建议开启。
debug: false

# 是否启用 bStats
# 说明:bStats 会收集一些匿名使用数据(如插件版本、服务器软件等),用于插件开发者改进功能与兼容性。
#       该统计不包含个人可识别信息;如需完全不发送任何数据可设为 false。
# 详细说明与查看: https://bstats.org/plugin/bukkit/YlesFirstCommand/
metrics: true
yaml
# 顶层节点名不可重复
新手进服:
  # 进服后多久执行,单位:秒
  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] 表示以控制台身份执行。