TagTerraFirmaCraft

9 个 TFC 气候 / 日历 tag

基本信息

属性 值
路径 com.github.lunatrius.ingameinfo.integration.terrafirmacraft.tag.TagTerraFirmaCraft
行数 257(5 个集成 tag 类里最长,也是全 mod 第 6 大文件)
父类 TagIntegration
分类 由子类给出
注册 tag 数 9

9 个 tag

气候(4)

tag 名 取值
tfcrainfall 降雨量
tfctemperature 温度
tfcaveragetemperature 平均温度
tfctemperatureheatsources 温度热源列表

⚠️ tfctemperature 与 tfcaveragetemperature 命名顺序反直觉: tfctemperature 是当前温度,tfcaveragetemperature 才是平均 —— 「当前」的名字反而更短。

季节(1)

tag 名 取值
tfcseason 当前季节

⚠️ TFC 的季节是 4 个(Spring/Summer/Fall/Winter), 本类只给名字,不给数字 ID —— 对比 TagWorld 的 difficulty / difficultyid 成对提供「名字 + ID」的模式,这里没有配对的 tfcseasonid。

日期(4)

tag 名 取值
tfcdate 完整日期
tfcday 日
tfcmonth 月
tfcyear 年

⚠️ TFC 的日历是 8 天 / 8 月 的(每「月」8 天,共 64 天一轮), 不是原版的 10 天 / 12 月。所以 tfcday 范围 1–8、tfcmonth 1–8, 与 TagTime 的 day(原版 /24000)语义完全不同。

所以 tfcday 与 day 不能混用或对比。

257 行的构成

9 个 tag 占了 257 行 → 平均 28 行/tag, 远高于内置 tag 类(如 TagTime 8 个 / 120 行 = 15 行/tag)。

原因是 TFC 的温度/降雨需要季节修正与热源累加 —— tfctemperatureheatsources 要枚举周围方块的热源, 属于本 mod 中单 tag 计算最重的一个。

前置条件(双重)

条件 说明
① Loader.isModLoaded("terrafirmacraft") Plugin.canLoad 的判定
② TFC coremod 已加载 需 VM 参数 -Dfml.coreMods.load=com.bioxx.tfc.TFCASMLoadingPlugin(见 TerraFirmaCraft)

条件 ②不满足时 TFC 装不上,条件 ① 也不会为真。

依赖

compileOnly('curse.maven:tfcraft-302973:2627990')。 TFC 不在 Wiki 收录范围,故不建分类。

注册时机

由 TerraFirmaCraft 的 load() 调本类的 register(), 经 PluginLoader.postInit(:60-69)。

⚠️ 同样晚于 ClientProxy 的 core.reloadConfig(),首次启动时这 9 个 tag 都会是 <ERROR>。

相关