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/glow4 个 crop 方块(crop.unlocalizedName + 7)添加到CropUtils.standardCrops(视为标准作物)。 ThaumcraftApi.registerObjectTag12 个对象:
| 对象 | 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 |