TargetedMod

基本信息

属性 值
类名 squeek.applecore.mixinplugin.TargetedMod
类型 enum implements ITargetMod,4 个枚举常量
启用版本 Minecraft 1.7.10

功能

Mixin 注册的条件判定来源,定义「某个目标 mod 是否存在、且是哪个版本形态」。

枚举常量 判定方式 匹配条件
CODECHICKEN_LIB setCoreModClass("codechicken.lib") coreModClass 为 codechicken.lib
CODECHICKEN_LIB_NEW_DRAWTOOLTIPBOX setTargetClass("codechicken.lib.gui.GuiDraw") + 类节点测试 目标类存在且含 drawTooltipBox 方法,描述符为 (IIIIIIII)V
HARVESTCRAFT setModId("harvestcraft") modid 为 harvestcraft
NATURA setModId("Natura") modid 为 Natura(首字母大写)

实现要点

  • 源码注释解释了 CODECHICKEN_LIB_NEW_DRAWTOOLTIPBOX 的存在原因: 新版 CodeChickenLib 会额外加一个 drawTooltipBox(IIIIIIII)V 重载, 所以只有检测到这个新方法时才应用对应 Mixin。
  • HARVESTCRAFT 与 CODECHICKEN_LIB 用的是 coreModClass 判据 (new TargetedMod(String, String) 构造器把首参当 coreModClass), NATURA 与 CODECHICKEN_LIB_NEW_DRAWTOOLTIPBOX 用 modId / 目标类判据。
  • HARVESTCRAFT 的 coreModClass 参数显式传 null。
  • 本 mod 自身不依赖上述任何 mod;这些都是可选集成目标。

相关条目