配置说明
修改 config.yml、message.yml 和 cron/*.yml 后,可以使用 /ycron reload 重载。
配置文件
| 文件 / 目录 | 用途 |
|---|---|
config.yml | 基础设置 |
message.yml | 消息文本 |
cron/ | 定时任务节点 |
配置示例
yaml
# 是否开启调试模式
# 说明:调试模式会打印较多内部信息,仅在开发或排查 bug 时建议开启。
debug: false
# 是否启用 bStats
# 说明:bStats 会收集一些匿名使用数据(如插件版本、服务器软件等),用于插件开发者改进功能与兼容性。
# 该统计不包含个人可识别信息;如需完全不发送任何数据可设为 false。
# 详细说明与查看: https://bstats.org/plugin/bukkit/YlesCronTask/
metrics: trueyaml
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 里的顶层节点就是任务节点名。
| 字段 | 说明 |
|---|---|
cron | Quartz Cron 表达式 |
type | 任务类型,可用 server 或 player |
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]。