在网上大致搜了一下,这个mod的教程很少而且大都不全所以我在这里开个贴,将我对这个mod知道的内容当作教程写出来,也算做个贡献了。
另外本人对这个mod接触时间并不是太久,而且偶尔用也只是用一些最基本的功能,所以讲的肯定会有瑕疵,希望大家多多指正。
如果有讲错的地方,请大随时指正,我都欢迎。
教程首发地址为mc工业2吧http://tieba.baidu.com/p/4461246398
此贴为搬运(我就是作者)
另外感谢贴吧用户:xyr_001提供的汉化文件。我不知道他的论坛ID所以只能说他贴吧名字了。
本来打算三部分分别在一二三楼中更新,但后来发现一个楼就完全够用了。导致这个帖子的前三楼被我自己给占了。。。如果有管理路过,麻烦您动个手把下面那仨删了吧。。
第一部分:方块简介。对本mod的所有方块的功能进行最基本的简单介绍,作为开胃菜。
第二部分:命令部分。对工厂管理器中的命令进行逐条讲解。
第三部分:实例部分。对前两个部分的内容以及没有讲解到的方块进行实例演示讲解。
另外楼主第一次这这里发帖,如果有哪里不合适的地方,还请管理提醒我,我会尽快更正另外如果小图看不清请看大图。本教程图太多,太大的图不好传。
第一部分:方块简介
该mod的核心,通过在管理器中创建各种命令来完成各种功能。 该mod的大多数方块要依靠它来实现功能。 |
工厂线缆
作用相当于导线,用来延伸网络的范围。 机器/容器想要并入工厂管理网络,需要至少一面与管理器或线缆接触,或者其他具备线缆功能的方块,如高级集线器。 |
红石信号发射器
可以通过网络发射红石信号。 |
红石信号接收器
可以使网络接受红石信号作为判断 也可搭配触发器命令使用 |
物品栏中转站
物品阀门
两个功能: 1、可以吸取周围物品,范围为以自身周围3格的球形范围内。 2、可以弹出物品,弹出方向为准星面。 快速物品阀门比普通的速度快,没有其他功能延伸。右边的是高级货。 |
方块交互器
类似条纹管道的存在,可以破坏方块,也可以放置方块或使用方块。互动面为大准星面,小准星为方向控制。大准星面无法移动,小准星面右键可以切换到该面,或者shift右键到对面。 |
集线器
方块检测更新器
顾名思义,检测方块的更新,配合触发器命令使用。 |
伪装器
分三种:普通、双面、变换 普通的只支持外面伪装,双面的支持内侧和外侧两侧伪装,变换可以局部伪装 |
创造模式物品供应器
创造模式才能使用,可以提供任何物品。 |
第二部分:命令篇
在本mod中,命令的编写全是在管理器中实现的。
此mod的命令并不像电脑mod那样写代码的方式,而是以流程图的方式体现的,所以玩这个mod并不需要你具备编程能力(这里说的编程能力是各种编程语言的语法)需要的是你的编程思想,其实就是数学逻辑能力。牵扯到的学科水平也就初高中水平,所以大家放心食用,无毒无害。
由于本mod逻辑性稍强,我在讲解的时候会稍微结合一下最基础的编程语言C来辅助讲解,帮助理解。
初识命令
右键打开工厂管理器的GUI 左侧两列为命令栏,分别为:触发器、物品输入、物品输出、物品条件判断、流向、流体输入、流体输出、流体条件判断、红石信号发射端、红石信号条件判断、方块管理组、循环检测器、自动合成器、命令组、节点组、伪装更新器、告示牌更新器、删除、用户偏好设置。 单击可以创建一个命令,如创建一个物品输入命令
我们来介绍一下这个命令的互动方式 鼠标拖拽左上角(蓝色圈)可任意移动该条命令的位置。 上方端口(黑色圈)为入口端,下方端口(红色圈住)为出口端,用来和其他命令连接。 右侧端口(黄色圈)为选项端,点击可以进行详细设置。 打开选项端
按住ctrl会显示回命令名字如 有时候我们连接命令流程图时会出现感叹号标志。 将错误信息更正,错误提示感叹号将会消失。 |
触发器
触发器作为一条命令流程图的开始,具有类似开关的作用,一条命令流程图如果没有这个触发器,就好比没有电的用电器,是无法实现其功能的。 能够正常运行的命令 不能运行的命令,因为没有连接触发器,相当于没有打开开关。 打开触发器命令的设置页面:分为时间区间和连接设定。 间隔时间可以任意设置,代表命令执行的频率。数值越小执行命令的频率越高。最小1秒 比如我的命令是发射一个红石信号,设置触发器时间间隔为1秒,则每间隔1秒发射一个红石信号,如果我设置时间间隔为3秒,则每间隔3秒发射一个红石信号。 连接设定分三种:在范围内(默认),红石控制,方块更新感应器。 在范围内:默认形态,此状态下将命令流程图与触发器连接即可开始工作。 红石控制:需要搭配红石信号接收器使用,使用红石控制触发器的工作。 方块更新感应器:需要搭配方块更新感应器使用,使用BUD来控制触发器的工作。 红石控制模式与方块更新感应器模式会在后面介绍这两个方块的时候来介绍 |
输入输出命令
该mod最基本的命令,一条最简单的命令只需要包含一个触发器和一个输入输出命令即可实现物品/流体传输的功能。 输入输出模式分物品和流体两种,两种模式在使用的时候并没有什么区别,只是操作对象发生了改变,这里以物品输入输出模式为例讲解。 首先要明确一个概念,这里的输入和输出是针对工厂网络来讲的,与AE的输入输出一样,输入是外面的物品输入到网络里,输出是从网络输出物品到外面。 与AE不同的是,AE里通过输入总线将容器中的物品输入到AE网络里,物品的位置也会从原来的容器转移到AE自身的存储元件里,但工厂网络的输入仅仅是一个声明,容器中的物品的位置仍然会留在本来的容器里,但这个容器在定义上已经被声明并入工厂网络中,容器中的物品根据不同的输入命令设置也会并入到网络中。 这里以一个最简单的物品传输为例来讲解这两条命令。 在左边的A箱子里放置一组石头,我要通过工厂网络将A箱子里的石头放到B箱子里。 注意,A,B箱子至少要有一面和工厂管理器或者工厂线缆接触。只有这样才能将这两个箱子并入网络中。 下面来看一下实现这个功能的命令设置: 该功能由一个触发器,一个物品输入,一个物品输出命令组成 在输入命令的物品栏选取里,选择A箱子。 A箱子与工厂网络的互动面为下方,选择下方进行激活。 物品设定设置为黑名单空置,代表所有物品。 输出命令与输入命令的设置方式相同,只是将物品栏选取选择为B箱子作为输出容器。这里不再贴图。 整个过程的命令流程为:将A箱子里的所有物品通过箱子下方并入到工厂网络中,然后通过B箱子的下方(B箱子方向设定同样为下方激活)将物品输出到B箱子中。这样就完成了我们需要做的物品传输功能。 输入输出命令的具体设置: 在输入/输出命令里分三个标签:物品栏选取、方向、物品设定。 输入输出的配置是一样的,只是一个输入一个输出,搞清顺序即可。这里以输入为例讲解。 物品栏选取就是你要将哪个容器里的物品输入到网络里。鼠标停留在容器上会显示容器的位置信息,鼠标停留在容器上按住shift可以查看这个容器周围方块情况,用以判断目标是否为目标容器。 在箱子的上面的写有.all的红色边框是搜索栏,当可选择容器数量很多时可以通过搜索来快速查找目标容器。 同时在物品栏选取标签右侧还有六个辅助操作 上面两个分别为过滤器(F)和多重选择交互(M) 过滤器 过滤器是用来筛选目标容器的,例如当我们的网络中存在大量原版箱子时,由于所有的箱子都叫箱子,通过名字搜索是无法进行精准定位的,这时我们可以通过使用过滤器来进行筛选,实现快速定位目标容器。 多重选择交互 只有当容器的数量大于等于2时才能够使用。这里我举例子进行讲解。 两个输入箱子AB,输出铁矿石到对象熔炉。 设置抽取原料速度为每次3个(具体操作后面讲)。 在AB两个箱子里分别放一组铁矿石。 两个选项的区别在于 【全体对象执行一次命令】时,两个箱子作为一个整体,执行一次命令。熔炉接受矿石的速度为每次3个,A箱子中的矿石每次减少3个,B箱子中的矿石数量在A箱子中的矿石传输完前不会发生变化。也就是说AB箱子作为一个整体,每次输送3个矿石到网络中,再从网络输出到熔炉中。 【每个对象均执行命令】代表箱子间独立开来,每个箱子都要执行一次命令。这时熔炉接收铁矿石的速度变为每次6个,AB箱子中的矿石数量均以每次3个的速度减少。即每个箱子都执行了一次输送3个矿石到网络的命令。 下面的四个辅助功能分别为全选、全不选、反选、显示变量。前三个不需要解释,最后一个变量在后面介绍变量组命令时会讲到 方向设置: 方向代表互动面,共有六个面,选中一个后再点击中间的激活即可,被激活的方向高亮显示。 对于无方向要求的容器,可以随意选择方向,如箱子。 对于熔炉这种不同方向代表不同输入的方块来说需要对应方向进行设定。如熔炉上方原料,侧面燃料,下方成品。 【全体输入输出】模式 【精确输入输出】 【激活】下方的【精确输入输出】是另外一个模式,注意,这里显示的是你要切换的模式,而不是当前所在模式。 这里的【激活】和【精确输入输出】都是你要进行切换的模式,而不是你当前所在的模式,此楼三个图均写着【激活】,说明这三个图中的方向都没有被激活 默认模式为【全体输入输出】模式,所有物品都会从你选择的面进行输入输出。 点击切换到【精确输入输出】模式,物品的输入输出会与物品栏的位置有关。 精确输入输出模式下,红色边框内的两个0代表物品在物品栏的位置范围。如箱子,从左到右,从上到下顺序,从0开始。可以和C中的【数组】进行对照理解。注意!0代表第一格,1代表第二格 如果我这里设置为0 1 则箱子里第一格和第二格的物品才会被声明到网络中,其他位置的物品不会被声明。同理对于输出模式,物品将会输送到箱子的第一格和第二格,不会输送到箱子的其他位置。利用这个功能可以指定输入输出特定位置。 物品设定: 分黑/白名单操作,这里以白名单讲解。 对于白名单,只有白名单中的物品才会被输入/输出网络;黑名单相反。 单击问号通过搜索进行设置白名单内容,这里我以石头为例 右键石头,打开详细设置页面 右上角【删除】,可以删除此白名单。 【特定数量】:对输入/输出的数量进行限制。输入命令和输出命令的这个设置有区别。 假如这里特定数量设置为10。 对于输入命令来说,以触发器设置的频率为准,每次从容器中拿10个石头并入网络。上面在多重选择交互中讲到的每次输入3个矿石到熔炉中就是通过这个设置来实现的。 对于输出命令来说,保持输出容器内石头的数量为10,当输出容器内的石头数量不足10时会补充到10,大于或等于10时不再传输。 下面的【精准检测】点击左右箭头可以切换模式,共有:【精准检测】,【NBT检测】,【模糊识别】,【矿物词典支持】,【mod检测】,【全部忽略附加数据】六种模式。 这些使用方法与管道的使用方法相同,这里不再赘述。 附加值是对上面的各种检测模式的限定,比如装备耐久减少特定的数值等。 关于物品传输速度问题,如果你不设置特定数量的话,传输速率应该是秒传的。我试验中一箱子的东西瞬间就搬完了,ROC64桶液体的蓄水池也是瞬间传输完。所以它的传输速度是很可观的。 |
物品条件判断器
大家都知道,判断语句在对特定的情况进行判断后,会有【真】【假】之分。满足判断条件则为真,否则为假。 命令左下角的输出端代表【真】,右下角输出端代表【假】。 如图,我要对A箱子中的石头和活塞进行判断检测,物品栏选取为A箱子,方向设置任意。 石头和活塞的具体数量、或者其他物品如矿石的矿物词典支持等都可以通过右键进行详细设置,具体设置方法上面已经讲过不再赘述。 条件判断分【全部满足】和【满足至少一个】,就是与门和或门的区别,这个应该不难理解。 这里提供一个例子 判断A箱子中的石头数量,若A箱中石头数量超过10,则将A箱子中的石头全送到B箱子中去,否则不进行任何操作。 命令设置: 由于图文教程的限制,我举得例子都非常简单,能演示出功能即可。 |
流向控制器
起到分流汇合的作用。默认为两个输入端一个输出端,打开设置页可以更改为不同数量的输入和输出。 对于多个输入,分流器将起到或门的作用。 如图所示,检测A箱子中石头数量,第一个路径的判断条件设定为数量大于等于32时为真,第二个路径判断条件设置为数量大于等于200时为真。两个判断条件均将真值路径连接到流向控制器中。 输出设置是将A箱子中的物品传输到B箱子中去。 实验结果为:在A箱子中放入64个石头,石头会被传送到B箱子中去。 分析:A箱子中放入64个石头,第一格路径的判断内容为真,第二格路径的判断内容为假。此时只有第一条路径是通的,输出命令被执行,代表此时流向控制器起到或门作用。 |
红石信号发射
此命令需要搭配方块:红石信号发射器使用。 红石信号发射器接入网络后,网络可以通过红石信号发射命令进行红石信号的发射工作,发射接口即为发射器方块。 【红石信号输出】:选择你要进行发射红石信号的红石信号发射器方块。 【输出方向】:可以进行六个面单独发射红石信号,并且可以选择强充能或弱充能。强/弱充能的定义如果不明白的话请自行百度,不属于本教程的内容。 【输出】:对输出的红石信号的参数和种类进行设置。 红石信号强度:可以自由设置,范围0-15. 固定:输出一个与设置的红石信号强度相同数值的红石信号。 循环开关:输出一个矩形波数字信号,周期与触发器设置的频率有关 最大值:输出一个最大值为设定强度的红石信号。 最小值:输出一个最小值为设定强度的红石信号。 递增:发出的红石信号强度以触发器的频率为频率,以设置的数值为单位,进行递增。达到15后保持不变。 递减:发出的红石信号强度以触发器的频率为频率,以设置的数值为单位,进行递减。达到0后保持不变。 递增循环:在递增的基础上,到达最大值后会继续循环。 递减循环:在递减的基础上,到达最小值后会继续循环。 【脉冲】:输出脉冲红石信号,脉冲的最大值为【输出】选项中设置的强度数值。 注意,这里的时间设定是脉冲的持续时间,而不是发射红石信号的频率,红石的发射频率由触发器的频率决定。 下面的四个选项我还没搞懂,希望会的人能不吝赐教 |
红石条件判断器
需要配合方块:红石信号接收器使用。 同样,作为判断语句,有真假之分。左下为真,右下为假。 【红石节点】:选择你想通过哪个红石信号接收器接受红石信号。 【探测面】:六面独立探测,具备与门、或门的判断方式。 【红石信号强度】:设置真值条件。这里设置1-15,表示接收到任意红石信号则为真,否则为假。 若设置为10-15,则接受到大于等于10的红石信号时为真,否则为假。 注意这里的真假还要取决与你设置的【全部满足】或者【满足至少一个】 【反向选择】:真假判断机制反转。 例子: 判断接收到的红石信号,强度范围设置为1-15,至少一个面接收到。 即红石信号接收器任意一面接受到任意强度的红石信号则为真,没有红石信号输入则为假。 当为真时,红石发射器发射一个强度为15的红石信号,否则输出一个强度为1的红石信号。 红石接收器接受到一个15的红石信号,判断条件为真,发射器输出一个15的红石信号。 红石接收器没有接受到红石信号,判断条件为假,发射器输出一个1的红石信号。 当网络中加入红石信号接收器时,触发器命令便可以在连接设定中设定为使用红石进行控制。 【红石信号接收器】:选择要接受红石信号的接收器。 【时间区域】:设置触发器的工作频率。 【红石信号检测面】:设置红石信号接收器用来接受红石信号的面,可以六个面单独设置。 【红石信号强度】:设定接受红石信号的强度范围。 以上设置界面参考触发器和红石信号接收器的设置界面,这里不再发图。 触发器下面的四个输出端分别为 这里的强/弱是根据你设置的【红石信号强度范围】来定义的。 如果你设置的范围为10-15,则强度为10-15的红石信号为强,0-9强度的为弱。 脉冲大家应该都理解,红石信号经历一次有无,才算一次脉冲。 举例: 红石强度设置为10-15为强信号,当接受到强充能时,发射器发出强度为1的红石信号。 给它一个强度不到10的红石信号,此时属于弱信号,红石信号发射器不工作。 给一个15的红石信号,属于强信号,红石信号发射器发出强度为1的红石信号。 其他三个强充能脉冲、弱充能,弱充能脉冲使用方法与上类似,不做讲解,大家自己试一下。 |
第一个导学
现在,我们先抛开mc,谈一谈C语言。即使你没学过也没关系,我会说的很浅显易懂。 我们先作一个定义,A班有50个学生。 现在我需要写一个程序X,这个程序包含500行代码。其中300行需要“A班有50个人”这个定义中的“50”参与到代码中来。 现在A班的学生数量发生变化,由之前的50变成了60。 这时候,如果我要写一个程序Y。 Y程序的功能和X程序的功能完全一样,只是学生数量发生了改变。 这时候我们有两个方法: 1,重新写一遍程序,500行代码。 2,将X程序拷贝过来,将其中300行的那些50改成60。 方法1我们舍弃,虽然这个例子代码只有500行,但如果下次是10000行的呢? 对于方法2,要改300行的代码,同样是够麻烦的。 有的人会说我可以用查找替换的方法进行全部替换。 但是,你要知道,我说的是其中300行需要“A班有50个人”这个定义中的“50”参与到代码中来。也就是说程序中还有其他“50”这个常量,这个50不是A班有50个人中的50,它的属性是不一样的,如果用查找替换的方法,同样会将这些数据替换掉,从而使程序产生错误。 这个时候,我们可以选择宏定义的方式来快速更改数值。 C语言中,我们定义#define NUM 50语句。 即用NUM代表“A班有50个人”这个定义中的“50” 在写代码的过程中,所有需要用到“A班有50个人”这个定义中的“50”的时候,全部使用NUM来代替书写。其他意义的50仍然写50。 当A班学生数量从50变成60时,我们只需要将#define NUM 50这句改为#define NUM 60,即可实现所有语句中值的替换。 以上就是C语言中的宏定义的概念。 在SFM的变量管理组这个命令中,利用的便是这个宏定义概念。 (当然,你也可以把它看成对象,这个无所谓,我拿C语言的宏定义来做结合是因为C是最基础的语言,学的人多一些,更好理解一些。) 其次,我们在来了解一下全局变量和局部变量的关系。 一个变量在程序中是有使用范围的,一般是在定义它的那个函数中才有效。这种作用范围在定义它的函数内,从定义它的语句开始直到函数结束为止的,就是局部变量。 假如在我的程序中我定义A,B 2个函数,A函数中定义变量X,则X变量的作用范围只在A函数中有效,且即使是在A函数中,它的作用范围也是从定义A变量的那句语句开始直到函数结束的。B函数中我同样可以定义变量X,它与A中的X是不冲突的,因为他们的作用范围不同,不属于同一个变量。 全局变量是对一个程序中所有的函数都有用的,还是上面那个例子,程序有两个函数。 假如我定义一个全局变量X,则在A,B函数中,X都是有效的。 |
变量管理组命令
变量组其实就是把多个对象打包,然后起个别名,我们在需要引入这些对象时直接用别名进行引用。 在引用之前,我们需要一个声明,即声明这个别名的名字,以及它包含了哪些对象。 在【连接设定】页面选择声明 【变量组】选择别名,以及它是属于全局变量还是局部(本地)变量。 SFM中的别名以16种颜色来定义。 这里的图我选白色作为变量组名(别名) 【包含项目】中选择你这个变量组包含的成员。如图我选择了三个箱子。 【包括的方块种类】你定义的变量组成员的属性。 上面四幅图最终的效果是:三个箱子组成一个名字为白色的变量组,这个变量组是本地变量,当它的值发生变化时,变化的值只在发生变化的那个函数中有效。 如图,我将下面的ABC三个箱子声明为“白色”变量组 我说过了,变量组的名字就是它包含对象的别名。也就是说,在这里,“白色”这个变量组名字就代表了ABC这三个箱子。 现在我要把ABC箱子里的东西输送到D箱子中去。 在介绍输入输出命令时,物品栏选取的右面有6个辅助操作选项,其中最后一个为变量选项 点击显示全部变量,会显示所有已经声明过的变量组名 如图,这里有已经声明过的白色变量组,我们将它选为输入,效果等同将ABC3个箱子选作输入。 输出设置箱子D 程序一览。 现在我们将一些物品放入ABC箱子里,理论上讲,由于ABC等同于白色变量组,所以我们放入ABC箱子的东西会被传送到D箱子中去。 A:一组砖块 B:一组黑曜石 C:一组TNT D:砖块、黑曜石、TNT get√ 下面介绍变量管理组的【标准】模式用法。 注意,变量组在使用时,都要先进行声明才能使用。 【标准】模式使得这个命令能够加入到流程图中,它起到的作用就是对变量组的定义进行更改。 在【变量组】标签里我们能看到添加、移除、设定三个功能。这三个功能是对变量组进行操作。 添加就是对声明过的变量组中加入新成员。如将白色变量包含的三个箱子增加到4个 移除就是对声明过的变量组中的成员进行删减。如将白色变量包含的三个箱子减少到2个 设定就是这这里新定义一个全新的变量组。如新设立一个箱子为橙色变量组。 在【包含项目】中进行变量组成员的操作。 【值顺序】代表选择的优先级 下面以例子讲解 声明部分。 这里声明白色变量组,包含对象为精制箱MK1。 由于本例只有一条程序,所以全局和本地变量在此无区别。 他俩的区别我会在下一个例子中讲解。 新建立一个变量组,选择标准模式。 对白色变量组进行添加成员操作 添加成员 精致箱MK II 至白色变量组中。 输入,选择白色变量组 输出至箱子。 现在我们理一下程序:白色变量组的声明中只包含精制箱I,在我们的程序中,我们将精制箱II添加进白色变量组中。这时,理论上讲,白色变量组应该包含精制箱I和精制箱II两个成员。我们选择白色变量组作为网络的输入,即精制箱I和精制箱II为网络提供物品,然后输出至原版箱子中。 预期设想:若我们在精制箱II中放入的物品被传输到原版箱子中,则代表我们成功将精制箱II加入到白色变量组中。 实验结果: 原版箱子成功接收到砖块。 结论:我们通过变量组【标准】模式成功将精制箱II加入白色变量组。 其他两种模式【删减】和【设定】与这个功能是类似的,大家类比一下自己去做个实验,当个作业了。 |
局部变量和全局变量
下面讲全局变量和局部变量(本地变量) 上面我就说过,全局变量的作用范围是整个程序,本地变量的作用范围是定义它的函数内,从定义它的语句开始直到这个函数结束。 首先我们来讲本地变量,这个例子是在上面的例子上进行扩展的。 如图,这个例子中我们有两个函数。 第一个函数在上面的基础上进行了一些更改,由原来的将白色变量组中所有方块输出至原版箱子中,改为将白色变量组中的石头输出至原版箱子中。 这么做的结果是,当我将一组石头和一组砖块放入精制箱MKI或MKII中时,石头会被传输到原版箱子中,砖块被保留不被传输走。 我们来看第二个函数 输入为白色变量组 物品设定为黑名单空置,代表所有物品 输出至精制箱MK IV 同样全部物品。 第二个函数的目的是将白色变量组中所有的东西全都搬至精制箱MK IV中去。 现在的问题是,在第二个函数中的白色变量组到底包括不包括精制箱MKII呢? 答案是不包括的。 我们将一组砖块放入MK II中,因为函数1只将石头输出至原版箱子,所以当我们将一组砖块放入MKII中时,砖块并不会被传输走。 函数2的功能是将所有物品都传输至精制箱MK IV,假如函数2中的白色变量包括精制箱MKII,则这组砖块将会被传输到精制箱MK IV中去。 在精制箱II中放入一组砖块。 精制箱IV空空如也。 结果:在第二个函数中的白色变量组不包括精制箱II。 下面我们在白色变量声明中将变量由本地改为全局,再来试验一次。 精制箱MK IV中出现砖块。 现象解释: 在第一个实验中,白色变量组是本地变量,精制箱II添加进白色变量组是在第一个函数中进行的,所以【精制箱II属于白色变量组】这个定义的有效期只存在如图红色范围内。 在第二个实验中,我们将白色变量组声明为一个全局变量,则【精制箱II属于白色变量组】这个定义的作用范围就不再局限于第一个函数内,而是在整个程序中,包括第二个函数。所以此时在第二个函数中的白色变量组中是包含精制箱MK II的 |
循环检测器
循环检测器的作用就是对一个变量组中的成员进行检测,将成员中的元素定义为一个新的变量组。 下面三个箱子声明为白色变量组,作为检测对象。 首先声明两个变量组,白色变量组包含的对象为下面三个箱子,橙色变量组不指定对象, 循环检测器的【变量组】 列表代表检测的变量组,图中为白色,意思就是对白色变量组中的成员进行循环检测。 将成员中包含的物品(元素)设定为橙色变量组。 橙色变量组之前已经声明过,但没有指定固定的对象,这里将白色变量组成员中的元素声明为橙色变量组,从而起到一种动态定义的作用。 网络的输入为橙色变量组。 物品设定白名单石头、草方块、泥土。 每次输入数量指定为10。 输出至精制箱MK IV中,即上面的那个箱子里。 程序解释:将白色变量组(3个箱子)中的物品定义为橙色变量组,将橙色变量组中的石头、草方块、泥土以触发器频率每次10个数量输入到网络中,经过网络输入到精制箱MK IV中。 在3个箱子中分别放入物品 精制箱MK IV开始接收方块,每次接受每种方块10个。楼主截图时已经接收第二批。 黑曜石不属于白名单内容所以不会被传输过来。 |
自动合成器
打开【合成】设置合成表 【Priority】里选择在移动前合成,会将物品先合成,然后将成品和剩余原料移动到目标容器。 【可用物品栏】我们来看一下它的作用。 它的作用是用来装那些合成时产生的其他东西,你可以将它当作垃圾筐。 比如我们如上面的图,我们要合成ME致密线缆—默认色。 合成配方是一个ME致密线缆—黑色+一个水桶,我们知道,这个合成是会退回水桶的。而这个退回的水桶就不符合我们需要的产物—ME致密线缆—默认色。那么此时这个水桶就会被丢进这个箱子里。 设置金箱子。 自动合成命令需要搭配输入输出命令来使用。 输入箱子提供原料,输出箱子用来存放成品和剩余的原料。合成器设置的箱子用来存放其他产物。 我们来进行一个例子: A箱子放原料,B箱子放成品,C箱子垃圾篓。 这个程序的作用就是: 将ME致密线缆黑色和水桶丢进A箱子里,合成后的ME致密线缆默认色会到B(银)箱子中去,空水桶到C(金)箱子去。 原料箱子 银箱子 金箱子。 我们会看到,银箱子中不仅得到了成品,还有剩下的原料。 如果我们不想将原料也放过来应该怎么办呢? 很简单,只需要在输出命令中加入白名单即可。 这样,银箱子只会得到成品,原料会继续留在原料箱子中。 白名单可以设置具体数量,进行精确控制。合成中如果数量超出设置的量。 多出来的会丢尽金箱子里。如设置合成10个台阶,进行2次合成12个,多余的2个丢进金箱子 如果在合成器中选择了【合成前移动】这个选项,则放入原料后,原料会立即输送到银箱子中去,而没有进行合成工作。但如果在输出命令中加入成品白名单,则同样会进行合成命令。 输出设置 原料箱子 银箱子 没有参与合成。 输出命令设置白名单,其他不变 银箱子得到成品 原料箱子的剩余原料 金箱子的桶 |
命令组
我们知道,一个管理器中是可以编辑多个独立的命令的。 如果我们需要组建一个大型网络,因为编辑界面有限,无法存放太多的函数,我们这时便可以使用命令组功能。 打个比方,工厂管理器的操作界面是一个大房子,命令组就是大房子中的一个个的房间。将不同的函数分门别类的放在不同房间里,一是起到节约空间的目的,再一个能够显得很有条理性,方便我们的管理。 打开设置页,可以看到信息,你可以将已经编辑好的命令直接拖进去加入这个命令组,或者鼠标点击进入到该命令组中,进行编辑命令。 进入命令组,编辑命令。在左侧功能栏中提供回到主界面的入口。 我在这个命令组中编辑了一个发射红石信号的命令。然后回到主界面。 对命令组进行重命名方便区分。 效果 命令组中同样可以创建命令组,进行多重嵌套。 |
第二个导学
我们知道,编程的目的是为了实现一个复杂功能,一个复杂体是由多个简单体构成的。我们的整个程序属于复杂体,而程序中不同的函数就是构成这个复杂体的简单体。 每个函数(简单体)只负责完成他们自己的简单工作,随着这些简单工作的完成会产生一种质变,从而完成复杂工作。 这就是模块化的概念。 我们在编程中,会经常用到一些函数,这些函数的使用频率极其频繁,如输入输出函数,是每个程序都必须要使用的。如果我们在每次使用这些函数时都要自己写一遍,那就太费时费力了。这时,我们可以单独写一个输入输出函数,将它进行打包封成一个黑盒子,只提供一个和外部互动的接口。每次我们要使用输入输出函数时,我们不需要再重新写一遍,直接将这个黑盒子拿过来,通过它提供的那个互动接口就能直接使用。这就是函数调用的概念。 |
节点组
在上一节中,我们讲到了命令组,命令组就是一个打包功能,但我们观察命令组的结构 它并没有任何外部接口,也就是说他是封闭的。 这样就导致在一个命令组中,我们编辑的命令必须是一个具有完整功能的命令,它也必须含有触发器,不符合我们模块化的概念。 这时,我们就可以通过使用节点组来为命令组添加外部接口,从而将命令组的功能范围大大提高,实现模块化。 节点组 分输入节点和输出节点。 输入节点(上)和输出节点(下) 节点只提供连通作用,没有其他功能。 如图,这是我的redstone命令组,它的功能是输出三个不同强度的红石信号。 单独看这个命令组,它是无法实现功能的。上面1、2、3是三个重命名后的输入节点,节点只有连通作用,没有其他功能,所以这个命令组实际上只有三个发射端命令。它不符合一条完整命令的定义,也没有触发器,所以单独的这个命令组是无法实现的。 我们返回主界面看看 主界面提供触发器,通过红石控制,下面选择三个不同触发条件与redstone的三个输入节点进行连接。鼠标停留在节点上可以看到节点名称,用来区分与命令组内哪个节点进行连接。 这样,通过节点组将redstone与触发器进行连接,使得redstone构成完整命令,能够实现功能。 在这个例子中,redstone就是一个函数(简单体),通过节点组为它提供一个外部接口。触发器通过节点组提供的这个接口连接redstone,这个过程就是调用函数的过程。 一个自动合成的命令组函数调用,input、craft、output均为命令组 input函数 合成函数 output函数 这里只讲解原理,所以不会进行太复杂的实验讲解。能体现意思即可。 如果你认为上面四幅图完成的自动合成功能,不如直接在一个函数中连接输入输出合成指令,那么说明你不适合这个mod,或者说你还没有领悟到它真正的意义。 |
方块更新器
方块更新器 当网络中并入方块更新器方块时,触发器的控制模式可以更改为方块更新检测控制模式 利用方块的更新来控制触发器的工作,从而达到控制命令的效果。 我们来看它的设置页 更新检测器就是选取你的更新检测器方块,时间区域是触发器工作频率,更新检测面就是检测器的工作面。 【更新方块】的选项中,【使用特定ID】进行精确设置,只有当被设置的方块进行更新时才满足触发条件。 【数据值】是变化范围,绿色方格代表变化上限。 一个绿色格,变化范围最多为0-1。 两个绿色格,变化范围最多为0-3。 三个绿色格,变化范围最多为0-7。 四个绿色格,变化范围最多为0-15。 这些数据主要是用来检测农作物的生长情况。 若范围为0-15,则小麦每个生长阶段都会触发 变化范围设置7-15,代表则小麦生长86%到成熟这个瞬间启动触发。 例子: 这里我设置的是当方块更新时,发射红石信号。 范围设置7-15。 我们种坨小麦。 一目了然,不做解释了。 再来个例子: 数据值设置0-15 数据值改为7-15,其他不变 我们可以看到第二个实验红石灯并没有亮。 应为一个方块从无到有属于从0跳到15,而我们设置的范围是7-15,范围不符,所以不会有什么现象 |
伪装器
需要搭配伪装器方块来使用,通过该命令实现对伪装器设置伪装的功能。 伪装器的伪装与清除伪装只能通过改命令来实现。 伪装器的伪装waila是无法分辨的。伪装成什么方块,waila就显示什么方块。 伪装器分3种,普通,双面,变换。 普通的伪装器就是伪装一个方块,没有别的功能。 伪装器-双面可以内外侧进行不同伪装 伪装器-变换还能设置伪装边界,以及碰撞箱体积的改变。 伪装器命令: 选择你并入网络的伪装器。 伪装器-变换尊贵VIP独享功能。后面讲 这些东西都不需要讲,一看就知道干嘛用的。 普通伪装器。我只伪装了侧面,上面没有伪装。我们可以看到此时waila显示的是白色染色玻璃。 智障waila,要你何用。 这时伪装器-双面,支持内侧外侧不同伪装,我设置的是侧面伪装,上下面不伪装。外侧侧面伪装玻璃,内侧木板。 下面来看高级货:伪装器-变换。 它有个VIP功能,边界: XYZ是方块边界范围,同时还能关闭碰撞箱体积。 如果开启完全碰撞,那么它的碰撞箱体积就是整个方块,如果关闭完全碰撞,开启碰撞,那么它的碰撞箱体积就是你设定的边界范围。 我把边界改成这样,然后取消碰撞箱。 这是个啥? 可以走过去。 还能丢东西过去。 注意,虽然取消了碰撞箱体积,但那个方块还是在那,无法继续放置其他方块在上面 |
告示牌更新器
搭配方块:告示牌更新器使用 将告示牌贴在告示牌更新器上。 告示牌更新器命令。 输入文本 效果 更改内容 动态更新,不需要打掉重写 |
第二篇命令篇结束
第三部分 其他方块
功能: 1:吸取以自身为中心,周围3*3*3范围内的掉落物。 2:以Q的方式丢弃物品。 注:可以单独使用。 首先来看吸收物品功能: 1, 通过网络来吸收物品。
输入选择物品阀门,输出选水晶箱子。 将一个羊毛丢到距离它四格远的位置上,并不会被吸走。 丢到距离3个格子的位置,被吸走。 单独使用: 下接漏斗,输出箱子。 接受物品。 支持管道。 丢弃物品功能: 输入选箱子,输出选阀门 箱子里放羊毛 羊毛被喷出来,但一次性全喷出来了。 白名单控制数量为1. 一次喷一个,频率以触发器频率为准。 单独使用: |
方块交互器
类似条纹管道,能够破坏方块,放置方块; 或者使用一些物品如锄头、打火石、药水。 同样可以单独使用。 大黄色准星面为互动面,无法调整方向。 小黄色正方形准星为方向,可以随意调整方向。 破坏:破坏强度为黑曜石,破坏距离为大准星面前一格。 使用网络: 输入选方块交互器,输出到箱子里。 方块放置功能: 最多放置两格距离远,且先放第二格再放第一格,若无法放置方块,则方块会掉落出来。 放置两个泥土后,其他的泥土无法放置,掉落出来。 将小准星的位置更改。 方块向小准星的方向放置。 小应用: 前方两格放置一个无中生有的筛子,能够进行筛矿; 后面的泥土会掉落出来,但每喷出一个泥土,筛子都会被筛一下。 配合物品阀门吸收掉落的泥土可以进行自动筛矿。 在网络中使用。 漏斗输入,交互器输出。 记得设置数量,否则会一次性喷出所有泥土。 使用药水。 丢一个打火石给它。 点火。 火熄灭后发现打火石在地上。 我这里实验无法使用锄头,理论上是可以的,不知道是怎么回事。 |
物品栏中转站
物品栏中转站(可单独使用) 能够与有道具栏的 生物如马或其他方块互动。 如图,我们想将矿车里的东西搬到箱子里。 因为矿车是移动的,没有与管理器或者工厂线缆接触,没有并入网络,我们无法在命令中直接搬运。 这时候我们用物品栏中转站。 中转站输入,输出到箱子里。 在矿车里放一组石头。 技术娴熟的老司机将车停在物品栏中转站前方。 石头被转移到箱子里。 单独使用。 高级物品栏中转站 能够与玩家进行交互,而且具备GUI。 你能看清这里面写了啥么。 戳这里 出现你的名字,再戳你名字 注意这里。 设定好了。 配置网络命令,高级物品栏中转站输入,输出到水晶箱子。 这是我的家当。 当我走进高级物品栏中转站的时候 我擦咧,发生了什么?! 毛都没剩下???? 注意上一幅图水晶箱子。 这里我没有设置名单,如果你不想被扒得一干二净,请设置输入白/黑名单。 |
集线器
将MOD里的方块打包集合到一个方块里。 将集线器与方块合成得到对应功能的集线器方块。 高级集线器方块还有工厂线缆的功能。 空集线器。 集成了两种功能的集线器。 我们来验验货。 我们只放了一个集成了红石发射和伪装器的集线器在管理器旁边 创建一个红石发射命令和伪装器命令,发现这两个方块都存在。 真的假的?我读书少你别骗我。来试试功能,看看是不是赝品 高级伪装+红石发射。 ORZ,你赢了。 再来个 高级集线器集成里红石发射和伪装,我将它伪装体积变为0,并且关掉碰撞箱,发射红石信号。 我们知道,如果一个物品想并入到网络中,必须至少有一面与工厂线缆或者管理器想接触。 高级集线器默认集成了工厂线缆的功能,所以 变成以下: 我们来看看命令 钻石箱子可以被检测到。 100%隐藏线缆,伪装板什么的弱爆了。 |
创造物品供应器
创造物品供应器,能够提供任何物品,在白名单中设置。 输入选择创造物品供应器,输出箱子。 物品设置为仙人掌(如果不设置默认为石头) 箱子开始接受仙人掌。 |
第三部分结束。
教程结束,如果有错误的地方,还请大家回帖指正,感谢!
-
image036.jpg (7.83 KB, 下载次数: 12)
-
image038.jpg (10.75 KB, 下载次数: 10)
-
image040.jpg (9.32 KB, 下载次数: 13)
-
image046.jpg (18.84 KB, 下载次数: 5)
-
image047.gif (1.49 KB, 下载次数: 14)
-
image048.png (5.46 KB, 下载次数: 8)
-
image051.jpg (5.86 KB, 下载次数: 11)
-
image052.png (4.56 KB, 下载次数: 15)
-
image055.jpg (20.07 KB, 下载次数: 14)
-
image056.jpg (10.07 KB, 下载次数: 8)
-
image057.png (4.49 KB, 下载次数: 7)
-
image060.jpg (12.01 KB, 下载次数: 13)
-
image061.png (2.57 KB, 下载次数: 10)
-
image065.png (3.43 KB, 下载次数: 12)
-
image092.jpg (18.65 KB, 下载次数: 7)
-
image118.jpg (16.84 KB, 下载次数: 16)
-
image200.jpg (17.7 KB, 下载次数: 16)
-
image201.png (86.47 KB, 下载次数: 7)
-
image112.jpg (29.91 KB, 下载次数: )
-
QQ图片20160409133404.jpg (10.03 KB, 下载次数: 4)
-
QQ图片20160409133415.jpg (12.01 KB, 下载次数: 7)