跨模组集成

基本信息

属性 值
范围 com.dreammaster 下的跨模组兼容性包。统计时排除 7 个由其它页面覆盖的包(creativetab 1、loginhandler 1、modbabychest 7、modctt 2、modcustomdrops 3、modcustomfuels 3、modhazardousitems 8 = 25 文件)与 8 个内部包(coremod / mixin / config / block / item / command / network / scripts / gthandler / oredict / modfixes / main / lib / client / recipes)
包数 25
文件数 47
形态 绝大多数是 *Helper 静态类 + *Plugin / *Proxy 门面

⚠️ 与脚本体系的分工

本 mod 有两套跨模组兼容机制,职责不同:

机制 规模 职责
配方脚本(见 配方脚本) 111 个脚本 改配方、补掉落、注册 GT 配方
兼容性包(本页) 25 个包 改 API 行为、注册事件、加转换器、加载器与代理

IScriptLoader 接口注释明确写「Avoid manual checks with Loader.isModLoaded」(IScriptLoader.java:36-38)—— 那是给脚本的规约。兼容性包不受此约束,它们大量直接使用 isModLoaded() 守卫(全仓 isModLoaded() 命中 296 处)。

兼容性包清单

单文件 Helper / Proxy(12 个包)

包 类 作用
amazingtrophies AchievementHandler 成就处理,serverUnload 时调 cleanup()(MainRegistry.java:483)
avaritia AvaritiaHelper Avaritia 兼容
bloodmagic BloodMagicHelper 血液魔法兼容
botania BotaniaHelper 植物魔法兼容
chisel ChiselHelper Chisel 兼容
detrav ScannerTools Detrav Scanner 兼容,DetravScannerMod.isModLoaded() 时挂进 GregTechAPI.sAfterGTPreload(MainRegistry.java:157)
extraUtilities ExtraUtilitiesHelper Extra Utilities 兼容
forestry ForestryHelper 林业兼容
ic2 IC2Converter IC2 物品转换
railcraft RailcraftHelper Railcraft 兼容
travellersgear TGConverter Travellers Gear 转换
lwjgl3ify ConfirmExitSdl lwjgl3ify / SDL 退出确认窗口
iguana IguanaProxy IguanaTweaksTConstruct 代理
berriespp BPPConverter Berry Pollen Bush 转换

多文件包(11 个包)

包 文件数 类 作用
TwilightForest 5 TF_Loot_Chests、TwilightForestMajorFeatureOverride、ClassicTfHollowHill、InfusedStoneHollowHill、GregtechStalactite 暮色森林战利品箱与地形覆盖,load 阶段执行(MainRegistry.java:275-278)
bartworksHandler 4 BioItemLoader、BacteriaRegistry、BW_RadHatchMaterial、BW_Recipe_Loader 细菌类物品,PreLoad 调 BioItemLoader.preInit()(MainRegistry.java:194)
thaumcraft 3 TCHelper、TCLoader、TCMaterialAspectHelper 神秘时代兼容
tinkersConstruct 4 + 1 子包 TiCoLoader、TConstructHelper、SmelteryFluidTypes、MeltingRecipeAdder、worldgen/ 模组工坊兼容,load 阶段执行(MainRegistry.java:286-288)
mantle 6 BookLoader、MantleBookLoader、BookDataReader、BookDataStoreProxy、MantleClientRegistryProxy、MantleManualRecipeRegistry 金属之力 Mantle 手册系统(本包测试覆盖最全,有 4 个 JUnit 测试类)
biomesoplenty 3 BOPWoodTypes、BlockBOPFence、BlockBOPFenceGate BoP 木材与栅栏
railcraftStones 2 NH_GeodePopulator、NH_QuarryPopulator 采矿场 / 晶洞世界生成
NHTradeHandler 1 NHTradeHandler 村民交易,注册到 VillagerRegistry 等级 2(MainRegistry.java:284)
witchery 2 WitcheryPlugin、WitcheryBrewRegistryAccessor 巫术兼容,PreLoad 中 Witchery.isModLoaded() 时 new WitcheryPlugin()(MainRegistry.java:244-246)
auxiliary 1 NEIGTNewHorizonsConfig NEI 物品名称映射配置
fluids 1 FluidList 本 mod 自有流体,FluidList.AddToItemManager 失败即报错(MainRegistry.java:226-228)

硬性依赖(FML 声明)

与上面的软兼容不同,@Mod 的 dependencies 字符串里只有 4 条 required(MainRegistry.java:111-114):

依赖 版本约束 类型
gregtech 无 required-before:
Forge [10.13.2.1291,) required-after:
gtnhlib [0.5.15,) required-after:
YAMCore [0.5.76,) required-after:
Baubles [1.0.1.10,) required-after:

另有 6 条 after: 软排序声明(MainRegistry.java:115-120):EnderIO、HardcoreEnderExpansion、Thaumcraft、amazingtrophies、backhand@[1.6.9,)、betterquesting。

Gradle 依赖分层

dependencies.gradle 把依赖分成 4 档,只有 3 个是 api(真正打进 jar 的运行时依赖):

档位 数量 含义
api 3 GT5-Unofficial、Yamcl、Baubles-Expanded
implementation 2 GTNHLib、tc4recipelib
compileOnly 30+ 大量可选模组,全部带 { transitive = false }
runtimeOnlyNonPublishable 2 WailaHarvestability、Galacticraft(仅测试用)
compileOnlyApi 1 Mobs-Info(dependencies.gradle:33)。VendingMachine 是普通 compileOnly,不在此档

compileOnly 列表包括 AkashicTome、Avaritia、Irontanks、twilightforest、Mantle、TinkersConstruct、WitcheryExtras、Thaumcraft、Chisel、Botania、BloodMagic、GTregworks、amunra、Galacticraft、Forestry、HoloInventory、MatterManipulator、IguanaTweaksTConstruct、Backhand、BetterQuesting、Postea、ForbiddenMagic、MagicBees、GTNH-TC-Wands,以及经 CurseMaven 引入的 witchery、extra-utilities、biomes-o-plenty。

⚠️ 注释掉的依赖行(Et-Futurum-Requiem、Astral/Applied-Energistics、SGCraft、OpenComputers、Railcraft、RecEx、Angelica 等)不算依赖,仅供本地测试。

数值

数值名 值
兼容性包数 25
兼容性包文件数 47
required FML 依赖 5(gregtech 前置 + 4 个 required-after)
after 软排序声明 6
api Gradle 依赖 3(GT5-Unofficial、Yamcl、Baubles-Expanded)
implementation 依赖 2(GTNHLib、tc4recipelib)
compileOnly 依赖 30(dependencies.gradle 逐行计数)
本页不重复计数的体系 111 个配方脚本、45 个 GT 配方文件

交互

特性 说明
玩家可见性 本页所有包均无自带 GUI / 指令;效果通过配方、事件、方块属性、世界生成体现
失败模式 全部以 isModLoaded() 守卫,前置缺失即静默跳过
硬失败 仅 5 条 required 依赖缺失时才会拒绝启动

相关条目