/time
图片处理:未转载源站游戏图像;具体物品、实体、效果或界面说明以中文文字保留。
原文:Commands/time;源修订:3886905。
权限等级:Java 版为 2,基岩版为 1;基岩版需要开启作弊。更改或查询世界的游戏时间,或世界时钟的时间。源页面标记基岩版世界时钟功能相关内容需要更新。
用法
本命令涉及以下时间概念:
- Gametime(游戏总时间):世界已经过的游戏刻总数。以 64 位有符号整数存储,但返回时对
2^31 - 1取模。 - Daylight cycle time(昼夜循环时间,又称 internal daytime):昼夜循环已经过的游戏刻总数。游戏规则
advance_time为false时不增加。 - Daytime(日内时间):当前日从日出开始经过的游戏刻数,等于昼夜循环时间对 24000 取模。
- Day(天数):昼夜循环已经过的天数,等于昼夜循环时间除以 24000 后向下取整。
- World clock time(世界时钟时间):世界时钟所设置的时间。
Java 版中,如果世界被 /tick 冻结,前四种时间不会流逝。
Java 版的 /time set ... 总是直接把昼夜循环时间设为指定数值。基岩版中,如果指定 time: TimeSpec,命令会增加昼夜循环时间,使其达到指定的时刻。
例如,Java 版执行 /time set day 或 /time set 1000 都会把昼夜循环时间设为 1000,使 day 返回 0。基岩版执行 /time set 1000 也会直接设为 1000;但执行 /time set day 时,如果当前昼夜循环时间为 25001(1 天加 1001 刻),它不会变成 1000 或 25000,因为使用 TimeSpec 只会增加时间。它会变为 49000(2 天加 1000 刻),day 变为 2。若当前时间已为 25000(1 天加 1000 刻),则保持不变。
语法
Java 版:
| 语法 | 作用 |
|---|---|
time add <time>;time of <clock> add <time> |
给指定世界时钟的昼夜循环时间加上 <time>。 |
time pause;time of <clock> pause |
暂停指定世界时钟。 |
time query gametime |
查询世界经过的游戏刻数,返回时按上述规则取模。 |
time query time;time of <clock> query time |
查询 <clock> 已经过的游戏刻数。 |
time query <timeline> repetition;time of <clock> query <timeline> repetition |
查询 <clock> 的 <timeline> 已经过的重复次数。 |
time query <timeline>;time of <clock> query <timeline> |
查询 <clock> 的 <timeline> 本次重复中已过去的游戏刻数。 |
time rate <rate>;time of <clock> rate <rate> |
设置指定世界时钟的时间推进速率倍数。 |
time resume;time of <clock> resume |
恢复指定世界时钟。 |
time set (<time>|<timemarker>);time of <clock> set (<time>|<timemarker>) |
将指定世界时钟的昼夜循环时间设为数值或时间标记,例如 day、night、noon、midnight。 |
基岩版:
| 语法 | 作用 |
|---|---|
time add <amount: int> |
给昼夜循环时间增加指定值。 |
time query <daytime|gametime|day> |
查询当前时间。 |
time set <amount: int>;time set <time: TimeSpec> |
设置昼夜循环时间。 |
参数
time(time)或 amount: int(int):指定要增加或设置的时间。Java 版最小值为 0。
daytime|gametime|day:指定查询的时间类型,必须为这三个值之一。
Java 版的 day|night|noon|midnight,或基岩版的 time: TimeSpec:指定要设置的时间,取下列值:
| 图标 | 值 | 游戏刻 |
|---|---|---|
sunrise(仅基岩版) |
23000 | |
day |
1000 | |
noon |
6000 | |
sunset(仅基岩版) |
12000 | |
night |
13000 | |
midnight |
18000 |
Java 版的 clock(resource):指定要操作的世界时钟。省略 of <clock> 时,默认为执行维度的默认世界时钟。当前只有主世界与末地具有默认世界时钟,分别为 minecraft:overworld 和 minecraft:the_end。在没有默认世界时钟的维度中省略该参数会产生错误。必须是 minecraft:world_clock 注册表中条目的命名空间标识符。
Java 版的 timemarker(resource):指定要设置到的时间标记,必须为命名空间标识符。执行时,命令会尝试据此获取未注册项目,或将标识符发送至客户端处理。
Java 版的 timeline(resource):指定要查询的时间线,必须是 minecraft:timeline 注册表中条目的命名空间标识符。
结果
命令不完整或任意参数指定不正确时无法解析。
指定世界时钟不存在、当前维度没有默认世界时钟、时间线不属于指定时钟、时间标记不存在,或时钟已经处于所指定的时间、暂停状态、运行状态或速率时,产生错误。其他情况成功。
输出
源修订输出表列出的 Java 版结果:成功次数与 success 均为 1;add、set 的 result 为执行后的日内时间(昼夜循环时间对 24000 取模);query 的 result 为查询到的值。
基岩版失败时成功次数为 0,成功时为 1。
示例
把昼夜循环时间设为 1000:
time set 1000
给昼夜循环时间增加一天:
time add 24000
更改或重置游戏内天数为指定值:time set <desired day number*24000+time of day in ticks>。例如,设为第 472 天的正午(6000):
time set 11334000
外部链接
Microsoft Learn:/time 命令(2023 年 10 月 11 日)。
来源为 Minecraft Wiki;本中文翻译/改编按 CC BY-NC-SA 3.0 共享。