跨模组集成
基本信息
| 属性 |
值 |
| 范围 |
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 依赖缺失时才会拒绝启动 |
相关条目