GregTech 集成
基本信息
| 属性 | 值 |
|---|---|
| 实现包 | pl.asie.computronics.integration.gregtech(+ gregtech5 / gregtech6 子包) |
| 依赖声明 | 源码编译两个版本:GT5-Unofficial:5.09.52.522:dev 与 gregtech_1.7.10:6.04.06:dev(dependencies.gradle:10-11);运行时按版本分派 |
| 版本判定 | Mods.Versions.GregTech6 = "[GT6-MC1710]"(Mods.java:39) |
| 激活 | Mods.isLoaded(Mods.GregTech) |
版本分派
Computronics.postInit 依据是否命中 GT6 版本号选择配方实现(Computronics.java:397-404):
| 条件 | 配方实现 |
|---|---|
加载 GregTech 且非 GT6 且 GREGTECH_RECIPES |
GregTech5Recipes |
命中 GT6 版本 且 GREGTECH_RECIPES |
GregTech6Recipes |
| 其它 | ModRecipes(默认) |
ModRecipes.instance 选定后统一调 registerRecipes()(Computronics.java:405-409),失败时 log.error("Could not register recipes, an error occured!")。
标准 GregTech 配方(meta 9 磁带 + GT 卷轮)另行注册,条件为 itemTape != null && itemPartsGreg != null(Computronics.java:412-418),同样按 GT5 / GT6 分派。
配方数量
| 配方集 | 文件 | addShapedRecipe 计数 |
|---|---|---|
| GT5 | GregTech5Recipes.java |
34 |
| GT6 | GregTech6Recipes.java |
34 |
两版各 34 条,覆盖 11 个核心方块 + 便携驱动器 + GT 卷轮 + meta 9 磁带。GT5 使用 mods.gregtech.api.util.ItemList 风格(GregTech5Recipes.java:30 起大量 ItemList.Hull_LV.get(1)),GT6 使用 IL.* 与 MT.Argon.fluid(CS.U, true)。
注册的物品
computronics.gt_parts(GT 专用卷轮,ItemPartsGreg)与 EntityItemIndestructable(磁带实体)都只在 Mods.isLoaded(Mods.GregTech) 时注册(Computronics.java:285-289)。详见 GT 专用卷轮 与 磁带实体。
OC 驱动(GT5 only,7 个)
IntegrationOpenComputers.java:266-278 在 Mods.isLoaded(GregTech) && !hasVersion(GregTech6) 时注册:
| 开关 | 驱动 |
|---|---|
enableGregTechMachines |
DriverBaseMetaTileEntity、DriverDeviceInformation、DriverMachine、DriverGregTechCircuitConfigurableMachine、DriverBatteryBuffer、DriverParametrized(6 个) |
enableGregTechDigitalChests |
DriverDigitalChest(1 个) |
GT6 下这 7 个驱动全部不注册(条件里带 !Mods.hasVersion(GregTech, GregTech6))。
机器坐标
DriverMachine 在 Config.GT_COORDINATES 为真时额外返回机器的 X/Y/Z 坐标(DriverMachine.java:67)。
数值
| 数值名 | 值 | 范围 | 读入条件 |
|---|---|---|---|
recipes.gtRecipeMode |
true |
布尔 | if GregTech(Config.java:468-471) |
分类 gregtech、键 GregtechMachineCoordinates |
true |
布尔 | if GregTech 且 if OpenComputers(Config.java:341-345) |
modCompatibility.enableGregTechMachines |
true |
布尔 | Compat.java:11 |
modCompatibility.enableGregTechDigitalChests |
true |
布尔 | Compat.java:12 |
GREGTECH_RECIPES字段初值是false(Config.java:46),但配置默认是true(Config.java:469-470)。装了 GregTech 时以配置值为准;没装 GregTech 时它既不读配置也永不被读取(Computronics.java:397-401的两个判断都先要求Mods.isLoaded(Mods.GregTech)/hasVersion)。