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)。

相关条目