本帖最后由 平凡的行者 于 2020-12-27 13:39 编辑
这个想法在我约4个月前游玩GTNH的经验的时候想到的,其中一个原因是觉得利用假物品做合成的后续回收麻烦才想出来的。
原理如题,模拟封包合成这个mod
要使用这个方法必须寻找一个「拆卸后可以保存内容物的容器」,并且保存的物品最好是以NBT的形式保留在拆卸后的容器上
1.7.10版本需要搭配EnderIO或mekanism等有这种特性的箱子使用,1.12.2以上的版本则可以使用潜影盒
假如该箱子可以套娃,那么要处理的配方原料要多少种都不是问题。
打包方法可能会类似这样:
使用一个interface贴着潜影盒直接送入打包材料,开启阻挡模式,让破坏面板回收。同时另一条线路会输出空的潜影盒供下一次打包使用。
因为破坏面板对潜影盒内容的判定有些问题,所以使用了比较器来判定内容是否为空。
拆箱方法则根据自动化需求而有所不同。
接着只要设定多种不同打包的内容对应到一个成品,就可以轻而易举做到自动化超过9种材料的配方
跟常用的使用假物品做合成标记来比较,打包的包裹可以通过由其内容(NBT数据)让AE2正确分辨各种包裹,所以同样可以将这些包裹直接写入模版内。
同时这个方法还有以下重要的特性:
1.能够保留输入顺序,这在对输入原料顺序有严格要求的配方起着做用。
2.物理上的阻挡模式。我认为这个特性是尤其重要的,因为不一定所有配方都有着可以直接操作的物品栏位来给interface输入,更遑论使用阻挡模式。
但只要能让容器在合成完毕,或者是接收到产物时再回收,那么暂时空置在那边的容器就起到了阻挡下一批原料输入的功能。
这在需要阻档模式,或是要求精准输入的原料数量时尤其重要。
GTNH中则可以使用这个技巧达到仅用一台装配线就能自动化所有装配线的配方。
如是我自行设计的装配线自动化方案。
右边是三个打包机并行打包。
装配线的配方则分为3包:输入舱1~8、9~15以及4个流体输入舱
假如有配方不需要9~15号输入舱的话(例如LuV马达),那么模版设定中第二包就给一个空包
这个想法在我约4个月前游玩GTNH的经验的时候想到的,其中一个原因是觉得利用假物品做合成的后续回收麻烦才想出来的。
原理如题,模拟封包合成这个mod
要使用这个方法必须寻找一个「拆卸后可以保存内容物的容器」,并且保存的物品最好是以NBT的形式保留在拆卸后的容器上
1.7.10版本需要搭配EnderIO或mekanism等有这种特性的箱子使用,1.12.2以上的版本则可以使用潜影盒
假如该箱子可以套娃,那么要处理的配方原料要多少种都不是问题。
打包方法可能会类似这样:

使用一个interface贴着潜影盒直接送入打包材料,开启阻挡模式,让破坏面板回收。同时另一条线路会输出空的潜影盒供下一次打包使用。
因为破坏面板对潜影盒内容的判定有些问题,所以使用了比较器来判定内容是否为空。
拆箱方法则根据自动化需求而有所不同。
接着只要设定多种不同打包的内容对应到一个成品,就可以轻而易举做到自动化超过9种材料的配方
跟常用的使用假物品做合成标记来比较,打包的包裹可以通过由其内容(NBT数据)让AE2正确分辨各种包裹,所以同样可以将这些包裹直接写入模版内。
同时这个方法还有以下重要的特性:
1.能够保留输入顺序,这在对输入原料顺序有严格要求的配方起着做用。
2.物理上的阻挡模式。我认为这个特性是尤其重要的,因为不一定所有配方都有着可以直接操作的物品栏位来给interface输入,更遑论使用阻挡模式。
但只要能让容器在合成完毕,或者是接收到产物时再回收,那么暂时空置在那边的容器就起到了阻挡下一批原料输入的功能。
这在需要阻档模式,或是要求精准输入的原料数量时尤其重要。
GTNH中则可以使用这个技巧达到仅用一台装配线就能自动化所有装配线的配方。

如是我自行设计的装配线自动化方案。
右边是三个打包机并行打包。
装配线的配方则分为3包:输入舱1~8、9~15以及4个流体输入舱
假如有配方不需要9~15号输入舱的话(例如LuV马达),那么模版设定中第二包就给一个空包
为啥我看半天看不懂!
我觉得只要加入了末影管道或者是BC 基本上都能实现自动化!
我觉得只要加入了末影管道或者是BC 基本上都能实现自动化!
本帖最后由 名为123的貘 于 2020-12-27 18:40 编辑
(√
不过这个方法有一个劣势:过多的相同外貌的自动合成,导致编写模板时大脑混乱
建议还是涉猎一下另一个思路https://www.mcmod.cn/post/1389.html
这个方案的主要优势并不在于你说的两点,而是当第十个物品也需要用这条装配线合成时……
用另一个方案就可能卡死
(√
不过这个方法有一个劣势:过多的相同外貌的自动合成,导致编写模板时大脑混乱
建议还是涉猎一下另一个思路https://www.mcmod.cn/post/1389.html
这个方案的主要优势并不在于你说的两点,而是当第十个物品也需要用这条装配线合成时……
用另一个方案就可能卡死
名为123的貘 发表于 2020-12-27 18:38
(√
不过这个方法有一个劣势:过多的相同外貌的自动合成,导致编写模板时大脑混乱
建议还是涉猎一下另一个 ...
不一定,这跟你挑选的包裹有关。
某些包裹会显示包了什么而不至于混乱,例如潜影盒

但大部分有这种特性的容器不会显示内容物,这确实可能造成模版编写的不便。
至于注魔的部分,我用打包法尝试了一下:

整合包是使用InfinityEvolvedSkyBlock,因为源质太多而且需要测试所以额外加了Torcherino加速。
实做起来并没有想像中的难。
使用打包法需要注意的就是要同步解包时的行为,有两个因素导致必须这样做
1.使用破坏面板回收包裹,它无法像import bus可以收到红石脉冲后只工作一次。
2.送入的多个包中可能包含空包。假如送来的包不可能包含空包,那么就可以在storage bus上设定黑名单来防止破坏面板速度太快
因此要保证破坏面板和成型面板的激活是互斥的,这样才能保证物理性的阻拦模式能正常工作。
但假如用其他的破坏器回收,那么视情况就可以再简化更多线路。

平凡的行者 发表于 2020-12-29 23:10
不一定,这跟你挑选的包裹有关。
某些包裹会显示包了什么而不至于混乱,例如潜影盒
因为大部分装箱还是不显示,所以我还是喜欢使用我先前说的那一种方案)
这个我应该也写了吧(
不过是用1.7.10的AE2物流,所以只能用存储组件
本帖最后由 平凡的行者 于 2020-12-30 18:24 编辑
确实如此。
另外,在模版内刻意放入一个占位符来使用阻拦模式的想法也挺有意思的,之前从没这么想过。
名为123的貘 发表于 2020-12-30 18:01
因为大部分装箱还是不显示,所以我还是喜欢使用我先前说的那一种方案)
这个我应该也写了吧(
不过是用1. ...
确实如此。
另外,在模版内刻意放入一个占位符来使用阻拦模式的想法也挺有意思的,之前从没这么想过。
好巧妙的思路!
东西有点少