污秽树(Taint Tree)

[!INFO] 注册真源:blocks/ForbiddenBlocks.java:36-42

Forbidden Magic 复用了 Thaumcraft 的污秽(Taint)主题,注册了 4 个污秽方块构成一棵完整的树,与原版/GTNH 木材体系对齐。

注册名 字段 类 方块名
forbidden:TaintLog taintLog BlockLogTainted TaintLog
forbidden:TaintPlank taintPlanks BlockPlanksTainted TaintPlank
forbidden:TaintLeaves taintLeaves BlockLeavesTainted TaintLeaves
forbidden:TaintSapling taintSapling BlockSaplingTainted TaintSapling

4 个方块在 ForbiddenBlocks.addBlocks() 中无条件注册。

附属方块

注册名 字段 类 备注
forbidden:TaintBlock taintStone BlockStoneTainted 用三参重载 registerBlock(block, ItemBlockStoneTainted.class, "TaintBlock"),方块物品类为 ItemBlockStoneTainted

[!NOTE] taintStone 是本模组唯一使用 registerBlock(Block, Class<? extends ItemBlock>, String) 重载的方块 —— 其余 9 个用两参重载,物品由方块自动生成。naive 按 registerBlock 计数会因此高估物品注册数。

世界生成

WorldGenTaintedTree.java 生成污秽树。世界生成开关见 配置项;最近一次提交 f03f142(2026-07-14)新增了 MFR 对污秽树的兼容 —— Compat.mfr = Loader.isModLoaded("MineFactoryReloaded")(Power Crystals’ Mine Factory Reloaded,非 Mystical Agriculture),在 Compat.java:522 的私有静态类 MFRCompat 中注册:

  • MFRRegistry.registerPlantable(new PlantableSapling(ForbiddenBlocks.taintSapling)) —— 苗可作苗圃作物
  • MFRRegistry.registerFertilizable(new FertilizableStandard((IGrowable) taintSapling)) —— 苗可被催熟
  • HarvestableWood / HarvestableTreeLeaves —— 原木与树叶可被采收机收割

[!NOTE] MFRCompat 刻意写成 Compat 的私有静态内部类(Compat.java:521 注释 “To avoid class loading issues without MFR”),因为其字段直接引用 powercrystals.* 类型。naive 搜 MFR 只能看到 Compat 内的 4 行,看不到真正的注册逻辑在嵌套类里。

关联:研究 · 污秽工具