随时间

随时间

一个功能强大且灵活的Minecraft计时器模组。创建自定义计时器,具有屏幕显示和命令执行功能——非常适合小游戏、活动以及服务器自动化任务。

OnTime ⏱️

一个强大且灵活的 Minecraft 计时器模组。创建带有屏幕显示、动态时间表达式、事件触发器和内置 Web 管理面板的自定义计时器——非常适合小游戏、活动、整合包和自动化服务器任务。

Modrinth Downloads

CurseForge Downloads

![Fabric](https://img.shields.io/badge/Fabric-1.20.1 | 1.21.1--1.21.11 | 26.1--26.2-dbd0b4?style=for-the-badge) ![NeoForge](https://img.shields.io/badge/NeoForge-1.21.1--1.21.11 | 26.1--26.2-f16a20?style=for-the-badge) Forge

![Environment](https://img.shields.io/badge/Env-Client & Server-4a90d9?style=for-the-badge)

Wiki Issues


✨ 功能特性

🕐 计时器系统

  • 创建和管理多个命名计时器
  • 倒计时和正计时模式
  • 随时启动、暂停、恢复、停止、重置和移除计时器
  • 在运行中的计时器上添加或覆盖时间
  • 计时器在服务器重启后仍然保留,并自动从上次暂停处恢复
  • 重复模式 — 将计时器循环固定次数或无限循环,并可选在重复之间设置冷却时间
  • 计时器序列 — 链式连接计时器,使当前计时器结束时下一个自动启动,并可选在步骤之间设置冷却时间
  • 单计时器独立文件 — 每个计时器存在于独立的 config/ontime/timers/<名称>.json 文件中,便于备份和版本控制
  • 导出 / 导入 / 克隆 — 使用 /timer export、/timer import、/timer clone 在世界或实例之间共享计时器

🧮 动态时间表达式

  • 使用数学表达式定义计时器时长,命令执行时即时求值
  • 支持 + - * / %、括号和实时变量:players_online、score(<计分板目标>, <持有者>)、ftb_quest_completed(<ID>)、ftb_reward_claimed(<ID>)
  • 可用于 /timer expr create、/timer expr set、/timer expr add

🎯 条件与触发器

  • 计分板条件 — 当计分板目标达到目标值时结束(或启动)计时器
  • 条件表达式 — 完整的布尔 DSL,支持 &&、||、!、>、<、>=、<=、==、!=,以及诸如 time_remaining、time_elapsed、players_online、score(...) 等值
  • 原版事件触发器 — 在 player_death(玩家死亡)、dimension_change(维度切换,任意或特定维度)、advancement(进度,特定ID)时触发计时器
  • FTB Quests 触发器 — 通过十六进制 ID 在任务完成或奖励领取时触发
  • 每个条件/触发器均可配置为启动或结束相关计时器

🖥️ 服务器控制的显示

  • 实时屏幕覆盖层,同步至所有已连接的玩家
  • 平滑、抗抖动的客户端渲染 — 计数器像真实挂钟一样更新,无视觉不同步
  • 10 个位置预设:Boss 血条、快捷栏上方信息、顶部/居中/底部变体,以及自定义
  • 逐玩家可见性控制 — 管理员可为特定玩家显示或隐藏计时器
  • 可调节缩放(0.1倍 至 5.0倍)
  • 基于剩余时间的动态颜色渐变(可配置阈值和颜色)
  • 所有显示设置均由服务器端管理并自动推送给客户端
  • 计时器标题 — 计数器上方、下方、左侧或右侧的装饰性文本,支持纯文本或 tellraw 风格的 JSON,按计时器单独设置(/timer title)
  • 活动计时器同步至计分板 — ontime_active 目标每秒更新,可与 /execute if score 配合使用
  • Jade 兼容性 — 当计时器与 Jade 的覆盖层重叠时,Jade 会被轻微推开;自动恢复

🔊 音效

  • 通过 /timer sound 配置滴答音效、音量和音调
  • 管理员通过 /timer silent 管理每个玩家的音效开关

⚡ 命令执行

  • 将任意服务器命令附加到计时器上,在完成时自动执行
  • 计划命令 — 在中间时间点触发命令,并可在每个时间点链式执行多条命令,同时保留经典的完成命令功能(/timer commands)
  • 命令延迟 — 在按顺序执行的命令之间可配置可选停顿
  • 占位符系统:可在命令中使用 {name}、{time}、{seconds}、{ticks}、{target}、{mode}

🌍 Web 管理面板

  • 模组自带的 HTTP+SSE 内置仪表板 — 无需额外服务器
  • 实时查看所有计时器,启动/暂停/停止/重置,编辑名称/时长/命令/条件,浏览历史记录,更改显示配置
  • 闲置 5 分钟后自动关闭(提前 1 分钟向管理员警告);服务器停止时干净关闭
  • 按需启停:/timer webpanel start [端口]、/timer webpanel stop、/timer webpanel info
  • 默认端口:25580

📋 历史记录

  • 每次计时器完成都会记录到 config/ontime/history.json 中,包含名称、时长、模式、命令和时间戳
  • 可从 Web 面板浏览

⚙️ 配置

  • 通过 Cloth Config(Fabric 上还有 ModMenu)提供游戏内配置界面
  • JSON 配置文件位于 config/ontime/ 目录下
  • 可选的 WebSocket 服务器,用于外部集成(面板、Discord 机器人)— 在 config.json 中启用。默认端口:25581

🔌 API 与集成

  • OnTime API — 创建、查询、控制计时器并注册事件回调(onStart、onFinish、onPause、onResume、onTick)
  • 外部完成条件 — 注册自定义 Supplier<Boolean>,可从其他模组停止计时器
  • 自定义渲染器 API — 从客户端模组完全替换计时器 HUD 渲染器
  • LuckPerms 支持 — 每个子命令的按节点权限控制,并为 OP 提供回退
  • 入口点系统 — Fabric 入口点和 NeoForge/Forge IMC
  • Placeholder API 集成(Fabric)
  • FTB Quests 集成(编译期可选,运行时自动检测)
  • Jade 集成(运行时自动检测)

🎮 快速命令参考

# 生命周期
/timer create <名称> <时> <分> <秒> [countUp] [命令]
/timer set <名称> <时> <分> <秒>
/timer add <名称> <时> <分> <秒>
/timer start <名称>
/timer pause
/timer stop
/timer reset [名称]
/timer remove <名称>

# 动态表达式(高级)
/timer expr create <名称> <表达式>
/timer expr set <名称> <表达式>
/timer expr add <名称> <表达式>

# 行为
/timer command <名称> [命令]
/timer commands <名称> add <时> <分> <秒> <命令>
/timer commands <名称> add finish <命令>
/timer commands <名称> list | remove <索引> | clear
/timer title <名称> <above|below|left|right> <文本|clear>
/timer title <名称> [clear]
/timer repeat <名称> [次数] [冷却秒数]
/timer sequence <名称> [下一名称|clear] [冷却秒数]
/timer condition <名称> <计分板目标> <分数> [目标] | clear | if <表达式> | if_start <表达式>
/timer trigger <名称> <player_death|dimension_change|advancement|ftb_quest|ftb_reward> [...] [start|finish] | clear

# 共享
/timer export <名称>
/timer import <文件名> [新名称]
/timer clone <源名称> <目标名称>

# Web 面板
/timer webpanel start [端口]
/timer webpanel stop
/timer webpanel info

# 显示
/timer position <预设>
/timer sound <音效ID> [音量] [音调]
/timer scale <数值>
/timer hide [目标]
/timer silent [目标]

# 其他
/timer list
/timer help [页数|命令]

🌐 本地化

支持英语、西班牙语(阿根廷 / 西班牙 / 墨西哥)。


💬 链接

Wiki Issues


由 MateoF24 创建 — 基于 MIT 许可发布