运行时集成
基本信息
| 属性 | 值 |
|---|---|
| 加载检查数 | 18 |
| 检测 API | cpw.mods.fml.common.Loader.isModLoaded(String) |
| 分布位置 | AlchemicalWizardry.java 的 load()(2 处)、postInit()(13 处)、blacklistAccelerators()(2 处)、blacklistDemons()(2 处);proxy.registerEntities 间接调用 initiateRegistry() |
18 个检查点全部实测存在(grep -rho 'Loader.isModLoaded("[^"]*")' 去重后为 18 个不同字符串),无重复、无遗漏。
全部 18 个检查点
| 检测的 modid | 位置 | 触发的动作 | 是否新增注册内容 |
|---|---|---|---|
Waila |
:743 |
BloodMagicWailaPlugin.init() |
否(注册 Waila 插件) |
NotEnoughItems |
:3234 |
IMCForNEI.IMCSender() |
否(发 IMC 隐藏物品) |
gregtech_nh |
:3242 |
置 isGregTech5UnofficialNewHorizonsLoaded |
否 |
endlessids |
:3243 |
置 isEndlessIdsLoaded |
否 |
Thaumcraft |
:3245 |
注册 4 件 sanguine 装备 + 4 条绑定配方 + Aspect | 是 |
guideapi |
:3299 |
RecipeHolder.init() + 注册 itemMailCatalogue 物品 + BloodMagicGuide.registerGuide() |
是(1 个物品) |
harvestcraft |
:3319 |
PamHarvestCompatRegistry.registerPamHandlers() |
否 |
MineTweaker3 |
:3324 |
MineTweakerIntegration.register() |
否 |
AgriCraft |
:3329 |
HarvestRegistry.registerHarvestHandler(new AgriCraftCropHarvestHandler()) |
否 |
Botania |
:3334 |
置 isBotaniaLoaded |
否 |
PneumaticCraft |
:3335 |
置 isPneumaticCraftLoaded |
否 |
ForgeMultipart |
:3336 |
置 isFMPLoaded |
否 |
chisel |
:3337 |
置 isChiselLoaded |
否 |
structurelib |
:3339 |
CompatStructureLib.init() |
否 |
Torcherino |
:3361 |
向 Torcherino 拉黑 TEAltar、TEMasterStone |
否 |
ChromatiCraft |
:3365 |
反射调用 AcceleratorBlacklist.addBlacklist 拉黑 2 个 TE |
否 |
MineFactoryReloaded |
:3394 |
向 MFR 发送 24 个实体的 AutoSpawner + Grinder 拉黑 | 否 |
EnderIO |
:3422 |
向 EnderIO 发送 24 个实体的 poweredSpawner 拉黑 | 否 |
两个会注册物品的可选依赖
18 个检查中只有 2 个会向游戏注册表写入物品:
| 依赖 | 新增物品 | 注册位置 |
|---|---|---|
| Thaumcraft | 4 件 sanguine* 装备 |
AlchemicalWizardry.java:3254-3257 |
| guideapi | 1 件 itemMailCatalogue(物品邮购目录) |
AlchemicalWizardry.java:3306-3307 |
itemMailCatalogue 还有一个无序合成配方(:3308-3314):书 + 黑色染料 + 羽毛 + 玻璃 ×2(玻璃用 OreDictionary.WILDCARD_VALUE)。
只置标志的 4 个依赖
gregtech_nh、endlessids、Botania、PneumaticCraft、ForgeMultipart、chisel 这 6 个分支体只有一行 isXxxLoaded = Loader.isModLoaded(...),不产生其他副作用。它们的标志在 client/ 侧的 proxy 中被读取用于渲染开关,本次未逐处核实,故不做进一步断言。
compat 包
WayofTime.alchemicalWizardry.compat 包只有 4 个文件:
| 文件 | 作用 |
|---|---|
BloodMagicWailaPlugin.java |
Waila 插件入口 |
BloodMagicWailaProvider.java |
Waila 数据提供者实现 |
IBloodMagicWailaProvider.java |
提供者接口(跨模组 API) |
structurelib/ |
StructureLib 兼容(CompatStructureLib) |
收割(Harvest)系统
initHarvestRegistry()(:4334-4338)无条件注册 3 个 handler:
| Handler | 目标 |
|---|---|
BloodMagicHarvestHandler |
本模组作物 |
GourdHarvestHandler |
葫芦 |
CactusReedHarvestHandler |
仙人掌 |
若 HarvestCraft 存在则额外注册 Pam 系 handler;若 AgriCraft 存在则注册 AgriCraftCropHarvestHandler。源码中 common/items/... 下还有 GenericItemStackHarvestHandler、GenericSeededHarvestHandler、GenericPamSeedlessFruitHarvestHandler 三个 handler 类,但未在上述两处注册点出现,本条目不将其计入已注册数量。
数值
| 数值名 | 值 |
|---|---|
| 加载检查点总数 | 18 |
| 会注册物品的可选依赖 | 2(Thaumcraft 4 件、guideapi 1 件) |
| 只置标志的依赖 | 6 |
| 拉黑类集成 | 4(Torcherino、ChromatiCraft、MFR、EnderIO) |
| 无条件注册的 Harvest handler | 3 |
| compat 包文件数 | 4 |
相关条目
- 依赖声明 -
dependencies.gradle与@Mod中的依赖 - Thaumcraft 集成 - 唯一注册装备的集成细节
- 方块实体总览 - 被 ChromatiCraft/Torcherino 拉黑的 2 个 TE