冷~风
本帖最后由 冷~风 于 2018-3-19 20:05 编辑


Ender IO(末影接口)
Ender源于Minecraft(我的世界原版)中,它被译为‘末影’。
最常见的就是生存中熟知的末影人(Enderman),在众多模组中Ender这词往往与空间以及传送密切先关。
另外,IO在英文中则是指Input以及Output,直译过来就是输入和输出的意思,
而二者的结合便有了交互之意。该模组主要围绕着对资源的处理、发电、存储、物流、跨空间以及自动化,
可以说这个模组皆在兼容与整合包为主的后期‘工厂化’建设以及一套类似AE的库存管理系统;
可以说这是一个功能较为齐全的科技模组。
注:以上介绍来源于morikawa旧搬运贴介绍,搬运时有修改。


2021.12 数据,可能有更多内容
官网wiki开源仓库CurseForgemcbbsmc百科wiki中文译文
Ender IO(末影接口)Ender源于Minecraft(我的世界原版)中,它被译为‘末影’。最常见的就是生存中熟知的末影人(Enderman),在众多模组中Ender这词往往与空间以及传送密切先关。另外,IO在英文中则是指Input以及Output,直译过来就是输入和输出的意思,而二者的结合便有了交互之意。该模组主要围绕着对资源的处理、发电、存储、物流、跨空间以及自动化,可以说这个模组皆在兼容与整合包为主的后期‘工厂化’建设以及一套类似AE的库存管理系统;可以说这是一个功能较为齐全的科技模组。注:以上介绍来源于morikawa旧搬运贴介绍,搬运时有修改。



引子由于MT(CT)/MoT不支持‘末影接口’(EIO)想必一定让你为此而感到苦恼吧那么,你是否想过‘末影接口’本身便自带这一切呢?没错!仅用其中的某些cfg的‘功能’进行修改,一定会丰富你的游戏体验!不过值得一提的是,这种修改方式与平常接触到的魔改格式大有不同;小伙伴们需要通过‘User’文件进行魔改。另外,这种魔改方式若出现错误则不会像MT(CT)/MoT那样会给予初步的错误报告。所以,请小伙伴们在魔改的过程中认真核对格式/语句。


如何开始首先,像以往一样要得到模组的cfg你就必须使用其先运行一次游戏。之后可在‘.minecraft/config/enderio’中看到。
附带Core为核心文件:用于参考合成表格式,若在其中修改或者进行删减则开启游戏后依旧会进行重置。
附带User为用户(玩家)用于魔改的文件。
注释:最好使用NotePad + +打开它们。

入门&科普科普中的所有各位置的名称按照‘必填’、‘选填’、‘可忽略不填’与‘其他’(其他即每个位置均有不同要求,也代表可选)这四种不同颜色标记。注:以下为对各<~>&</~>的介绍;另外,所有的<~>&</~>均独占一行且没有排版要求。合成表头

代码:

  1. <SAGMillRecipes>
  2. </SAGMillRecipes>
