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;这些都是可选集成目标。
相关条目
- Mixins - 引用本枚举的条件判定
- GuiDrawMixin - 使用
CODECHICKEN_LIB_NEW_DRAWTOOLTIPBOX - BerryBushMixin - 使用
NATURA - BlockPamFruitMixin - 使用
HARVESTCRAFT