TagTime

8 个游戏内 / 现实时间 tag

基本信息

属性 值
路径 com.github.lunatrius.ingameinfo.tag.TagTime
行数 120
分类 time
注册 tag 数 8

全部 8 个 tag

tag 名 内部类 取值
worldtimetotal MinecraftTotal 累计世界时间
day MinecraftDay 游戏内天数
mctimeh MinecraftHour 游戏内小时(24 制)
mctimem MinecraftMinute 游戏内分钟
mctime24 Minecraft24 24 小时制完整时间
mctime12 Minecraft12 12 小时制完整时间(带 AM/PM)
rltime24 Real24 现实时间 24 制
rltime12 Real12 现实时间 12 制

⚠️ 命名混乱:day 是唯一不带前缀的, 其余 7 个分成 mctime*(游戏内)与 rltime*(现实)两组, 但 mctimeh / mctimem / mctime24 / mctime12 四个混在一起 —— 前两个是分量,后两个是完整时刻。

⚠️ rl = real life(现实时间),不是 “reload”。

换算常数

项 公式 出处
天数 worldTime / 24000 :38
小时 (worldTime / 1000 + 6) % 24 :46
分钟 (worldTime % 1000) * 60 / 1000 :55
累计 totalWorldTime / 20,再拆 dd/hh/mm/ss :20-24

⚠️ 小时公式里的 + 6:Minecraft 一「天」是 24000 tick, 但作者把 1000 tick 当作一小时来算(24000/1000 = 24), 而原版 0 tick 对应游戏内 6:00 AM,所以加 6 偏移。 分钟同理用 * 60 / 1000。 这套换算与原版昼夜周期(24000 tick)自洽,但和 MinecraftDay(/24000)用的是两套不同的时间刻度 —— day 是完整 24000 tick 一天,mctimeh 是 1000 tick 一小时。

⚠️ MinecraftTotal(:26-30)在天数 ≥ 1 时输出 "%dd %02d:%02d:%02d",否则只输出 "%02d:%02d:%02d" —— 格式会随天数跳变,下游按固定宽度解析会出错。

Locale

多个方法用 String.format(Locale.ENGLISH, ...)(:38、:47、:55) 强制英文 locale,避免玩家系统 locale 影响数字格式。

现实时间

Real24 / Real12 走 java.text.SimpleDateFormat + new Date() (:3-4 导入),取系统时钟。与 TagMisc 的 JVM 指标同属 「客户端本地信息」,不进网络。

相关

  • Tag - 基类
  • TagWorld - daytime / nextrain 等世界时间相关