Skip to content

配置说明

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

配置文件

文件 / 目录用途
config.yml基础设置
message.yml消息文本
cron/定时任务节点

配置示例

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

# 是否启用 bStats
# 说明:bStats 会收集一些匿名使用数据(如插件版本、服务器软件等),用于插件开发者改进功能与兼容性。
#       该统计不包含个人可识别信息;如需完全不发送任何数据可设为 false。
# 详细说明与查看: https://bstats.org/plugin/bukkit/YlesCronTask/
metrics: true
yaml
server_notice:
  cron: "0 */5 * * * ?"
  type: server
  commands:
    - "[console]say 服务器定时公告"

player_notice:
  cron: "*/30 * * * * ?"
  type: player
  commands:
    - "[message]&a这是你的个人定时提醒"
yaml
MESSAGE:
  RELOAD: "配置文件重载完成"
  CRON_START_SUCCESS: "已为玩家 {0} 启动任务 {1}"
  CRON_STOP_SUCCESS: "已为玩家 {0} 关闭任务 {1}"
  CRON_TASK_NOT_FOUND: "未找到任务节点: {0}"
  CRON_TASK_NOT_PLAYER: "任务 {0} 不是玩家类型"
  CRON_TASK_ALREADY_RUNNING: "玩家 {0} 已在运行任务 {1}"
  CRON_TASK_NOT_RUNNING: "玩家 {0} 未运行任务 {1}"
  CRON_TASK_INVALID: "任务 {0} 的 cron 表达式无效"
  CRON_PLAYER_OFFLINE: "玩家不在线或玩家不存在"
COMMAND:
  RELOAD: "重载插件的配置文件"
  START: "为玩家启动Cron定时任务"
  STOP: "为玩家关闭Cron定时任务"
ADMIN:
  NO_PERMISSION_CMD: "你没有权限执行此指令"
  NO_CMD: "未找到此子指令"
  NO_FORMAT: "格式错误"
  NO_ONLINE: "玩家不在线或玩家不存在"
  PLUGIN_RELOAD: "插件已重载"
ERROR:
  USAGE_COMMAND: "未找到此子指令"

任务节点

cron/*.yml 里的顶层节点就是任务节点名。

字段说明
cronQuartz Cron 表达式
type任务类型,可用 serverplayer
commands触发后执行的命令列表

Cron 表达式

插件按 Quartz Cron 表达式解析时间。

示例说明
*/30 * * * * ?每 30 秒执行一次
0 */5 * * * ?每 5 分钟执行一次
0 0 12 * * ?每天 12:00 执行一次

任务类型

server 类型作用于服务器。插件加载或重载后会自动启动,只建议使用 [console][delay]

player 类型作用于指定玩家。需要使用 /ycron start <玩家名> <节点名> 启动,玩家离线后会自动停止。

命令说明

server 任务没有玩家上下文。

执行前会把 %player%%player_name% 替换为空字符串。未写命令标识时,也会按控制台命令执行。

server 任务建议只使用:

标识说明
[console]以控制台身份执行命令
[delay]延迟后续命令,单位 tick
无标识以控制台身份执行命令

player 任务会绑定到 /ycron start <玩家名> <节点名> 指定的在线玩家。

执行时会以该玩家作为上下文,可以使用玩家变量,也可以使用 YlesLib 支持的玩家命令类型,例如 [message][op][chat][actionbar]