Cross-Mod Integration

Fether 与 5 个第三方模组(Forestry / MFR / EnderIO / Et Futurum Requiem / Thaumcraft)通过不同的 init 阶段注册集成。

Forestry

ForestryCompat 在 preInit 注册 farmables.put(KEY_FARM_INFERNAL_ARBOREAL, ...)。

init:

  • 注册 9 条 squeezer 配方(ignis_fruit/marrow_berry/blood_leaf/flesh_root/glow_flower → Juice;blood_leaf_seeds/flesh_root_seeds/glow_flower_seeds/marrow_berry_seeds → Seed Oil;数量取自 ForestryAPI.activeMode)。
  • 若 PluginManager.Module.FARMING 已启用:创建 CircuitFarmLogic("managedInfernalArboreal", FarmLogicInfernalArboreal.class)、ChipsetManager.solderManager.addRecipe 允许用 Obsidian Tube × 1 合成(电路布局 “forestry.farms.managed”)。
  • 把 Sapling/Seeds/Crop 等 farmables 注册到对应列表:Infernal Arboreal(仅树苗)、Infernal(Bloodleaf/Fleshroot/Glow Flower/Marrowberry 4 种 crop)、Orchard(ignis_fruit,meta 2 成熟)。
  • FarmLogicInfernalArboreal 继承 FarmLogicArboreal,但强制使用 Blocks.soul_sand 作为底和/水分,因此 getWaterConsumption = 0(无水消耗)。

MineFactoryReloaded

MFRCompat.init 通过 FactoryRegistry.sendMessage 调用:

  • 4 株作物(Bloodleaf / Fleshroot / Glow Flower / Marrowberry)注册为 registerFertilizable_Crop(meta = 7)+ registerHarvestable_Crop + 两种 registerPlantable_Standard(seed & yield)。
  • 果实树:注册 ignis_fruit(meta 2)为 registerPickableFruit(FruitStandard),nether_log 为 registerHarvestable_Log,nether_leaves 为 registerHarvestable_Leaves,nether_sapling 为 registerFertilizable_Standard + registerPlantable_Sapling。

注意:源码 Fleshroot/Marrow Berry/Glow Flower 三处都把 crop 写成了 FetherBlocks.blockBloodLeafCrop,显然是个小 bug,会让 MFR 把它们都当作 Blood Leaf Crop。

EnderIO

EnderIOCompat.init 调用 FarmersCommune.joinCommune(new TreeFarmer(true, FetherBlocks.blockNetherSapling, FetherBlocks.blockNetherLog)) —— 让 EnderIO Farming Station 把 Nether Sapling 作为可栽培的树。

Et Futurum Requiem

EFRCompat.init 通过 ganymedes01.etfuturum.api.StrippedLogRegistry.addLog:

  • blockNetherLog, meta 0 → blockNetherLog, meta 2(normal → normal_stripped)
  • blockNetherLog, meta 1 → blockNetherLog, meta 3(infested → infested_stripped)

Thaumcraft

ThaumcraftCompat.init:

  • 把 blood/flesh/marrow/glow 4 个 crop 方块(crop.unlocalizedName + 7)添加到 CropUtils.standardCrops(视为标准作物)。
  • ThaumcraftApi.registerObjectTag 12 个对象:
对象 AspectList
blockNetherLog TREE 1, FIRE 1
blockNetherLeaves PLANT 1, FIRE 1
blockNetherSapling TREE 1, FIRE 1
blockGlowFlower HUNGER 1, FIRE 1
itemIgnisFruit CROP 1, FIRE 1
itemBloodLeaf HUNGER 1, FIRE 1
itemFleshRoot HUNGER 1, FIRE 1
itemMarrowBerry HUNGER 1, CROP 1
*Seeds × 4 PLANT 1

相关条目