引子
由于MT(CT)/MoT不支持‘末影接口’(EIO)想必一定让你为此而感到苦恼吧 那么,你是否想过‘末影接口’本身便自带这一切呢? 没错!仅用其中的某些cfg的‘功能’进行修改,一定会丰富你的游戏体验! 不过值得一提的是,这种修改方式与平常接触到的魔改格式大有不同; 小伙伴们需要通过‘User’文件进行魔改。 另外,这种魔改方式若出现错误则不会像MT(CT)/MoT那样会给予初步的错误报告。 所以,请小伙伴们在魔改的过程中认真核对格式/语句。 |
如何开始
首先,像以往一样要得到模组的cfg你就必须使用其先运行一次游戏。之后可在‘.minecraft/config/enderio’中看到。 附带Core为核心文件:用于参考合成表格式,若在其中修改或者进行删减则开启游戏后依旧会进行重置。 附带User为用户(玩家)用于魔改的文件。 注释:最好使用NotePad + +打开它们。 |
入门&科普
科普中的所有各位置的名称按照‘必填’、‘选填’、‘可忽略不填’与‘其他’(其他即每个位置均有不同要求,也代表可选) 这四种不同颜色标记。 注:以下为对各<~>&</~>的介绍; 另外,所有的<~>&</~>均独占一行且没有排版要求。 合成表头:
它的作用顾名思义,就是用来声明修改时具体修改的是什么。 一般来讲,整个修改仅会用到一次,也就是放在最开头与结尾。 它用于‘括’下面的‘合成表组’ 注:这里采用的是SAG磨粉机的头文件,不同的修改采用的也均不同。 合成表组:(" "中的省略的是合成表组名称)
那么,合成修改也不例外。 这就好比给予多个合成表命名的过程,毕竟没有名字的组你便无法直观的向人表述出来。 同样,合成表组的名称没有任何要求你可以任意为它命名。 注:单个合成表可需要先输入其。 移除合成表组:
由于合成表组的名称可以任意命名,但官方的合成表组中默以模组的英文名称来命名。 这样的好处是能够让人看的懂这是什么的修改,起到规范作用。 [例如:Vanilla(原版)、EnderIO(末影接口)、Thermal Expansion(热力膨胀)]移除已存在物品合成表:
其中的recipeGroup modID=" " 填写原模组的ID,itemName=" "填写物品的ID,itemMeta=" "填写物品损耗值 自定义合成配方:
而energyCost=" "则为制作该物品所需要的能量。 它们用来‘括’下面所讲到的‘输入/输出’。 输入:
了解了前面的一些知识之后,接下来就是合成修改部分。 ‘input’顾名思义依照它原来的意思就是输入,它用来‘括’下面说到的向合成表输入材料。 自定义输入材料:
承接上面所介绍的这里所有的代码均为合成表的输入材料。 其中的itemStack modID=" "填写物品所在模组的ID,itemName=" "填写物品的ID,itemMeta=" "填写物品损耗值而itemStack oreDictionary=" "则为填写输入包含矿物辞典的材料,且以上两条可以同时出现。 输出:
同上面的正好相反,它用来‘括’下面说到的向合成表输出材料。 自定义输出材料:
如上面的自定义输入材料一样,输入有的输出均有;输出仅不过是在其基础上多出了一些可选的参数。 其中的itemStack modID=" "填写物品所在模组的ID,itemName=" "填写物品的ID,itemMeta=" "填写物品损耗值 而itemStack oreDictionary=" "为填写输出包含矿物辞典的材料,number=" "为输出物品的数量, chance=" "则为输出该物品的概率(概率计算:0.~×100%,默认1为100%),且以上两条可以同时出现。 |
基础修改
修改物品合成表:
这里仅介绍各位置的作用,其余的<>与</>请注意书写规范。 recipe name=" "用于命名合成表的名称,required="true"用于管理合成表开关设置true为开,false为关。<config section="Recipe Settings" name="addPeacefulRecipes" value="true" />暂时定为必填项 grid size=" "为合成表的格数例如:2*2或者3*3,当然这都由你而定。 item name=" "填写输入物品,填写材料时用到的数量随着合成表格数所变。 output name=" "填写输出材料。 |
机械修改
注意,此章讲的是对机械合成修改的例子。如果未看完前面的科普各个位置代码作用的小伙伴们请勿入! Alloy Smelter(合金炉) 例子:
就如科普所讲解的那样,所有<~>与</~>中每个‘括’的都含有特殊的作用且不可省略。 合金炉的代码可以说是比较普通,不过它与以往不同的是它比正常多出了个exp=" ", 它用于修改取出冶炼物品时获取的经验(注:设置为0则无经验)。 禁止合金炉‘熔炉模式’:
本段代码(User文件)位于最后位置,它能允许你自由开关‘熔炉模式’。 添加一个研磨珠(Grinding Ball):
之前所提到过的都不在此进行讲解;下面主要讲解下rindingBall id为该修改命名的后面一些生面孔。 grindingMultiplier=" "填写输出增加的具体量,chanceMultiplier=" "填写额外输出上限(在grinding的基础上) powerMultiplier=" "填写所使用的能耗,而durationRF=" "则填写总共需要的RF能量。 注:<grindingBalls>与</grindingBalls>要被括在<SAGMillRecipes>旗下。 移除已存在的研磨珠(Grinding Ball):
若设置为‘true’则为开启即使该代码生效,而设置为‘false’则反之。 SAG Mill(SAG磨粉机) 例子:
除了上面示例的之外,你还可以使用itemStack oreDictionary=" "(即输入含矿物辞典的材料)进行输入。 Enchanter(附魔器) 例子:
与以往介绍的不同的是,附魔器的输出方式有所不同。 它是采用enchantment name=" "来进行填写输出变量的。 主要格式为模组ID:附魔名称,如‘minecraft:protection’指的是我的世界原版的保护附魔。 另外number的计算方式也有所不同,它将随着附魔等级的增加而增加。(公式:附魔等级*数量) 注:附魔器与以往不同的是其不需要合成表组最开头与结尾加入<~>&</~>, 且其不需要在开头<enchaterRecipes>后面加入删除合成表的代码可以直接替换。 Painting Machine(喷涂机) 例子(白名单):
值得注意的是remove=" "在此表示的意思随着黑白名单的变化而变。 在白名单中设置‘true’为关闭,而设置‘false’为关闭。 而黑名单则正好相反。 例子:
具体请看上面对白名单介绍。 Powered Spawner(电动刷怪笼) 例子:
其他模组的格式如:"enderzoo.Enderminy";第二个引号中用于填写每秒所需的数值乘以指定的RF作为所需要的能量。 另外如上所示,在第二个引号结束后需要进行逗号,如果是后面行不在进行书写则不需要逗号如上面所示。 注:如果直接写原版的则会直接替换掉原有的Core文件所写的对应生成内容 黑名单示例:
类似达到移除合成表的效果,则其的格式与上面的也近乎一样;仅仅删去了第二个引号赋予的数值功能。 The Vat(酿造桶) 例子:
可以说酿造桶是整个机械修改中比较复杂的一个,现在就来讲解下各处代码的用途。 allowMissing=" "用来控制合成表的开关,设置‘true’即开而‘false’则为关。slot=" "为设置该输入物品所在的输入槽,由于酿造桶由两个输入与一个流体输入构成,所以其可以填写为0或者为1;fluidStack name=" "用于填写输入流体的ID。现在就来讲解下在它们后面的‘multiplier’。 提到multiplier顾名思义直接翻译过来就是乘数、倍数的意思,它的作用主要通过计算输入0与1之间的乘数从而计算输入流体的变量。 计算公式:IM= multiplier(slot0) * multiplier(slot1),输入流体数量(mB)= IM * 1000 由此可以看出multiplier=" "的重要性,所以它不可以进行删去。 注:如果没有输入1(slot1)则会直接乘以1000。 另外,酿造机的输入与其他机械一样支持矿物辞典:itemStack oreDictionary=" " slot=" " multiplier=" " 写法没有太多的改变, 仅加入了前面介绍的倍数以及输入槽的设置。 另外,输入0与1均可以无限的在输入中进行书写;总之任何输入0与输入1均可以与流体参与混合为新流体。 例如,将生鸡肉和生牛肉设置为‘0’将糖和蘑菇设置为‘1’则生鸡肉/牛肉均可以与糖/蘑菇以及(二者间顺序均可任意搭配) 指定输入的一种流体混合;而输出的流体mB数量也会随着上面所讲到的倍数变化。 计算公式:输出流体mB数量= IM * 输入流体倍数 * 1000 |
关于教程协议
本教程开启:知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议(CC-BY-NC-SA) 注:‘允许任何人在任何媒介以任何形式复制、发行本作品。包括在此基础上进行修改、转换或以本作品为基础进行创作。 但必须是非商业性的使用,署名作者,以相同方式共享即可。’(引用时有修改) ‘只要你遵守许可协议条款,许可人就无法收回你的这些权利。’ |
未完待续...
施工中...