ModTiCTooltips

模组主类:FML 依赖串、客户端事件注册、三个软依赖探测

基本信息

属性 值
路径 squeek.tictooltips.ModTiCTooltips
行数 62
注解 @Mod(modid=ModInfo.MODID, ...) + acceptableRemoteVersions = "*"

FML 依赖串(ModTiCTooltips.java:26)

dependencies = "required-after:TConstruct@[1.7.10-1.8,);after:ExtraTiC;after:TSteelworks;after:Mariculture"
  • 唯一硬依赖 TConstruct,且带版本区间 [1.7.10-1.8,)。 详见分类页与 tinkersconstruct。
  • after: 三项(ExtraTiC / TSteelworks / Mariculture)均为软依赖, 只影响加载顺序,不影响是否加载本 mod。
  • ⚠️ after:TSteelworks 没有任何对应实现代码,见 ProxyExtraTiC 一节的缺陷说明。

生命周期

事件 处理器 说明
FMLInitializationEvent init(:35) 唯一注册动作:MinecraftForge.EVENT_BUS.register(new TooltipHandler())
FMLPostInitializationEvent postInit(:41) 探测软依赖 + 计算材料极值 + 上报版本

两个方法都带 @SideOnly(Side.CLIENT) —— 本 mod 纯客户端,服务端不注册任何东西。

postInit 的探测顺序(:42-51)

if (Loader.isModLoaded("ExtraTiC"))            ProxyExtraTiC.init();
if (Loader.isModLoaded("Mariculture"))         ProxyMariculture.init();
if (Loader.isModLoaded("IguanaTweaksTConstruct")) {
    hasIguanaTweaks = true;                    // 这个静态标志会影响另外两处分支
    ProxyIguanaTweaks.init();
}
ToolHelper.init();                             // 空方法
ToolPartHelper.determineMinAndMaxValues();     // 扫描全材料表算出着色区间

注意 IguanaTweaksTConstruct 不在 FML 依赖串里,只靠 Loader.isModLoaded 探测。 它设置的静态字段 hasIguanaTweaks(:30)被 TooltipHandler 读了两次:

  • :65 —— 图纸 tooltip 被整个禁用(有 IguanaTweaks 时交给它自己显示)
  • :171 —— 工具 tooltip 前额外插一个空行

版本检查上报(:56-60)

FMLInterModComms 向 VersionChecker 发 addVersionCheck, URL http://www.ryanliptak.com/minecraft/versionchecker/squeek502/TiC-Tooltips。 这是 squeek 早年的通用版本检查服务,不是 1.7.10 插件扫描器。

静态成员

成员 类型 用途
hasIguanaTweaks boolean IguanaTweaksTConstruct 是否在场的缓存标志
Log Logger LogManager.getLogger(ModInfo.MODID),供三个 Proxy 打错误日志

相关