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 指标同属
「客户端本地信息」,不进网络。