TimedActions

一个全面的Spigot/Paper Minecraft插件,允许服务器管理员使用Minecraft时间以及现实世界时间,在特定间隔安排和执行命令。

资源图片
# 定时动作 一个强大的 Spigot/Paper Minecraft 插件,允许服务器管理员使用 Minecraft 时间和现实时间来安排和执行命令,并在特定间隔内运行。 ## 功能 ### 核心功能 - **双时间模式**: 根据以下任一条件安排操作: - Minecraft 天(游戏时间) - 现实时间(秒、分钟、小时、天) - **命令执行**: 在计划触发时运行任何服务器命令 - **PlaceholderAPI 集成**: 命令和消息中完全支持占位符 - **多个计划**: 使用不同的时间配置无限数量的单独计划 - **广播消息**: 计划触发时可选的广播消息 - **控制台日志**: 可配置的计划触发日志记录 ### 管理员命令 - `/timedactions reload` - 重新加载配置并重新启动所有计划 - `/timedactions list` - 显示所有配置的计划及其状态 - `/timedactions trigger ` - 手动触发一个特定的计划 ### 权限 - `timedactions.admin` - 访问所有管理员命令 (默认: op) ## 配置 ### 示例 config.yml ```yaml # TimedActions 配置 schedules: borderShrink: mode: minecraft_days # minecraft_days 或 real_time interval: 5 # 5 minecraft 天 commands: - "worldborder set 5000" - "say The world border is now %worldborder_size%!" broadcast: "&c世界边框每 5 天缩小一次!当前大小: %worldborder_size%" console-log: true giveDiamonds: mode: real_time # real_time 模式 interval: 1h # 1 小时 (支持: s, m, h, d 分别代表秒、分钟、小时、天) commands: - "give %player_name% diamond 1" - "eco give %player_name% 100" # Vault 集成 broadcast: "&b%player_name% 收到了一颗钻石和 $100!" console-log: true rankUp: mode: real_time interval: 7d # 7 天 commands: - "lp user %player_name% parent add veteran" broadcast: "&6%player_name% 在 7 天后晋升为 Veteran!" console-log: true # 全局设置 settings: # 是否启用 PlaceholderAPI 支持 placeholder-api: true # 所有广播消息的前缀 broadcast-prefix: "&8[&6TimedActions&8]&r " # 是否将所有计划触发记录到控制台 global-console-log: true ``` ### 计划配置 每个计划支持以下选项: - **name**: 计划的唯一标识符 - **mode**: `minecraft_days` 或 `real_time` - **interval**: - 对于 `minecraft_days`:Minecraft 天数 - 对于 `real_time`:时间,带有后缀(s=秒,m=分钟,h=小时,d=天) - **commands**: 要执行的命令列表(支持占位符) - **broadcast**: 可选的广播给所有玩家的消息(支持占位符) - **console-log**: 布尔值,是否将此计划的执行记录到控制台 ### 时间间隔 实时的间隔支持: - `30s` - 30 秒 - `5m` - 5 分钟 - `2h` - 2 小时 - `1d` - 1 天 - `7d` - 7 天 ## 插件集成 ### PlaceholderAPI 在以下内容中完全支持所有 PlaceholderAPI 占位符: - 命令 - 广播消息 - 内置占位符,例如 `%player_name%` ### 常见插件示例 #### WorldBorder 集成 ```yaml schedules: borderShrink: mode: minecraft_days interval: 5 commands: - "worldborder set 5000" broadcast: "&c世界边框已经缩小!" ``` #### Vault 经济集成 ```yaml schedules: dailyReward: mode: real_time interval: 1d commands: - "eco give %player_name% 100" broadcast: "&a%player_name% 收到每日 $100 奖励!" ``` #### LuckPerms 集成 ```yaml schedules: weeklyPromotion: mode: real_time interval: 7d commands: - "lp user %player_name% parent add veteran" broadcast: "&6%player_name% 已晋升为 Veteran!" ``` ## 依赖 ### 必需 - **BlueSlimeCore** - 核心 API 框架 - ### 可选 (软依赖) - **PlaceholderAPI** - 用于命令和消息中的占位符支持 - **Vault** - 用于经济命令集成 - **LuckPerms** - 用于权限管理命令 - **WorldBorder** - 用于世界边框操作命令 ## 安装 1. 下载插件 JAR 文件 2. 将其放在服务器的 `plugins` 文件夹中 3. 确保已安装 BlueSlimeCore 4. 重新启动服务器 5. 在 `plugins/TimedActions/config.yml` 中配置计划 6. 使用 `/timedactions reload` 应用更改 ## API 信息 - **Minecraft 版本**: 1.13+ - **服务器软件**: Spigot, Paper 或兼容的分支 - **Java 版本**: 8+ ## 命令摘要 | 命令 | 权限 | 描述 | |---|---|---| | `/timedactions reload` | `timedactions.admin` | 重新加载配置并重新启动计划 | | `/timedactions list` | `timedactions.admin` | 列出所有配置的计划 | | `/timedactions trigger ` | `timedactions.admin` | 手动触发一个计划 | ## 支持 此插件旨在具有可扩展性和可维护性。未来的功能可能包括: - 计划的随机延迟 - 每个世界的计划配置 - 基于权限的计划触发 - 高级基于条件的调度 - 用于计划管理的 Web 界面 ## 许可证 详情请参阅 LICENSE 文件。