我的世界GTTweaker使用细节
GT Tweaker算是一个比较傲娇的魔改mod,它有非常多的“特性”。
·特性1:新增魔改内容不显示
如果对某个代码做出了改动,即使使用”/mt reload“进行重载,GT的机器也不会读取新配方,而是认死理的采用老配方进行处理。该特性于重启游戏后恢复正常。
·特性2:与默认有完全重合的配方的兼容性问题
这里举个例子:
mods.gregtech.Assembler.addRecipe(<gregtech:gt.metaitem.01:32641>, [<gregtech:gt.metaitem.01:17305>*3,<gregtech:gt.metaitem.01:23019>*2,<gregtech:gt.metaitem.02:20019>,<gregtech:gt.metaitem.01:32601>,<gregtech:gt.blockmachines:1366>*2,<gregtech:gt.integrated_circuit:4>*0],<liquid:molten.tin>*288,40,30);
而由于这一部分与原生组装机配方“4铝杆”+“配置电路=4”=“1铝框架”有着完全相同的部分(”铝杆“+”配置电路=4“),因此,尽管这是一个正确的魔改代码,但是机器并不会识别”
而以下代码则可以被正确识别:
mods.gregtech.Assembler.addRecipe(<gregtech:gt.metaitem.01:32641>, [<gregtech:gt.metaitem.01:17305>*3,<gregtech:gt.metaitem.01:23019>*2,<gregtech:gt.metaitem.02:20019>,<gregtech:gt.metaitem.01:32601>,<gregtech:gt.blockmachines:1366>*2,<gregtech:gt.integrated_circuit:16>*0],<liquid:molten.tin>*288,40,30);
尽管还是”配置电路+铝杆“的形式,但是由于metadata不同,机器会将其识别为一个新配方并且进行注册。
注意:这里的判断关系为包含关系,即老合成A∈新合成B的时候,机器会只读取A配方,而将B配方无视,并且不会报错。
·特性3:自动取最大公因数
对于某些制作者而言,他们希望一次性消耗若干份材料,产出对应数量的产物,但是GTTweaker会自动计算这些配方除功率外所需系数的最大公因数,并将除功率外所有系数各除以最大公因数,得到实际注册在机器内的配方。
即:输入”10铁锭+50石头+200eu/t+50tick=10泥土”的配方,程序会自动判断出他们的最大公因数是10,并且进行二次计算,得到“1铁锭+5石头+200eu/t+5tick=1泥土”的配方,并且将此配方注册进对应的机器。
·特性4:输出概率问题
不同于GT6,当多个同一物品进行概率输出时,一般会提示“x% each”,也就是每个物品单独计算,有x%概率输出1个,有(100-x)%概率输出0个。
但是GT5则是,“输出物品*2(70%概率)”指的则是有70%概率输出2个物品,30%概率输出0个,不存在只输出1个的情况
GTTweaker也采用了这个机制。
·特性5:无意义的警报
如果在原有代码文件上增加了新代码,并进行重载,则原有的代码虽然会正确识别,但是会输出“WARNING:(数字) modifiedtions has stuck”的警报。经过实验,这个警报并没有任何实际意义,但是它就是在那里提示,且重启游戏后消失。