本篇教程由作者设定使用 CC BY-NC-SA 协议。
GTCE来自GT,GT原本为IC的扩展模组,按理应该与IC有较好的兼容,
遗憾的是 目前的GTCE(1.7.0.387)并没有对IC有明显的联动。
更遗憾的是, 作者声明不会直接兼容IC2.
原文: There will never be any IC2 compatibility
翻译: 未来不会有任何IC2兼容性
这里用CraftTweaker来解决部分已经发现的问题。
首先是可能导致IC或GT无法正常发展的硬伤:
橡胶树不通用。连矿典都没有。如果非酋玩家没有找到某个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]]);//由于还没有学习机器配方的修改,所以没有解决两种树脂的冲突。上面四行应该够了吧
IC的高级合金和GT的高级合金合成表冲突。解决方案:
recipes.addShapeless(<ic2:ingot>, [<gregtech:meta_item_2:32432>]);
//为什么只写了一个呢?因为现版本的GTCE 合金一点用都没有
//写了这个.zs很久之后,发现把合成表倒过来放就可以了,非常神奇
导线合成冲突。解决方案还考虑了导线的获取难度,三个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只有三种导线,不然修起来很头疼
铱完全不通用。解决方案:
//将IC的铱添加到矿典里面,使IC的铱能被GT使用
import crafttweaker.oredict.IOreDictEntry;
<ore:nuggetIridium>.add(<ic2:misc_resource>);
//由于IC不太喜欢用矿典,所以直接做一个合成表实现GT的铱换成IC的铱
recipes.addShapeless(<ic2:misc_resource:2>,
[<ore:nuggetIridium>]);
然后是平衡性相关的问题:
能源不通用。尽管都是EU,但是导线和机器都无法共用能源。解决方案:
用电解机电解出氢气和氧气,然后用自动合成台来转换到对方的氢气和氧气,然后发电。但是这样有点破坏平衡性,所以就没写了。其实是懒
一个肯恩一个也许可行的解决方案是IC产蒸汽, 用蒸汽再加压机转换成GT可用的蒸汽。不过怎么持续自动产生蒸汽是个问题, 因为IC2蒸汽机用普通水会钙化, 蒸馏水不易稳定高效获取。
至于从GTCE的电转化成IC2的电,这个需求似乎比较罕见,就不在此讨论。如果GT都能大量产电, IC为什么不能?
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里面(没有则创建文件)