本篇教程由作者设定使用 CC BY-NC-SA 协议。
无人机程序拼图详解,点击查看原文档
作者:AnECanSaiTin
———————分割线———————————
注释:不影响程序,仅用以注释文字。
开始:一切程序的起始,必须有一个且只能有一个。
标签类:
区域:用于设定坐标区域,可以用gps或是以变量的形式来设置。并且可以调整所选区域低形状以及更多细节。
文本:用于为其他编程拼图提供文本信息的补充,如发出红石信号强度。
物品过滤器:用于设定物品、方块的信息,可以通过在物品列表或是背包中选择,也可以通过变量来设定。如果需要匹配同一id下的不同物品或是耐久度则需要勾选第一个复选框并设置相应的数值。如果需要匹配不同的NBT数据,如不同的附魔则勾选第二个。第三个可以匹配矿辞。第四个匹配所选物品所在mod的所有内容。第五个专门用来配合“挖掘区域”拼图设定方块,如果某些方块在标记后无人机无法正确识别,可以试试勾选这个复选框。
物品分配:用于在该编程中设置一个物品类型变量,需配合”物品过滤器”使用。
流体过滤器:用于标记流体。
坐标:标记一个坐标常数或是读取坐标变量,可以通过GPS导入或是手动输入。需要与“坐标运算符”、“条件:坐标配合”使用
坐标运算符:对坐标进行计算,计算结果会保存在设置的变量内。可以设置运算符有
+/- ×/÷ 最大/最小 。“/”左边的运算在拼图的右边进行,“/”右边的运算在拼图左边进行。
行动类:
连接在行动类拼图左侧的标签类拼图表示忽略该内容,右侧为仅以该内容为目标。如在“挖掘区域”标签左侧连接了标记有泥土的“物品过滤器”,则在执行挖掘任务时不会挖掘泥土。若在右侧连接了标记有石头的“物品过滤器”,则只会挖掘石头。所有的行动类拼图均需要连接“区域”拼图来划定工作区域。
行动类拼图必须连接“区域”拼图,若未连接其他用于过滤的拼图则会对区域内的所有符合条件的方块/实体/流体执行任务。
攻击实体:攻击设定区域内的所有实体,可以通过“文本”拼图来设置目标。目标被无人机锁定,会用一条红色线条与无人机连接,即便目标离开设定区域无人机依旧会跟踪并攻击,直到目标死亡或无人机死亡。无人机的攻击与玩家相同,无武器时的攻击伤害与空手相当,当然在使用带有附魔效果的武器时也能发挥附魔的效果。如果无人机安装了“实体追踪”升级则会为无人机装备一把加特林机枪进行远程攻击,注意这需要为无人机提供弹药,可以通过“从容器中取得物品”拼图来获取弹药。
挖掘区域:破坏设定区域内的所有方块,可以通过“物品过滤器”拼图来设置方块目标。无人机的挖掘与玩家相同,无工具时的挖掘速度与空手相当,当然在使用带有附魔效果的工具时也能发挥附魔的效果。可设置挖掘顺序,当勾选“需要挖掘工具”复选框则需要在有对应工具的情况下才会挖掘相应的方块,可以通过“从容器中取得物品”拼图来获取工具。如勾选“限制方块交互”复选框则会在破坏设定数量的方块后立即执行下一个拼图任务。
收获:收获设定区域内的所有作物,包括小麦,甘蔗,可可豆以及大部分的其他模组的作物。在一般情况下,该程序仅仅进行收获,而不进行种植,如果提供了锄头则会在收货后自动补种。可以通过“物品过滤器”拼图来设置作物目标。可设置收获顺序,当勾选“需要锄头”复选框则需要在有锄头的情况下才会收获相应的作物,可以通过“从容器中取得物品”拼图来获取锄头。如勾选“限制方块交互”复选框则会在收获设定数量的作物后立即执行下一个拼图任务。
放置:在设定区域内放置方块,可以通过“物品过滤器”拼图来设置放置的方块。可设置放置顺序,放置时的方向(即模拟玩家放置方块时右击哪个面)。当勾选“限制方块交互”复选框则在放置设定数量的方块后立即执行下一个拼图任务。
右击方块:右击设定区域内的所有方块,可以通过“物品过滤器”拼图来设置目标方块。可设置右击的顺序,右击时的方向(即模拟玩家右击方块的哪个面)。如勾选“潜行状态”则会模拟玩家在潜行状态右击方块。勾选“限制方块交互”复选框则会在右击设定数量的方块后立即执行下一个拼图任务。
右击实体:右击设定区域内的实体,可以通过“文本”拼图来设置目标实体。
捡起物品:拾取设定区域内的所有掉落物,可以通过“物品过滤器”拼图来设置拾取的物品。
掉落物品:将库存的物品以掉落物的形式丢出到设定区域,如果指定了一个范围则只会在一个位置将物品全部丢出。可以通过“物品过滤器”拼图来设置丢出的物品。当勾选“使用计数”复选框则会丢出设定数量的物品。可以设置丢出物品的形式,Random表示向随机方向丢出物品,不会精确地掉落在某个点;Straight表示丢出物品精准的落在下方方块中心。
输出物品到容器:将库存的物品输出到设定区域的容器内,如果指定了一个范围则会先填满其中一个容器才会输出到下一个容器。可以通过“物品过滤器”拼图来设置输出的物品。可以设置于容器交互的面(用于像熔炉这类不同的面代表不同的内部槽位的容器/机器)。如勾选“使用计数”则会输出所设置的物品数量。
从容器中取得物品:将设定区域容器内的物品取出到库存中,如果指定了一个范围则只会在一个容器的物品全部取出后才会与下一个容器交互。可以通过“物品过滤器”拼图来设置取出的物品。可以设置于容器交互的面(用于像熔炉这类不同的面代表不同的内部槽位的容器/机器)。如勾选“使用计数”则会取出所设置的物品数量。
输出流体:将库存中的流体输出到设定区域内的容器内或放置在世界上。如果设定了一个范围则只会在一个容器无法容纳更多流体后才会与下一个容器交互。可以通过“流体过滤器”拼图来设置输出的流体。可以设置于容器交互的面(用于不同的面代表不同的内部槽位的容器/机器)。如勾选“使用计数”则会输出所设置的流体的量(单位:mb)。如勾选“防止流体”复选框则会将流体导出到世界上(流体须达到1000mb)。
输入流体:将设定区域容器内的流体取出到库存中,如果指定了一个范围则只会在一个容器的流体全部取出后才会与下一个容器交互。可以通过“流体过滤器”拼图来设置取出的流体。可以设置于容器交互的面(用于不同的面代表不同的内部槽位的容器/机器)。如勾选“使用计数”则会取出所设置的流体的量(单位:mb)。
搭载实体(当前错译为“卸载实体”):将设定区域内的实体搭载到无人机上(只能搭载一个实体),可以通过“文本”拼图来设置目标实体。
卸载实体(当前错译为“搭载实体”):将搭载的实体卸载到设定区域内,可以通过“文本”拼图来设置目标实体(然而只能搭载一个实体,没得选择)。
去某位置:移动到设定区域,可设置何时进行下一项拼图程序。Done when arrived 当到达设定区域时开始下一项拼图程序。Done when departing 当离开起始点时开始下一项拼图程序。
传送至某位置:以传送的方式移动到设定区域,可设置何时进行下一项拼图程序。Done when arrived 当到达设定区域时开始下一项拼图程序。Done when departing 当离开起始点时开始下一项拼图程序。
发出红石信号:发出红石信号,需要连接“文本”拼图来设置信号强度。
标签:用来承接程序内的跳转,如“跳转”、“条件类”拼图程序。需要连接“文本”拼图程序来指定连接的位置,设置成功后有白色线条连接。
跳转:用来跳转到程序内的“标签”,需要连接“文本”拼图程序来指定连接的位置,设置成功后有白色线条连接。
等待:设置一段时间什么都不做,需要连接“文本”拼图程序来指定等待的时间。(20 等待20 ticks ;10s 等待10秒 ;5m 等待5分钟)
重命名无人机:重命名无人机,需要连接“文本”拼图程序来指定名称。
自毁:如同被扳手右击,变成掉落物。
外部程序:执行设定范围内容器内的无人机、网络API以及安全站内的网络API的程序。如果容器内有多个可执行程序,则会以从左往右,从上往下的顺序依次读取程序。如果在范围内有多个容器,则会以离无人机最近的容器开始读取程序。如勾选“共享变量”复选框则会在执行各个程序时变量值共享(如上一个程序设置了变量C=5,则在下一个程序中,C的初始值=5)
合成:将库存内的物品以设定的合成表合成。需要按照合成表在右侧连接物品过滤器,设置成功后会在“合成”拼图程序中显示产物。如勾选“使用计数”则会合成设置的次数。
待机:执行到该程序时,无人机将会停止工作降落到地表以节省压缩气体,直到能执行下一个任务。通常会配合“条件类”拼图进行使用。
物流:在设定区域执行物流任务,工作方式与物流无人机相同。
对于每个坐标:将标记的坐标进行循环并将坐标赋予设定赋予变量,如果标记的是一个区域,则会按照从南向北,从东向西,从下向上的方向将整个区域划分为单个的坐标进行循环(但在一个循环完成后的的下一个取值却很迷,虽然最后会回到第一个坐标从新开始循环)。如果想要中止循环,只需要插入一个坐标值为0,0,0的坐标,当循环进行到该坐标时就会停止对设定变量的赋值,直到下一轮循环的同一位置不为0,0,0才继续赋值。该程序拼图可以与“文本”连接已实现“跳转”拼图程序的功能。
对于每个物品:将标记的物品进行循环并将物品设定赋予变量,如果想要中止循环,只需要插入一个空的“物品过滤器”,当循环进行到空的“物品过滤器”时就会停止对设定变量的赋值,直到下一轮循环的同一位置不为空的“物品过滤器”才继续赋值。该程序拼图可以与“文本”连接已实现“跳转”拼图程序的功能。
编辑告示牌:编辑设定区域的所有告示牌内容,需要连接“文本”拼图程序来设定文字内容。每个“文本”表现代表一行内容。
输出RF:将无人机所储存的RF能量输出到设定区域的设备内。如果指定了一个范围则只会在一个设备无法在导入RF能量时再与下一个设备交互。如勾选“使用计数”则会输出所设置的RF的量。可以设置检测方块的某个面(应对机器/设备不同面访问不同内部槽位)。
输出RF:将设定区域的设备的RF能量输入到无人机内。如勾选“使用计数”则会抽取所设置的RF的量。可以设置检测方块的某个面(应对机器/设备不同面访问不同内部槽位)。
ComputerCraft 控制:与设定区域的无人机接口交互,以便让ComputerCraft或是OpenComputers进行控制
条件类:
该类型拼图分为两部分上方为条件部分,下方为跳转部分,功能与“跳转”相同。当结果为“真”时触发右下跳转,“假”则触发左下跳转,没有可以跳转的文本时触发下方拼图程序。
条件:坐标 :将设置的坐标进行数值大小比较,不同坐标轴的数值为“与”关系,右上与左中为(x1,y1,z1),左上与又中为(x2,y2,z2)。分为左上右上与左中右中两组,当两组坐标同时满足所设置的条件时为“真”,否则为“假”。
条件:红石 :将标记区域的红石信号与设定值进行比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有红石信号强度为“或”关系;All blocks:范围内所有红石信号强度为“与”关系。可以设置检测方块的某个面(应对某些机器不同的面发出不同的红石信号强度)。当满足所设置的条件时为“真”,否则为“假”。
条件:亮度等级 :将标记区域的亮度等级与设定值进行比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有亮度等级为“或”关系;All blocks:范围内所有亮度等级为“与”关系。可以设置检测方块的某个面(应对不同的面亮度等级不同)。当满足所设置的条件时为“真”,否则为“假”。
条件:物品 :检测标记区域容器内的物品并与设定物品比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有容器为“或”关系;All blocks:范围内所有容器为“与”关系。可以设置检测方块的某个面(应对机器/设备不同面访问不同内部槽位)。
条件:物品 真值表 | ||
输入 | 输出 | |
左中 | 右中 | |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 假 | 假 |
无输入 | 真 | 真 |
无输入 | 假 | 假 |
真 | 无输入 | 假 |
假 | 无输入 | 真 |
条件:方块 :检测标记区域方块并与设定方块比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有方块为“或”关系;All blocks:范围内所有方块为“与”关系。 如勾选“检查空气”则可以检测空气方块(对应空的“物品过滤器”), 如勾选“流体”则可以检测流体方块(对应选择了流体方块的“物品过滤器”)。
条件:方块 真值表 | ||
输入 | 输出 | |
左中 | 右中 | |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 假 | 假 |
无输入 | 真 | 真 |
无输入 | 假 | 假 |
真 | 无输入 | 假 |
假 | 无输入 | 真 |
条件:流体 :检测标记区域容器内的流体并与设定流体比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有容器为“或”关系;All blocks:范围内所有容器为“与”关系。可以设置检测方块的某个面(应对机器/设备不同面访问不同内部槽位)。(设置单位为mb)
条件:流体 真值表 | ||
输入 | 输出 | |
左中 | 右中 | |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 假 | 假 |
无输入 | 真 | 真 |
无输入 | 假 | 假 |
真 | 无输入 | 假 |
假 | 无输入 | 真 |
条件:实体 :检测标记区域实体并与设定实体比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。左中、右中需连接“文本”拼图程序来设置实体目标。
条件:实体 真值表 | ||
输入 | 输出 | |
左中 | 右中 | |
真 | 真 | 真 |
真 | 假 | 假 |
假 | 假 | 假 |
无输入 | 真 | 真 |
无输入 | 假 | 假 |
真 | 无输入 | 假 |
假 | 无输入 | 真 |
条件:压力 :检测标记区域压力值并与所设置的设压力值比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有压力值为“或”关系;All blocks:范围内所有压力值为“与”关系。可以设置检测方块的某个面(应对不同面压力值不同)。当满足所设置的条件时为“真”,否则为“假”。
条件:物品过滤器 :用于比较“物品过滤器”,通常用于设置了变量的“物品过滤器”。右上与有中进行比较,左上:忽略右上拼图内左上拼图所设置的物品;左中:忽略右中拼图内左中拼图所设置的物品。当满足所设置的条件时为“真”,否则为“假”。
无人机条件:物品 :检测无人机的库存并与右上所连接的“物品过滤器”比较,忽略左上所连接的“物品过滤器”标记的物品。当满足所设置的条件时为“真”,否则为“假”。
无人机条件:流体 :检测无人机的库存并与右上所连接的“流体过滤器”比较,忽略左上所连接的“流体过滤器”标记的流体。当满足所设置的条件时为“真”,否则为“假”(单位为mb)。
无人机条件:实体 :检测无人机所搭载的实体并与右上所连接的“文本”比较,忽略左上所连接的“文本”标记的实体。当满足所设置的条件时为“真”,否则为“假”。
无人机条件:压力 :检测无人机的压力值并与所设置的压力值比较。当满足所设置的条件时为“真”,否则为“假”。
条件:RF :检测标记区域设备RF的量并与所设置的值比较。左上为忽略该程序拼图内容,右上为以该程序拼图内容为目标。如果标记的是一个区域,则会依照设置来进行判断 Any block:范围内所有设备为“或”关系;All blocks:范围内所有设备为“与”关系。可以设置检测方块的某个面(应对设备不同面RF值不同)。当满足所设置的条件时为“真”,否则为“假”。
无人机条件:RF :检测无人机存储的RF的量并与所设置的RF值比较。当满足所设置的条件时为“真”,否则为“假”。