它的作用顾名思义,就是用来声明修改时具体修改的是什么。一般来讲,整个修改仅会用到一次,也就是放在最开头与结尾。它用于‘括’下面的‘合成表组’注:这里采用的是SAG磨粉机的头文件,不同的修改采用的也均不同。合成表组:(&quot; &quot;中的省略的是合成表组名称

代码:

  1. <recipeGroup name=" " >
  2. </recipeGroup>
说到组想必大家都不陌生,也许给人的第一反应就是由多个个体组成的一个结构。那么,合成修改也不例外。这就好比给予多个合成表命名的过程,毕竟没有名字的组你便无法直观的向人表述出来。同样,合成表组的名称没有任何要求你可以任意为它命名。注:单个合成表可需要先输入其。移除合成表组

代码:

  1. <recipeGroup name=" "enabled="false" />
由于合成表组的名称可以任意命名,但官方的合成表组中默以模组的英文名称来命名。这样的好处是能够让人看的懂这是什么的修改,起到规范作用。[例如:Vanilla(原版)、EnderIO(末影接口)、Thermal Expansion(热力膨胀)]移除已存在物品合成表

代码:

  1. <recipeGroup modID=" " itemName=" " itemMeta=" "/>
其中的recipeGroup modID=&quot; &quot; 填写原模组的ID,itemName=&quot; &quot;填写物品的ID,itemMeta=&quot; &quot;填写物品损耗值自定义合成配方

代码:

  1. <recipe name=" " energyCost=" " >
  2.     </recipe>
与合成表组的命名类似,recipe name=&quot; &quot; 用来给予它管理的单个合成表命名,energyCost=&quot; &quot;则为制作该物品所需要的能量。它们用来‘括’下面所讲到的‘输入/输出’。输入

代码:

  1. <input>
  2. </input>
了解了前面的一些知识之后,接下来就是合成修改部分。‘input’顾名思义依照它原来的意思就是输入,它用来‘括’下面说到的向合成表输入材料。自定义输入材料

代码:

  1. <itemStack modID=" " itemName=" " itemMeta=" "/>
  2. <itemStack oreDictionary=" " />
承接上面所介绍的这里所有的代码均为合成表的输入材料。其中的itemStack modID=&quot; &quot;填写物品所在模组的ID,itemName=&quot; &quot;填写物品的ID,itemMeta=&quot; &quot;填写物品损耗值itemStack oreDictionary=&quot; &quot;则为填写输入包含矿物辞典的材料,且以上两条可以同时出现。输出

代码:

  1. <output>
  2. </output>
同上面的正好相反,它用来‘括’下面说到的向合成表输出材料。自定义输出材料:

代码:

  1. <itemStack modID=" " itemName=" " number=" " chance=" " itemMeta=" "/>
  2. <itemStack oreDictionary=" " number=" " chance=" " />
如上面的自定义输入材料一样,输入有的输出均有;输出仅不过是在其基础上多出了一些可选的参数。其中的itemStack modID=&quot; &quot;填写物品所在模组的ID,itemName=&quot; &quot;填写物品的ID,itemMeta=&quot; &quot;填写物品损耗值itemStack oreDictionary=&quot; &quot;为填写输出包含矿物辞典的材料,number=&quot; &quot;为输出物品的数量,chance=&quot; &quot;则为输出该物品的概率(概率计算:0.~×100%,默认1为100%),且以上两条可以同时出现。
基础修改修改物品合成表

代码:

  1. <recipe name=" " required="true">
  2.     <config section="Recipe Settings" name="addPeacefulRecipes" value="true" />
  3.     <crafting>
  4.    <grid size=" ">
  5.   <item name=" " /><item name=" " /><item name=" " />
  6.   <item name=" " /><item name=" " /><item name=" " />
  7.   <item name=" " /><item name=" " /><item name=" " />
  8.    </grid>
  9.    <output name=" " />
  10.     </crafting>
  11. </recipe>
这里仅介绍各位置的作用,其余的&lt;&gt;与&lt;/&gt;请注意书写规范。recipe name=&quot; &quot;用于命名合成表的名称,required=&quot;true&quot;用于管理合成表开关设置true为开,false为关。&lt;config section=&quot;Recipe Settings&quot; name=&quot;addPeacefulRecipes&quot; value=&quot;true&quot; /&gt;暂时定为必填项grid size=&quot; &quot;为合成表的格数例如:2*2或者3*3,当然这都由你而定。item name=&quot; &quot;填写输入物品,填写材料时用到的数量随着合成表格数所变。output name=&quot; &quot;填写输出材料。
机械修改
注意,此章讲的是对机械合成修改的例子。如果未看完前面的科普各个位置代码作用的小伙伴们请勿入!
Alloy Smelter(合金炉)例子

代码:

  1. <AlloySmelterRecipes>
  2. <recipeGroup name=" " >
  3.     <recipe name=" " energyCost=" " >
  4.    <input>
  5.   <itemStack modID=" " itemName=" " />
  6.   <itemStack oreDictionary=" " />
  7.    </input>
  8.    <output>
  9.   <itemStack modID=" " itemName=" " itemMeta=" " exp=" " />
  10.    </output>
  11.     </recipe>
  12. </recipeGroup>
  13. </AlloySmelterRecipes>
就如科普所讲解的那样,所有&lt;~&gt;与&lt;/~&gt;中每个‘括’的都含有特殊的作用且不可省略。合金炉的代码可以说是比较普通,不过它与以往不同的是它比正常多出了个exp=&quot; &quot;,它用于修改取出冶炼物品时获取的经验(注:设置为0则无经验)。禁止合金炉‘熔炉模式’

代码:

  1. <vanillaFurnaceRecipes enabled="false" />
本段代码(User文件)位于最后位置,它能允许你自由开关‘熔炉模式’。添加一个研磨珠(Grinding Ball)

代码:

  1. <grindingBalls>
  2. <grindingBall id=" " grindingMultiplier=" " chanceMultiplier=" " powerMultiplier=" " durationRF=" " >
  3.    <itemStack modID=" " itemName=" " itemMeta=" " />
  4. </grindingBall>
  5. </grindingBalls>
除了&lt;itemStack modID=&quot; &quot; itemName=&quot; &quot; itemMeta=&quot; &quot; /&gt;可以换成&lt;itemStack oreDictionary=&quot; &quot; /&gt;之外(即支持矿物辞典),之前所提到过的都不在此进行讲解;下面主要讲解下rindingBall id为该修改命名的后面一些生面孔。grindingMultiplier=&quot; &quot;填写输出增加的具体量,chanceMultiplier=&quot; &quot;填写额外输出上限(在grinding的基础上) powerMultiplier=&quot; &quot;填写所使用的能耗,而durationRF=&quot; &quot;则填写总共需要的RF能量。注:&lt;grindingBalls&gt;与&lt;/grindingBalls&gt;要被括在&lt;SAGMillRecipes&gt;旗下。移除已存在的研磨珠(Grinding Ball):

代码:

  1. <grindingBalls>
  2. <grindingBalls>
  3.     <grindingBall id=" " remove=" " />
  4. </grindingBalls>
  5. </grindingBalls>
详细格式请看上面注释,remove=&quot; &quot;用于控制该移除功能的开关。若设置为‘true’则为开启即使该代码生效,而设置为‘false’则反之。
SAG Mill(SAG磨粉机)例子

代码:

  1. <SAGMillRecipes>
  2. <recipeGroup name=" " >
  3.     <recipe name=" " energyCost=" " >
  4.    <input>
  5.   <itemStack modID=" " itemName=" " />
  6.    </input>
  7.    <output>
  8.   <itemStack modID=" " itemName=" " number=" " itemMeta=" " chance=" " />
  9.     <itemStack oreDictionary=" " number=" " chance=" " />
  10.    </output>
  11.     </recipe>
  12. </recipeGroup>
  13. </SAGMillRecipes>
与前面合金炉的修改不同的是,由于SAG磨粉机只有一个输入槽,所以在书写时只能填写一段代码。除了上面示例的之外,你还可以使用itemStack oreDictionary=&quot; &quot;(即输入含矿物辞典的材料)进行输入。
Enchanter(附魔器)例子

代码:

  1. <enchaterRecipes>
  2. <enchantment name=" " >
  3.     <itemStack modID=" " itemName=" " itemMeta=" " number=" "/>
  4. </enchantment>
  5. </enchaterRecipes>
与以往介绍的不同的是,附魔器的输出方式有所不同。它是采用enchantment name=&quot; &quot;来进行填写输出变量的。主要格式为模组ID:附魔名称,如‘minecraft:protection’指的是我的世界原版的保护附魔。另外number的计算方式也有所不同,它将随着附魔等级的增加而增加。(公式:附魔等级*数量)注:附魔器与以往不同的是其不需要合成表组最开头与结尾加入&lt;~&gt;&amp;&lt;/~&gt;,且其不需要在开头&lt;enchaterRecipes&gt;后面加入删除合成表的代码可以直接替换。
Painting Machine(喷涂机)例子(白名单)

代码:

  1. <PainterPaintSources>
  2. <whitelist>
  3.     <itemStack modID=" " itemName=" " itemMeta=" " remove=" "/>
  4. </whitelist>
  5. </PainterPaintSources>
此为喷涂机白名单设置,可以看做为是添加一个新的合成表。值得注意的是remove=&quot; &quot;在此表示的意思随着黑白名单的变化而变。在白名单中设置‘true’为关闭,而设置‘false’为关闭。而黑名单则正好相反。例子

代码:

  1. <PainterPaintSources>
  2. <blacklist>
  3.    <itemStack modID=" " itemName=" " itemMeta=" " remove=" "/>
  4. </blacklist>
  5. </PainterPaintSources>
用于设置喷涂机黑名单,可以看做是移除一个合成表。具体请看上面对白名单介绍。
Powered Spawner(电动刷怪笼)例子

代码:

  1. {
  2. "costMultiplier": {
  3.     " " : " ",
  4.   " " : " "
  5. }
  6. }
&quot; &quot; : &quot; &quot;第一个引号中的填写实体名称与模组名称,如果是原版则仅需要填写实体名称即可。其他模组的格式如:&quot;enderzoo.Enderminy&quot;;第二个引号中用于填写每秒所需的数值乘以指定的RF作为所需要的能量。另外如上所示,在第二个引号结束后需要进行逗号,如果是后面行不在进行书写则不需要逗号如上面所示。注:如果直接写原版的则会直接替换掉原有的Core文件所写的对应生成内容黑名单示例

代码:

  1. {
  2. "costMultiplier": {
  3. },
  4. "blackList": [
  5.     " ",
  6.     " "
  7. ]
  8. }
blackList直接翻译过来就是黑名单的意思,顾名思义被添加进的实体将无法进行生成。类似达到移除合成表的效果,则其的格式与上面的也近乎一样;仅仅删去了第二个引号赋予的数值功能。
The Vat(酿造桶)例子

代码:

  1. <VatRecipes>
  2. <recipeGroup name=" " >
  3.     <recipe name=" " energyCost=" " allowMissing=" ">
  4.    <input>
  5.    <itemStack modID=" " itemName=" " number=" " itemMeta=" " slot=" " multiplier=" "/>   
  6.   <fluidStack name=" " multiplier=" " />
  7.    </input>
  8.    <output>
  9.   <fluidStack name=" " />
  10.    </output>
  11.     </recipe>
  12. </recipeGroup>
  13. </VatRecipes>
可以说酿造桶是整个机械修改中比较复杂的一个,现在就来讲解下各处代码的用途。allowMissing=&quot; &quot;用来控制合成表的开关,设置‘true’即开而‘false’则为关。slot=&quot; &quot;为设置该输入物品所在的输入槽,由于酿造桶由两个输入与一个流体输入构成,所以其可以填写为0或者为1fluidStack name=&quot; &quot;用于填写输入流体的ID。现在就来讲解下在它们后面的‘multiplier’。提到multiplier顾名思义直接翻译过来就是乘数、倍数的意思,它的作用主要通过计算输入0与1之间的乘数从而计算输入流体的变量。计算公式:IM= multiplier(slot0) * multiplier(slot1),输入流体数量(mB)= IM * 1000由此可以看出multiplier=&quot; &quot;的重要性,所以它不可以进行删去。注:如果没有输入1(slot1)则会直接乘以1000。另外,酿造机的输入与其他机械一样支持矿物辞典:itemStack oreDictionary=&quot; &quot; slot=&quot; &quot; multiplier=&quot; &quot; 写法没有太多的改变,仅加入了前面介绍的倍数以及输入槽的设置。另外,输入01均可以无限的在输入中进行书写;总之任何输入0与输入1均可以与流体参与混合为新流体。例如,将生鸡肉和生牛肉设置为‘0’将糖和蘑菇设置为‘1’则生鸡肉/牛肉均可以与糖/蘑菇以及(二者间顺序均可任意搭配)指定输入的一种流体混合;而输出的流体mB数量也会随着上面所讲到的倍数变化。计算公式:输出流体mB数量= IM * 输入流体倍数 * 1000
关于教程协议
本教程开启:知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议(CC-BY-NC-SA注:‘允许任何人在任何媒介以任何形式复制、发行本作品。包括在此基础上进行修改、转换或以本作品为基础进行创作。但必须是非商业性的使用,署名作者,以相同方式共享即可。’(引用时有修改)‘只要你遵守许可协议条款,许可人就无法收回你的这些权利。’
http://music.163.com/style/swf/widget.swf?sid=2175282&amp;type=2&amp;auto=1&amp;width=320&amp;height=66
未完待续...



施工中...



tsubasa56
还有这种玩法  厉害了

梨木利亚
催更!整合包!328

炎魔咆哮
厉害了厉害了

hueosf
这些其实是在config文件里有的,但是楼主能汉化也是挺用心的。希望能快点并且详细一些,让更多玩家明白如何轻松游戏

冷~风
hueosf 发表于 2017-8-15 12:20
这些其实是在config文件里有的,但是楼主能汉化也是挺用心的。希望能快点并且详细一些,让更多玩家明白如何 ...

谢谢你的支持
我会先把mc百科坑填完争取在这个暑假把这个‘锅’填完....

追逐猫
呵呵  我傻了‘~~哈哈

Orange_Heart
注意,此章讲的是对机械合成修改的例子。如果未看完前面的科普各个位置代码作用的小伙伴们请误入!

是勿入吧

zch287585g
每日学习新MC知识,对自己玩游戏的技能提高一下!

YPXxiaoK
冷....冷风?
emmm...其实Ender I/O是一个对新手很友好,同时很实用的Mod..

smilesadness
a946115793 发表于 2017-12-16 20:48
冷....冷风?
emmm...其实Ender I/O是一个对新手很友好,同时很实用的Mod..

太友好了。
打个比方:一个物流只见过BC、饱受热核布线折磨的新人在mcbbs看见一篇EIO的全物品教程。

梨木利亚
还更新嘛?我的冷风

善良の滑稽
  <grindingBalls>
    <grindingBall id="Flint" grindingMultiplier="1.2" chanceMultiplier="1.25" powerMultiplier="0.85" durationRF="24000" >
      <itemStack oreDictionary="itemFlint" />
    </grindingBall>
    <grindingBall id="DarkSteelBall" grindingMultiplier="1.5" chanceMultiplier="2" powerMultiplier="0.7" durationRF="100000" >
      <itemStack oreDictionary="itemDarkGrindingBall" />
    </grindingBall>

    <excludes>
      <itemStack modID="minecraft" itemName="glowstone" />
      <itemStack modID="minecraft" itemName="wool" itemMeta="*" />
      <itemStack modID="minecraft" itemName="quartz_block" itemMeta="*" />
      <itemStack modID="minecraft" itemName="quartz_stairs" />
      <itemStack modID="minecraft" itemName="stone_slab" itemMeta="7" />
      <itemStack modID="minecraft" itemName="quartz" />
      <itemStack oreDictionary="sandstone" />
      <itemStack oreDictionary="crystalCertusQuartz" />
      <itemStack oreDictionary="crystalFluix" />
    </excludes>
  </grindingBalls>

</SAGMillRecipes>
这个是原EIO的研磨机核心.xml的文件。提问:

1.已知<excludes>上方的是研磨珠的设置,那<excludes>作用是什么?
2.如果<excludes>作用是排除下列物品不接受研磨珠的输出加成,那么
  <SAGMillRecipes>

  <grindingBalls>
    <grindingBall id="Flint" grindingMultiplier="3" chanceMultiplier="5" powerMultiplier="0.5" durationRF="320000" >
      <itemStack oreDictionary="itemFlint" />
    </grindingBall>
    <grindingBall id="DarkSteelBall" grindingMultiplier="5" chanceMultiplier="8" powerMultiplier="0.2" durationRF="480000" >
      <itemStack oreDictionary="itemDarkGrindingBall" />
    </grindingBall>

    <excludes>
      <itemStack modID="minecraft" itemName="glowstone" remove="false" />
    </excludes>
  </grindingBalls>
       
</SAGMillRecipes>
按照这个格式为什么还是萤石只能最多打出四个萤石粉?
  PS:       <itemStack modID="minecraft" itemName="glowstone" remove="false" 这项中的false原先是true,但也无效!


13abc
mcbbs有你更精彩

ASHT.
emmmmm........
好复杂,还是希望EIO能早点支持MT

1977629053
我觉得楼主需要了解一下MineTweakerRecipeMaker
简单粗暴

吴婷小公主
后来 我算学会了 如何去水 可惜 早已远去 消失在MC

lianghong124
1.12版本这方法失效了

xiao_zhao800
对于我这种小白来说 有点难度

gou玄丶事特多
所以说,能不能给个下载链接

冰川枫溪
种植站怎么修改啊,我想添加更多工具比如魔法作物的精华锄

wr097506
呵呵  我傻了‘~~哈哈