Thaumcraft 集成
基本信息
| 属性 | 值 |
|---|---|
| 依赖等级 | compileOnly(软依赖) |
| 声明位置 | dependencies.gradle:8 |
| 坐标 | thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev |
| 检测方式 | Loader.isModLoaded("Thaumcraft")(ModCompat.java:30) |
| 集成内容 | 让原初箭(Primal Arrow)可装入箭袋并射出 |
| 实现文件 | mods.battlegear2.utils.ModCompat |
功能
ModCompat.init 在 init 阶段被调用(Battlegear.java:88),当前只注册了 Thaumcraft 一项集成(ModCompat.java:25-27)。
Primal Arrow 支持
注册一个匿名 IArrowFireHandler(ModCompat.java:33-45):
| 覆写方法 | 实现 | 来源 |
|---|---|---|
canFireArrow |
箭矢物品为 ItemPrimalArrow 实例时返回 true |
ModCompat.java:36-38 |
getFiredArrow |
返回 new EntityPrimalArrow(world, player, charge, arrow.getItemDamage()) |
ModCompat.java:41-44 |
仅当 addArrowFireHandler 返回 true(即成功注册)时,才把 itemPrimalArrow 加入箭袋箭矢注册表(ModCompat.java:47-49)。该物品来自 thaumcraft.common.config.ConfigItems.itemPrimalArrow(ModCompat.java:3)。
数值
| 数值 | 值 | 来源 |
|---|---|---|
| 检测的 modid | "Thaumcraft" |
ModCompat.java:30 |
| 集成数量 | 1(仅 registerThaumcraftCompat) |
ModCompat.java:26 |
Primal Arrow 自身的伤害、效果与箭矢实体行为属于 Thaumcraft 4,不在本仓库中实现,具体数值无法从本仓库核实。
交互
| 条件 | 行为 |
|---|---|
| 加载 Thaumcraft | 箭袋可装填并射出原初箭 |
| 未加载 Thaumcraft | registerThaumcraftCompat 立即 return,不做任何注册(ModCompat.java:30) |
| 其他模组的箭矢 | 官方建议走 IMC 通道注册,ModCompat 只服务于无法改代码的模组(ModCompat.java:19-23 注释) |
合成配方
不适用 —— 本模组未为原初箭添加任何配方。