/stopwatch
原文:Commands/stopwatch;源修订:3757377。
Java 版独有命令;权限等级为 2。操作秒表以跟踪真实时间。测量不受游戏刻速率影响,即使暂停游戏、使用 /tick 或服务器卡顿也不受影响。因此它可用于检测和补偿卡顿,例如在数据包中编写函数时。
可以通过 /execute (if|unless) stopwatch 将已经过时间与一个数值范围比较。
用法
时间以毫秒精度计算,因此显示时使用保留三位小数的秒数,例如 43.961s。虽然 scale 参数可以使用任意数值,但大于 1000 的 scale 无法从整数返回值提取额外精度。
语法
| 语法 | 作用 |
|---|---|
stopwatch create <id> |
创建秒表,并立即开始计时。 |
stopwatch query <id> [<scale>] |
获取秒表的值,即自创建或重新启动以来经过的秒数。 |
stopwatch restart <id> |
重新启动秒表。 |
stopwatch remove <id> |
移除秒表。 |
参数
id(resource_location):指定要操作的秒表,必须是用于未注册内容的资源位置。
scale(double):指定返回值的乘数。例如 stopwatch query foo:bar 20 可获取以游戏刻为单位的经过时间。它不会影响聊天中显示的值。如果返回值超出 32 位有符号整数范围(小于 -2147483648 或大于 2147483647),会被钳制。
结果
命令不完整或参数指定不正确时无法解析。create 指定的秒表已存在时失败;query、restart 或 remove 指定的秒表不存在时失败。其他情况成功。
输出
失败时成功次数、success、result 均为 0。成功时成功次数和 success 均为 1;create、restart、remove 的 result 为 1,query 的 result 为秒表值乘以 <scale> 后向下取整的结果。
参考资料
来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。