本篇教程由作者设定使用 CC BY-NC-SA 协议。

这一篇教程所实现的功能其实用上一篇的方法来实现更好(自动投放体积不满的水晶),但是这个内容比较重要,所以还是写一下吧.

[高级]构建变量卡

这次做一个变量卡,拥有一个"物品"的输入和一个"布尔"的输出,判断天体水晶的体积是否小于900.如下.

集成动力实例教程_星辉魔法水晶自动化(3)-第1张图片

所以首先,我们需要三张"字符串"类型的变量卡"astralsorcery","crystalProperties","size"以及一张"整型"变量卡"900".还需要一些"运算符"类型的变量卡,具体的下面说.

流程分为5个部分,以及最后的连接,现在分部分来制作.

所谓构建自定义的变量卡,就是利用集成动力提供的一些基础逻辑运算和算数运算的"运算符"类型的变量卡,以及"apply(执行)","管道","翻动"运算,制作出一张自定义输入类型,并根据自定义的运算来输出结果

 第一部分-获取物品nbt:

制作一个"运算符"类型的变量卡,在右边搜索框搜索nbt,选择"物品nbt",命名为[获取物品原始nbt] (仅仅是为了教程叙述方便,实操中只要能分辨出哪个是哪个就不必命名)

集成动力实例教程_星辉魔法水晶自动化(3)-第2张图片

此运算符输入输出如下

集成动力实例教程_星辉魔法水晶自动化(3)-第3张图片

第二部分-获取astralsorcery关键字下的nbt

在"运算符"类型界面右方搜索框搜索 nbt数据 选择"nbt数据:nbt"命名为[nbt数据:nbt]

集成动力实例教程_星辉魔法水晶自动化(3)-第4张图片

输入输出如下

集成动力实例教程_星辉魔法水晶自动化(3)-第5张图片

[重要]对于"运算符"变量卡,可以使用"执行apply"运算,将其输入固定,但是"执行apply"匹配位置而非类型,所以需要使用"翻动flip"运算将原"运算符"变量卡的输入位置交换.

现在我们需要对这张变量卡进行改造,使他只有一个输入输出,使他输出"astralsorcery"关键字下的nbt数据,对[nbt数据:nbt]使用"执行apply",并标记参数"astralsorcery"即可做到,但是"执行apply"匹配位置,而[nbt数据:nbt]的一号输入位是"nbt",所以先要对[nbt数据:nbt]使用"翻转flip".

首先搜索 翻动 标记[nbt数据:nbt]命名为[nbt数据:nbt翻动]

集成动力实例教程_星辉魔法水晶自动化(3)-第6张图片集成动力实例教程_星辉魔法水晶自动化(3)-第7张图片

然后搜索 执行 标记[nbt数据:nbt翻动]和"astralsorcery"命名为[获取astralsorcery下的nbt]

集成动力实例教程_星辉魔法水晶自动化(3)-第8张图片


集成动力实例教程_星辉魔法水晶自动化(3)-第9张图片

第三部分-获取crystalProperties关键字下的nbt

和上一部分类似的操作,搜索 执行 标记[nbt数据:nbt翻动]和"crystalProperties"命名为[获取crystalProperties下的nbt]

集成动力实例教程_星辉魔法水晶自动化(3)-第10张图片集成动力实例教程_星辉魔法水晶自动化(3)-第11张图片

第四部分-获取size

和前面类似,在"运算符"类型搜索 nbt数据 选择"nbt数据:整型"命名为[nbt数据:整型]集成动力实例教程_星辉魔法水晶自动化(3)-第12张图片集成动力实例教程_星辉魔法水晶自动化(3)-第13张图片对其使用"翻动"命名为[nbt数据:整型翻动]集成动力实例教程_星辉魔法水晶自动化(3)-第14张图片集成动力实例教程_星辉魔法水晶自动化(3)-第15张图片搜索 执行 标记[nbt数据:整型翻动]和"size",命名为[获取nbt中的size]

集成动力实例教程_星辉魔法水晶自动化(3)-第16张图片集成动力实例教程_星辉魔法水晶自动化(3)-第17张图片

第五部分-是否小于900

类似的操作,"运算符"搜索 大于 选择"关联大于运算"命名为[大于]集成动力实例教程_星辉魔法水晶自动化(3)-第18张图片集成动力实例教程_星辉魔法水晶自动化(3)-第19张图片

搜索 执行 标记[大于]和"900",命名为[是否小于900]集成动力实例教程_星辉魔法水晶自动化(3)-第20张图片集成动力实例教程_星辉魔法水晶自动化(3)-第21张图片

连接-将五个部分连接

"管道"运算可以将第一个(左边)输入槽的变量卡的输出传递给第二个输入槽(右边)的变量卡的输入,而"执行"运算是将右边变量卡本身作为输入传递给左边"运算符"变量卡.

所以,用"管道"将[获取物品原始nbt]以及四张已经做好了的"执行"变量卡连接到一起就可以得到我们最终想要的目标变量卡.

集成动力实例教程_星辉魔法水晶自动化(3)-第22张图片然后将[size是否小于900]放入"物品投掷口"的"投掷与运算符匹配的物品"的栏位就可以了虽然上一篇教程的两个箱子分频道的办法更好集成动力实例教程_星辉魔法水晶自动化(3)-第23张图片最后安利我正在肝的空岛整合"神之试炼",来一起受苦吧(ಡωಡ)http://www.mcbbs.net/thread-858670-1-1.html