/stopwatch

/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 Snapshot 25w42a。

来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。