本篇教程由作者设定使用CC BY-NC-SA协议。

GTCE来自GT,GT原本为IC的扩展模组,按理应该与IC有较好的兼容,

遗憾的是 目前的GTCE(1.7.0.387)并没有对IC有明显的联动。

这里用CraftTweaker来解决部分已经发现的问题。

首先是可能导致IC或GT无法正常发展的硬伤:

  1. 橡胶树不通用。连矿典都没有。如果非酋玩家没有找到某个mod里的橡胶树,是非常难受的事情。

    //用木龙头手动吸橡胶,很合理,且很贴心

    recipes.addShapeless(<ic2:crafting>, [<gregtech:log>, <ic2:treetap>.anyDamage().transformDamage(1)]);
    recipes.addShapeless(<ic2:crafting>, [<ic2:rubber_wood>, <ic2:treetap>.anyDamage().transformDamage(1)]);

    //两种树苗的互换
    recipes.addShaped(<ic2:sapling>, [[null, null, null],[null, <gregtech:sapling>, null], [null, null, null]]);
    recipes.addShaped(<gregtech:sapling>, [[null, null, null],[null, <ic2:sapling>, null], [null, null, null]]);

    //由于还没有学习机器配方的修改,所以没有解决两种树脂的冲突。上面四行应该够了吧

  2. IC的高级合金和GT的高级合金合成表冲突。解决方案:

    recipes.addShapeless(<ic2:ingot>, [<gregtech:meta_item_2:32432>]);

    //为什么只写了一个呢?因为现版本的GTCE 合金一点用都没有

    //写了这个.zs很久之后,发现把合成表倒过来放就可以了,非常神奇

  3. 导线合成冲突。解决方案还考虑了导线的获取难度,三个IC导线合成一个GT的1x导线:

    val cuCaple = <ic2:cable>.withTag({type: 0 as byte, insulation: 0 as byte});
    val auCaple = <ic2:cable:2>.withTag({type: 2 as byte, insulation: 0 as byte});
    val snCaple = <ic2:cable:4>.withTag({type: 4 as byte, insulation: 0 as byte});
    //锡线
    recipes.addShapeless(<gregtech:cable:71>, [snCaple,snCaple,snCaple]);
    //金线
    recipes.addShapeless(<gregtech:cable:26>, [auCaple,auCaple,auCaple]);
    //铜线
    recipes.addShapeless(<gregtech:cable:18>, [cuCaple,cuCaple,cuCaple]);

    //幸好IC只有三种导线,不然修起来很头疼

  4. 铱完全不通用。解决方案:

    //将IC的铱添加到矿典里面,使IC的铱能被GT使用
    import crafttweaker.oredict.IOreDictEntry;
    <ore:nuggetIridium>.add(<ic2:misc_resource>);
    //由于IC不太喜欢用矿典,所以直接做一个合成表实现GT的铱换成IC的铱
    recipes.addShapeless(<ic2:misc_resource:2>,
    [<ore:nuggetIridium>]);

然后是平衡性相关的问题:

  1. 能源不通用。尽管都是EU,但是导线和机器都无法共用能源。解决方案:

    用电解机电解出氢气和氧气,然后用自动合成台来转换到对方的氢气和氧气,然后发电。但是这样有点破坏平衡性,所以就没写了。其实是懒

    2.因为铂矿脉中可以找到大量铱矿,下一次矿可以得到好几套量子所需的铱导致量子套的难度爆降。解决方案:

        //仅修改胸甲和裤腿的合成表。因为这两件看起来都需要强力的马达,而头盔和靴相对来讲没有那么强大。
        recipes.remove(<ic2:quantum_leggings:26>.anyDamage());
        recipes.remove(<ic2:quantum_chestplate>.anyDamage());
        recipes.addShaped(<ic2:quantum_leggings:26>,
        [
            [<ic2:resource:12>,                <ic2:lapotron_crystal:26>.anyDamage(),     <ic2:resource:12>],
            [<ic2:crafting:4>,                 <ic2:nano_leggings>.anyDamage(),         <ic2:crafting:4>],
            [<gregtech:meta_item_1:32603>,    null,                         <gregtech:meta_item_1:32603>]
        ]);
        recipes.addShaped(<ic2:quantum_chestplate:26>,
        [
            [<gregtech:meta_item_1:32603>,     <ic2:lapotron_crystal:26>.anyDamage(),     <gregtech:meta_item_1:32603>],
            [<ic2:crafting:4>,                 <ic2:nano_chestplate:26>.anyDamage(),     <ic2:crafting:4>],
            [<ic2:crafting:4>,                 <ic2:jetpack_electric:26>.anyDamage(),    <ic2:crafting:4>]
        ]);

  

使用方法:将上面的代码全部写到.minecraft/scripts/FixICandGTCE.zs里面(没有则创建文件)