入站申请&非编全详解论文
Lirrum
2026年07月06日 16:55
MC红石科技

非编码全物品详细解读v1.0.2

前言

本文最后一次更新为2025年元旦左右,目前很多知识已经过时,且不再维护。本文仅帮助读者了解非编全的全貌,求广不求深,实际储电研究深度远超本文所讲。

本文仅针对主流、体系成熟的非编码全物品进行解读,且不一定适用于BE;

本文设计较多储电知识,需要一定的红石基础才能读懂;

本文适合作为储电新人的进阶读物,但仅供参考。

总述

全物品的由来和含义

实际需求是促进技术发展的重要驱动力,这一点在MC中同样有效。服务器/单人档发展时间越长,一般物资数量和种类也就越多,需要储存起来。最早期,当生电还未诞生时只有箱子、木桶等,需要玩家手动分类后储存;分类机的发明极大改善了这一现状,但它还不配称为“全物品”,因为不可堆叠物、不同填充度的盒子等等无法处理,本生能力也十分有限。

国内全物品起源于新兵时代,差不多2019年末后。这一阶段是国内储电萌芽时期,以新兵为首的先驱不断完善处理流程,并逐渐有了“全物品”的概念,即一类能分类储存MC生存中能获取到的绝大多数甚至全部物品的机器。在分类的基础上,全物品还包括不可堆叠处理、大宗处理、加载器等等许多架构以完善其分类、储存的功能。

由于国内国外网络间“墙”的阻挡(中国国家防火墙),国内外早期储电几乎是各自独立地开始发展,而老外对于这类机器的叫法是“Main Storage”(简称MS),直译为“主要储存”,意为中央物品存储。

“全物品”和“Main Storage”两个名词独立产生,而不是简单的翻译问题。部分玩家将Main Storage中间加个“Items”变成Main Items Storage,但其简称MIS与多物品分类(Multi Item Sorting)一样,为了防混淆,这个叫法被弃绝了。

全物品的发展历程

国内的新兵等、国外的SCI服务器分别研发了最初的全物品,但逻辑都比较简单,处理能力都不算太强。尽管如此,仍有许多思想和架构产生了深远影响。直至今日,普罗大众对全物品的认识大多都还停留在新兵全物品。随着储电发展,各种思路先后用于全物品处理当中。最早的变化是大宗处理中打包与储存的分离,这一点非常重要,它为之后的大宗处理奠定了基础。

整流技术的出现极大地提高了全物品的处理能力。老外最先开始利用盒子整流,并且研发出一套完整的、基于盒子的处理流程,其卡顿非常非常低;国内储电玩家慕斯白基于自适应水流堆分研发出了速度更高的、更适合国内使用的物品流整流;1.19后矿车技术高速发展,卡龙猫等元老设计了矿车整流等。技术不断改善,现代常用的3类整流:潜影盒并行卸货整流、自适应水流堆分整流、自适应矿车黑名单整流基本定型。

盒流体系是老外研究的重点。其最大优势在于低卡,这与国外服务器人数普遍较多、卡顿严重的情况有关。自适应打包、混杂打包、分盒、合并、盒子硬盘、MBS、各类分类打包等不断发展;矿车技术让储电迎来一次革命,矿车类机器的处理速度吊打盒流、物品流。后来矿车分流引入,大宗处理流程有了天翻地覆的改变。矿车堆分、矿车不可堆叠分离、矿车分流等也极大地提高了全物品的处理能力。

还有一个重要的转折是不可堆叠的处理。从最开始的非盒分类、盒子全拆,到现在盒按不同填充度的分开处理,又是一个综合性能提升的要点。再然后是编码,这玩意老外最先开始研究,传入国内较晚。传统的编码技术实用性不太强,矩阵编码、高速实体编码和与其他机器的结合将其优势扩大,也掀起了一波编码的潮流。在这段时间及以后入坑的储电新人很多都研究了编码,虽然一定程度上促进了编码技术的普及,但总的来说是不好的。编码技术本身理解不难,如何实现才是重点。储电新人的布线能力大都惨不忍睹,而做机器基本也靠缝合,没有创新,这是非常不好的风气。这也是本文不介绍编码全物品的最主要原因,先把基础打好了再说,不要急着做编全。

全物品并未发展到尽头,还有很多难题等待我们攻克。例如:动态储存、热重置自适应技术、编码速度问题等等。全物品的发展极大程度上依赖于储电技术的发展。

储电系统性处理思维

本小节讲述储电处理的一般性问题,为选读章节。

3.1转移性

所有储电机器都有一个通性,我们暂且将其称作“转移性”,它有5个方面的内涵:

  1. 掉落物位置的转移: 如水道、堆分等等

  2. 掉落物转移到容器里: 如打包机等等

  3. 物品从容器里转移变为掉落物: 如拆包机等等

  4. 物品在容器之间转移: 如分盒器、合并器等等

  5. 物品随容器一起转移: 如矿车机器等等

绝大多数储电机器都围绕这5个方面进行操作。

3.2 常见操作

(1)储存:储存类型很多,固定储存、临时储存、动态储存……简单到漏斗+箱子,难到动态RAM编码储存。用什么方式储存、如何高效输入输出、UI、如何低卡……这些都是需要考虑的。

(2)物流:物流包括实体物流和无实体物流两种,分别有不同的适用域,这一点会专门用一章来讲解。

(3)分类:这是分流、粗分、盒分类、自适应类等非常多机器的核心,可难可易,贯穿绝大多数储电机器。

(4)取样:纯净物品流、堆、盒、车可只去一个或部分物品作为样品,进行逻辑判断,变可以控制整体的处理,而这些被取出来的样品称为“Key”

(5)轮询:依次访问每一个符合条件的单元,选择最近的单元优先处理,这一点在分配、itemcall中运用广泛,可能可以降低卡顿或使机器能多单元并行处理。轮询还有n台机器对1台时,在n台机器之间加入轮询,使它们变成1对1。线程优先级可以实现类似的与门激活。

(6)填充:常用于矿车类机器的车头,用于将矿车填充为目标状态以适配单元或后续处理,是预处理的一部分。

(7)抑制:在某些条件下抑制某些部分的功能,防止出现不必要的麻烦或者降低卡顿等。

3.3 UI

UI,即User Interface,用户界面(用户接口),是一个非常重要的设计要点。玩家可交互机器诸如全物品单片、箱盒展示、不可堆叠打包、合成站、熔炉组等,其UI直接决定了玩家使用体验与布线,是衡量机器优劣的重要标准之一。

实际应用中,好的UI往往意味着较难或较抽象的布线,适当进行取舍,保证综合

效果,亦或是努力破局,这需要以实际情况而定。优化UI也是许多机器迭代的重要因 素,切记不可为了方便布线而大幅舍弃UI。

3.4基础元件

  1. 漏斗:储电中地位最高的元件。漏斗拥有方块实体,在TE阶段运行,卡顿较大。锂mod(Lithium)极大地优化了漏斗,以及村民等许多方块实体。漏斗会执行3个运算:

  2. 若其上方无容器,则尝试吸取一个掉落物实体

  3. 若其上方有容器,则尝试吸取容器里的一个物品(末影箱除外)

  4. 若其指向容器,则尝试将漏斗内物品转移到容器中

这三个运算任何一个或多个在同1gt内成功,漏斗便会进入冷却期,此阶段内漏斗不会进行运算。cd时长通常为7/8gt,需要分情况讨论:(下图截自wiki)

图片

漏斗上方覆盖容器可以减卡,其中粪桶储物栏最少,优化最大,与上锁时卡顿差别不大。只吸不漏的漏斗称为被动漏斗,既要吸又要漏或只漏不吸的漏斗称为主动漏斗。主动漏斗是导致漏斗摸鱼的重要原因,因为“漏”之后会进入7/8gt的cd,在此期间内掉落物经过不会吸。1.21之后,漏斗上方覆盖完整方块时不会吸物品。

还有个容易设计出错的点是漏斗哈希(Hopper Hash):玩家先后放下漏斗a、b,则先执行a漏斗的运算,再执行b漏斗的运算;当区块重载后,a、b漏斗运算顺序受哈希算法控制,可以简单理解为随机。

漏斗的锁与不锁向来是争论焦点。锁可以减卡,但不恰当的锁会导致许多问题,甚至负优化(如熔炉组的动态解锁),并且锁漏斗的线可能很冗杂且没必要,总有人喜欢为了锁那么几个漏斗而加一大堆线。下面提出我的部分意见:

  1. 不锁数量非常少且不好锁的、在粪桶下的漏斗,因为不卡

  2. 不锁数量非常少且没有连接内置锁漏斗线的机器,因为要加一大坨线,而且卡顿感受不到。(我可不信什么卡顿积累说)

  3. 大量、并排、好锁的漏斗顺手就锁了(“漏斗的脸红胜过一切情话”)

  4. 投掷器:NTE元件,添加计划刻4gt后执行,在此期间不会添加新的计划刻,且NTE优先级为0。在储电中,其地位仅次于漏斗。

  5. 漏斗矿车:实体,在EU阶段运行,载重越多、启动延时增加、加速越慢(牛顿第二定律适用)。经斜轨、充能铁轨后可以加速或保持均匀,可被充能的激活铁轨上锁,再次经过未被充能的激活铁轨解锁。每1gt吸取1个掉落物实体或容器中的1个物品,上锁后不会吸取。矿车可被活塞推动,控制矿车动量是非常重要的点。矿车下方无紧贴铁轨时会瞬移到更下面的铁轨上(会被完整方块阻挡)。

接下来几章将会从不同物品的处理入手剖析全物品,再逐渐过渡到新兵全物品、分整流等等。受限于篇幅,部分机器只会说作用,原理简单解析或直接省略,因为本文目的只是为了解析全物品体系,而不在于实现。

普通物品处理

全物品单片

可堆叠物品一般分为两种来处理:普通物品(数量≤1大箱)和大宗物品(数量>4盒),1大箱到4盒间储量物品种类极少,怎么分取决于设计者意见。普通物品量不大,直接装进容器就可以,一般是1个大箱子(3456个物品),少见用木桶储存的(1728个物品),更少见用carpet的大木桶,普及度太低了。

普通物品一般在全物品单片中处理,其由中间的过道、展示方块与箱子等(UI部分)和外围一圈分类机组成。单片箱数常见8、10(整片),这直接决定了单片数量。不同版本可堆叠物数量如下:(不完全统计)

1.18: 857 1.20: 972 1.21: 1143

(PS:不计蜂巢等带NBT标签的物品和药箭等)

少见单片6箱的,储存密度太低了。还有逆天玩意单片几十箱的,比如亚特兰蒂斯单片。

UI很重要,除了影响布线外,压箱展示(展示仓库压在箱子上面)等也影响玩家体验和物品排布,需要合理取舍。

分类机部分,先看最古老的新兵的全物品单片,用最简单的分类机硬堆,其中用到了容器屏蔽防止串线,这也是大多数人能想到的全物品单片,但到现在已经被淘汰掉了。这个单片仍有可取之处,例如全冰道和很好的UI。下面直接来说不足:

  1. 吸力太小,填充/缓存太多

  2. 未全锁(单片数量过多,漏斗还是要锁的)

  3. 底箱分类适用主动漏斗,这一点非常不好,已是招人唾弃的设计了,不做过多解释

为了解决a中吸力、填充问题,AB片诞生了。AB片是指A、B两片间互不干扰而公用水道,这样就不用管串线的问题了!从而可以使用大吸力填法。需要注意的是16堆叠的填充和根据分类响应时长选择不同填法,一般有两个区间:(0,8gt](8gt片)和(8,16gt](16gt片)。

接下来我们讨论下解锁的问题。储电里常用的解锁有3大类:全局解锁、自解锁与动态解锁(本质上是全局解锁的一种特殊形式)

  1. 全局解锁:机器工作时解锁全部漏斗,工作完成后全部上锁

  2. 自解锁:物品运动到哪,哪对应的漏斗就解锁,所有部分工作完成后主控统一上锁或者由专门的元件控制部分上锁

  3. 动态解锁:由主控时钟控制,物品运动到哪就解锁到哪,物品离开后立刻上锁

  4. b两种卡顿差异在全物品单片中并不是特别明显,但自解锁布线比较麻烦,一般每根水道都要配备一个RS锁存记录上锁状态。

而控制解锁的时钟常采用模电时钟/漏斗计时器+模电计数器两种,它们的优点是:可热重置、体积小、时间长,而具体需要多长需要根据单片片数来决定。50片差不多需要2000gt时钟就足够了。

图片

物品排布

物品排布的原则是相似相邻,即将有相似性质的物品排在一起,一般包括:十六色、木制品、石制品、红石类、食物、自然方块与植物、炼药与原材料、杂物、掉落物等等,物品排布要适应UI,若有压箱展示则应在压箱位分配更多的非实体方块,必要时使用展示框(最好不用,很卡)。

此外,部分物品需要特殊保存:

  1. 珊瑚(块)(扇)类需要与水接触,可以用含水方块

  2. TNT易爆,最好下面放水或附魔台等,也可用展示框

  3. 草方块会蔓延到泥土上,分开排布

  4. 冰会化,铜类会氧化,应放在展示框里

  5. 幽匿类会发生,最好用展示框

  6. 树苗可用盆栽,但植物不太建议

三.大宗处理

早期大宗

大宗物品数量极大,常将其打包为满盒,以盒子的形式储存,所以大宗处理应该包含3个部分:将物品处理为纯净满盒、储存满盒、将满盒展示出来。早期大宗是一体化设计,三个部分是集成于单片的,打包机在顶上,中间储存,下面展示。

1.1打包

打包机(Box Loader)有很多种,早期大宗一般使用固定分类打包,有时也会和可访问打包联用。打包机有很多参数和结构,常见参数如下:

  1. 打包倍速 n倍速记作n×,常见倍速有1、2、3、4、6、8

  2. 可堆叠最小宽度 若一台机器可堆叠,堆叠a台(lim a→∞)共占b格宽,记n=b/a为其可堆叠最小宽度。这个定义是为了描述一部分机器的单元宽度和堆叠后单元宽度不同的情况,如下图打包机:

图片

它一个单元单独放出来是4宽的,但是堆叠起来就是3宽一个了,n=3,可堆叠最小宽度为n记作n wt,上图就是3wt的。AB片或者AB单元记作nwABt。

  1. 换盒周期 指从盒子满了到其被打掉且空盒被补充上来的耗时。若用漏斗向盒子里传物品(8gt),换盒周期在8gt以上的就会造成效率损失。8gt及以下不会损失效率,称为“满速”。若刚好是8gt也不用担心,盒子在NTE阶段就被摆出来了,漏斗在TE阶段运行。而用4gt高频投掷器入盒,换盒周期要在4gt及以内才能满速,这只能依赖主控,因为比较器和发射器的延迟都有6gt。

  2. 漏盒率 漏盒率=1-(真正被收集到的盒数/盒子满的次数)×100%,这由打盒架构决定

  3. 串行率 只有1wt打包机有,指打盒后被临片吸走的概率

而结构有打盒架构、打盒底座、分类部分、补盒部分等等。

打盒架构包含在打盒底座中, 打盒底座是打包机的核心,它包含满检、打盒、收盒、补空盒等等。打盒架构有许多种, 下图所示为最经典的架构:

图片

它有一种可能漏盒的情况:越过比较器不被吸走(5000w分之一的概率),串行率也很低,是比较安全稳定的打盒架构。

早期大宗打包顶上标配AB片分类,打包倍速1×或2×,前者直接入盒就行,后者要麻烦许多,入盒要加4gt高频,还要用2倍速输入投掷器,且换盒的时候必须锁高频,否则打盒后空盒还未补上来也会喷物。打包机最基本的要求就是不会漏散装物品。

图片

1.2储存、展示、拼接

既然是一体化设计,我们就顺着打包机往下做,用几个大箱子来存满盒。光这样还不够,只能存满盒的话取散货不方便。我们有两种解决方法:可访问打包或箱盒展示

可访问打包,又叫可交互打包,是指玩家能打开盒子取物品的特殊打包机。如下图可访问大宗:

图片

它的打盒架构很特殊,叫0t粪桶。堆肥桶会被推出,并且是0t推出(NTE→BE的0t),在BE阶段就到位,不经过EU阶段,所以盒子的掉落物会留在粪桶里,并被收回。而收回后又立刻被漏斗在TE阶段吸走,并补上空盒。0t粪桶回收率100%,串行率0,但换盒周期稍微长了一小点,用于可访问打包这种UI特殊的地方很合适。粪桶下那个漏斗一般是锁不了的,但有粪桶盖顶卡顿极低,也不用锁了。

值得注意的是它的满检,正常情况下物品只会在被检测的投掷器中停留1gt,即TE→TE的0gt,而比较器要任意阶段→NTE的2gt信号才能亮起,所以正常情况下它是不会亮的。当下方盒子满了,物品不断堆积,堆到待检测投掷器下方的漏斗也满了,投掷器内才会残留物品,然后触发打盒。同时上方输入漏斗上锁,待换盒后,排空投掷器后才允许继续输入。而此时下方可以存物品 。投掷器也不会堆积了,直到下一次打盒。

这种检测方式常用于可访问打包、混杂打包、缓存打包和精密打包等,缺点是有缓存(部分情况)且一定有效率损失,但在绝大多数时候是唯一解,而且这些影响都不大。

这个可访问大宗还有些值得学习的地方:它的UI很好,下方储存是自解锁的,卡顿低;内置了溢出逻辑,不怕堵塞(长期使用没问题,单次长时间输入上面还是有残留,这没办法,而且也不需要考虑)

另一个解法就是箱盒展示了。

箱盒展示可以将输入的盒子展示出来,且用完后自动打掉空盒、换上新的盒子。箱盒展示分为天花板箱盒展示、面板箱盒展示和地板箱盒展示,三者根据盒子展示位的相对高度之分来区别。大宗最常用的是地板箱盒展示,他有有4种常见形式:活塞侧推、上推含水方块、上推细雪和上推灵魂沙。

我们先来最基础的活塞侧推式地板箱盒展示,这也是绝大多数的工地材料展示,原理很简单,请结合图示自己分析:

图片

再然后是上推含水方块或者死珊瑚,堆叠后,含水方块邻近的水源数+含水方块数为其水数,有二水和三水之分。二水不防邻片同时打盒,三水更安全。此外,由于是上推,盒子可能飞出去,最好在盒子空了将其顶部盖住,这样在空盒的时候也好看一点。

图片

还有俩可以加的高级功能:无残留(从箱子到盒子间的所有容器中不残留盒子)和自喷盒(自动喷出输入的第一个盒子,当展示盒子非空时则不会喷出)。(PS:无残留必双漏斗)

紧接着是上推细雪,它的打盒更麻烦一点,但发展空间更大,因为他有可能做到两个功能:

a.打盒不盖盒 细雪有减速效果,盒子不易乱飞

b.缺盒时将细雪移到盒子展示位盖住发射器(美观)

典例就是终极细雪,这也是目前国内使用最广泛的箱盒展示:

图片

最后是灵魂沙,它的打盒又不一样了。灵魂沙能减速,所以也不用盖盒,而且它是不完整方块,这点对于设计者来说很有利。灵魂沙的布线难一点,用得也不是很多。

图片

天花板箱盒展示与面板箱盒展示将在后续章节里细说。

至此,早期大宗基本就说完了。早期大宗如今很少见了,因为它的不足太明显了:打包倍速受限、且只能堆叠固定分类打包,还有一点就是无法输入盒装物品,满盒只能手动分类或者全拆了,太麻烦且太浪费时间了。

2.现代大宗处理(上)

新兵全物品出现后不久,只有储存功能的大宗仓库(Bulk)快速发展,全物品大宗处理逐渐将打包部分与储存部分分离开。

2.1固定分类打包

没有1wt的限制,大宗打包的选择也就变得更灵活多样了。此处暂未提及分流,所以只讨论固定分类打包。首先登场的是老外最常见的精密打盒+落沙打打盒:

图片

相信很多玩家都没见过这玩意。所谓精密打包,是指盒子下面放漏斗,打盒的同时(BE)解锁漏斗,瞬间把满盒吸走(TE)。精密打盒是100%收集的,而其常见与落沙打盒同时使用,活塞被推上去打盒后被拉下来,而沙子自身就是重力方块,自己掉下来。

这种打包在国内很少见,精密打盒也没有什么意义(除了特定场景外),更常见的是下面这种直接打入水道的架构:

图片

反正精密打了、吸了还是要用投掷器透出来进水道,还不如直接打进水道。这种打盒架构可以实现满速,也就是8gt换盒,但必须采用旋转180°的方式堆叠,我们一般将其不严谨地称为镜像堆叠,这也是1wt的。

图片

除了单倍速外,还常用3倍速打包。他们相比2、4、6倍速打包有如下优点:

  1. 易全速、满速,且漏斗卡顿比高频投掷器卡顿低许多

  2. 无主动漏斗,不用担心漏斗cd期吸不到掉落物

  3. 处理更均匀 其吸力比2、4、6倍速略大,处理速度没那么快,但能在物品循环一周前处理完,4gt的话大多数时间都在摸鱼。

3倍速很简单,这里直接展示成品:

图片

伪类打包不能全锁,所以基本用于收集当中;主控打包更适合稳定物品流,而且投掷器高频卡顿大,全物品中也不会用到。

2.2盒分类

打包后就需要将盒子送入对应单片。一个打包机对应一根水道、一个单片简直太蠢了,一般将产物统一收集起来,并利用盒子分类(Box Sorter)送到对应单片。盒分类内置在大宗中,一般位于顶部。

盒分类的基本原理是:取盒内物1个作为“key”,将key与剩余的盒子异步发往单片,遍历单片。若key被吸走,则将剩余的盒子拦下来,并将key重新填充回去。这里以最常见的金合欢盒子分类v5作为例子来叙述:

图片

上方投掷器链是key的通道,当其运动时,通过比较器检测,从而带动侧面运输盒子的投掷器链运动。当key被漏斗吸走,盒子就不动了, 此时再解锁其下的漏斗,然后重新填充会盒子就行了。这里的分析需要用到计划刻,不再过多阐述。

还有一种用得比较多的是ners的自解锁盒分类,它运作时单片中只有1个漏斗全局解锁,其余都是自解锁,但是它的卡顿并不一定会低,而且经过多服生存实测,很容易坏,并不推荐使用。

图片

2.3大宗主体

有了之前的基础,我们就可以正式接触大宗了。大宗的顶部是盒分类,中间是储存部分,最下面为箱盒展示。储存部分是自解锁的,有活塞推红石块和火把塔两种锁漏斗方式。

活塞柱子很灵活,变式非常多,且解锁快、优雅,是主流形式;火把塔解锁较慢、卡顿较低且储量可在y轴上近乎无限拓展。此外还有些辅助用的指示灯,像爆仓指示灯、有物指示灯、解锁指示灯等等。

图片

大宗的UI很重要,大部分玩家喜欢UI稍高且有指示灯。由于打开盒子后,盒子会把其上方的展示框顶掉,所以最好不要将展示方块放在发射器上。且要考虑重力方块等,具体依实际大宗名单而定。大宗片数也靠设计者的判断,一般来说108种足够了。

2.4老外大宗、面板和天花板箱盒展示与四边形大宗

老外用的元件和国内的有差异,主要在盒分类和箱盒展示上。国内盒子展示一般在地上,老外则喜欢正对着,也就是面板箱盒展示

图片

主流大宗都是单片2种物品,也有玩家不满足于此,研发出了单片4种物品的大宗——四边形大宗

图片

四边形大宗难点在于UI和上下两个箱盒展示,以及顶上盒分类的连接。部分玩家选择不回收空盒,也有的用水流或者漏斗链回收,如上图所示。这个UI很好,实际使用并没有想象中那么痛苦,上方天花板箱盒展示也是要点,换盒时要解锁邻片,否则发射器被强充能发射器充能而无法喷出。

四边形大宗普及度并不高,哪怕是研发他的老外也没几个人用。大部分是因为使用体验,上方天花板箱盒展示残留可能会巨多,还不能自喷,但它还是很有发展前景的,因为有好UI发明出来了。

图片

四.不可堆叠处理

不可堆叠物品的处理很特殊,它大致包括4个部分:不可堆叠分离、物盒分离与盒填充度分类、非盒不可堆叠分类与打包、盒处理。

不可堆叠分离

不可堆叠物无法用普通分类机分类,需要分离出来单独处理。早期不可堆叠分离是独立的,到后来有很多机器内置了不可堆叠分离,以及和矿车结合的版本。不可堆叠分离的原理是将其放在漏斗中用比较器检测,信号强度≥2就是不可堆叠物。

图片

矿车不可堆叠分离麻烦了一丁点,一般由64车头、判定分离、矿车回收和主控组成。64车头有很多种,一般是让漏斗矿车只吸1gt,这样就可以确保车是纯净车。然后取样判定是否可堆叠,不可堆叠则分离,可堆叠则返回。主控还要防随机输入。

图片

若开启了PCA的盒子堆叠(盒子堆叠有很多种,后续会说),则不能用刚才的设计,而是都要返回,但要根据检测情况改变轨道烧车,建议用完全分离的烧车,用漏斗吸矿车的话一定要用被动漏斗吸,且64车头吸到物品后要立即处理,因为堆叠盒被车吸后车太冲了,车的动量变动太大。

图片

2.物盒分离与盒填充度分类

早期不可堆叠分类是有盒子处理的,但逻辑相当简单:拆了存空盒。而实际应用中投入盒子的情况非常多,尤其是不满杂盒和满纯盒,所以盒处理被单独提出来了。而不同填充度的盒子的处理也不同,这就需要有专门的机器来粗分不可堆叠了。

物盒分离原理是盒子不能套娃,再利用瞬投就能做到。

图片

盒填充度分类则需要将盒子摆出来,用比较器检测填充度,用于分离空盒、非空盒、不满盒、非满盒、满盒或其他指定填充度的盒子,而检测方式又有无实体和弹射式两种:

图片
图片

无实体式用了盒子机器的常用做法:检测后控制锁漏斗来分离不同盒子,而弹射式是控制栅栏门开关来区分的,很巧妙。常见的做法是把物盒分离与盒填充度三分(空盒、不满盒、满盒)集成在一起,也就是大家俗称的“四分仪”。这一说法流传很广,所以我们没有纠正,但是三分、五分等就有些指代不明了,命名时应详细说明究竟是哪几种填充度或物盒分离。

非盒不可堆叠分类与打包

不可堆叠分类是利用了不同不可堆叠物的特性来区别的,而不是通过悦灵(虽然说也可以,但不好),以下为具体特性:

  1. 药水类可以放入酿造台中

  2. 唱片可放入唱片机中

  3. 附魔书可放入雕文书架

  4. 打火石、剪刀不可被发射器投掷出来

  5. 打火石可用发射器打火

  6. 水桶、岩浆桶、细雪桶可被发射器放置出来

  7. 船可被发射器放置在水中

  8. 矿车类可被发射器放置在铁轨上

  9. 盔甲类可被投掷器穿戴到盔甲架上

结合以上特性与瞬投就能造出不可堆叠分类了,也有几点注意事项:

  1. 水桶、岩浆桶与细雪桶根据流速检测来分类,水流速度在1.19.3中更改,所以1.19.3前后的不可堆叠分类是不同的。

  2. 唱片机把唱片吐出来是乱吐的,下面放漏斗吸不到,必须用漏斗矿车来吸

  3. 盔甲架分类一次就要回收一次,用箭射杀,所以分类盔甲类是要消耗箭的

  4. 不可堆叠只是粗分,也有无法分类的

  5. 矿车类也可以细分,详见LEO的不可堆叠分类(TNT矿车不会被炼药锅里岩浆烧掉,箱子矿车能够被装填,漏斗矿车能够吸取容器)

不可堆叠物分类出来,可以接散装储存,但容量比较小,很多时候需要将其打包为满盒储存起来。除了可访问打包外,常见的还有缓存打包——缓存一箱散货(最上面一箱)再打包(满盒存在下面的箱子里),这两者可以一起用,可分类缓存打包、不可分类可访问打包,都是替代箱盒展示的手段

图片

盒处理

4.1空盒处理

空盒会进入空盒仓库中储存起来。和大宗一样,他也有活塞柱子和火把塔两种结构,且输入输出不一样,一般在输入口和输出口缓存一箱。输入一箱满后才会处理,减少卡顿;输出时优先输出输出口缓存的那一箱,取完了再补,也是减卡用的。

图片

盒仓的基础要求是能8gt连续输入输出,此外还可以加一些逻辑:

  1. 空仓逻辑:盒仓空了后不会再触发补盒

  2. 储量信号输出:直接输出模电信号,信号等级=有盒单片数量

  3. 溢出逻辑:盒仓满后再输入就会销毁盒子或返回到特定位置

  4. 单片满了后自动上锁

图片

4.2不满盒处理

不考虑高速分盒器那种创电机器(wreg:“那本来就不是给人用的”),不满盒会进拆包机把盒子里的物品拆出来。拆包机(Box Unloader/Yeeter)有两种:1.19-堆车拆包和1.19+烧车拆包(拆包也叫卸货)

堆车拆包和烧车拆包都是利用漏斗矿车吸盒子高速卸货,前者用多台矿车将速度分摊给漏斗,可实现8、16甚至更高倍速的拆包。

图片

烧车拆包有两种:换盒烧车(简易)和时钟控制。前者逻辑是:拆完一包就烧车,而后者由时钟控制。烧车拆包都会放出非常多的矿车同时拆包,所以效率是很高的。换盒烧车能达到88w,但硬堆碎盒时效率就会大减,贵在简易;时钟控制难做一些,效率最高能达到200多w。

由于拆包机效率都比较高,所以需要在全物品压力大时终止拆包,称为“拆包抑制”。拆包抑制可以从很多地方接信号,如分流器、整流器等等。同时不满盒应有至少1大箱的缓存,大型服务器则需更多。

图片

4.3满盒处理

这是一个有一定争议的点。一般来说输入盒极少有满杂盒,基本都是纯满盒,如果拆了的话太浪费了,如果判定是否为大宗又有可能把杂满盒输入大宗。对此,有4种主张:

  1. 全拆 极端

  2. 判定是否为大宗盒 主流做法

  3. 加个操作面板,可选满盒处理是(1)或(2) 兼之

  4. 在(3)的基础上,再加一个可选项:面板手动验纯

之所以会有杂满盒进大宗,是因为大宗盒检测都是取样检测的,也就是只取首位物品进行检测,而不是全白名单。全白代价太高,要全拆了再过分流器再打包,还不如全拆,和不满盒一样处理。当然,全拆给比较轻量的全物品是可以用的,前置的盒填充度分类中可省略“满盒”这一项。

大宗盒的判定有两种方法:

  1. 直接扔进大宗盒分类,非大宗会在车尾处输出。这也是比较常见、简单的做法

  2. 用MBS区别大宗盒

在说MBS前,先说下MIS(Multi Items Sorter),即多物品分类。多物品的核心是自适应分类,将输入物作为key,尝试分类白名单箱中的物品,若成功则证明它是白名单物品,否则就前往下一个单元。多物品一般是2wt16gt的,也有伪1wt的镜像版,但不可能8gt。

图片

MBS(Multi-Boxs-Sorter)是MIS的盒装版,即多盒分类,也叫粗盒分类。它将盒子取样后过MIS判定是否为白名单盒(大宗盒),然后key返回盒子。可以把它理解为MIS与盒分类的结合,而步进盒子又有漏斗步进和投掷器步进两种,二者体积略有差别。

图片

满盒大宗盒直接进大宗,而非大宗盒一般会有专门的地方存,拆了听不划算的。除了粗分大宗盒外,MBS还可以分多条水道,这样就可以用多个盒分类车头了,多车头可以降低卡顿,这也是比较推荐的形式。

为了进一步完善逻辑,常常会在大宗入口处多加一个大宗盒输入口,可以直接输入大宗盒。当然也需要用四分仪等来过滤防呆,这样,主处理全拆就可以了,要是不想刻意手动分离,也可以用才做面板控制满盒全拆或粗分。

基于盒子分类大家可能会问那我如果2个大宗我不想用两个车头怎么办

比较常见的是用U型弯,还有用桥接的。

图片

如图所示这个是u弯。那么为什么叫他u弯?可以看到盒子与key的行走路线呈u字形。

制作u弯有一个非常重要的点,就是每个盒子跟key不能在一格投掷器里面停留超过4gt。为什么呢?因为投掷器是随机投掷,如果超过4gt前面的被后面的追上了,就会出现乱盒子。比如我原本A盒的key原本返还给A盒,但是就是这4gt导致了原本A盒的key跑到B盒去这样就乱套啦:(。

那么什么是桥接?桥接常用的地方就是四边形大宗

图片

如图所示这个是典型的掏“马桶”UI的四边形大宗。可以看到上面有4个盒子分类的单片,那么你又不想用4个车头那怎么办?以我们MC玩家的智慧就想到了桥接。为什么叫它桥接?我猜你知道了,因为跟上面u弯一样它的盒子行走路线就像一座座桥连接在一起。注意事项也是跟u弯一样,不能停留4gt哦。

水道与物流

  1.1水道、冰道

    水道是以水流为载体运输掉落物的方法,在绝大多数机器中被大量使用,有不可替代的重要作用。掌握布水道的方法是每一名储电玩家必备的基础素养。

    水道不能在下界使用,但其常用结构被运用到了下界运输以及其他地方,这并不影响它在机器中的广泛使用。

    水道可以运输大量实体,速度也并不慢,是实体运输的核心。

    物品在水中受到5个力:

        ·自身的向下的重力

        ·由水流提供的、平面内的推力

        ·由水流提供的、向上的浮力

        ·由水流提供的阻力(当物品落入水中或进入静态水时体现)

        ·由掉落物所在方块的下方方块提供的摩擦力

 水流可以流8格,每往外扩一格,推力和浮力都会下降。

 掉落物在水中运动时具有一定动量,在经过挡水方块时部分或全部动量被阻力抵消,阻力有两个来源:其下方方块的摩擦力和挡水方块的阻力。

 当阻力过大,掉落物会直流在挡水方块内。我们需要增大掉落物在经过挡水方块的速度、高度以及减少摩擦力等等。一般情况下,水流隔7格就需要挡一次,否则部分掉落物无法通过。此外,用于铺设水道的方块的摩擦力影响也是一个很重要的因素。我们将其分为3类:

   ·冰类 冰、浮冰、蓝冰,三者的摩擦力很小,请看下图三者摩擦力对比实验:(从上往下依次为:冰、浮冰、蓝冰)

图片

     由图可见,冰和浮冰的摩擦力相差不大,都略逊于蓝冰、

     冰类摩擦力很小,全冰道或者在挡水处放冰都可以让掉落物平稳通过,可以不用7格挡一次,正常8格挡一次就行,甚至全冰道9、10、11格挡一次都行!冰类最大的缺点可能就是有点贵了,9合1地升级。不过非必要请不要使用冰,因为会化(下方有完整方块且周围有光源/热源),至少都是浮冰。此外,冰不可充能,而浮冰和蓝冰都可以充能,部分情况下可以用到冰防串线。全物品等对性能要求较高的机器应当使用全冰,用不起就别做。

     ·大摩擦类 包括灵魂沙、蜜块等等,他们在满速水道和聚堆等处有很大作用。

     ·其他类 大多数方块都在这一类,他们的摩擦居于前二者之间

     铺设水道的方块还要考虑很多因素,这里我们列举常见的4种情况:

     1.直接铺在漏斗上

图片

   漏斗并不完整,掉落物有可能漏入漏斗上方的凹槽内,对掉落物的高度有要求,直接来说水流浮力要足够,推荐每隔5格就挡一次水,前5格水的福利较大,足够维持掉落物高度,而7、8格水会使掉落物有概率落入漏斗凹槽内。

   此外,请一定不要直接从漏斗上方投下物品,否则很大概率会直接掉入凹槽内,哪怕是经细雪等有减速效果的方块,也仍有可能掉进去。可以在漏斗上方放置铁活板门或下半砖将其变成含水方块,虽然阻挡了漏斗上方贴图名单,但并不影响它吸取掉落物。(注意:1.21漏斗上方有完整贴图方块时都不会吸物品)含水方块也可以防止冰霜行者将水源冻结,这一点在设计全物品等离玩家活动区比较近的区域时也需要考虑。还可以从侧面输入,但请保证输入的掉落物高度足够,否则还是会掉进凹槽。

   2.水铺在栅栏门、栅栏上方

图片

   栅栏门和栅栏的碰撞箱高于一格,同样需要保证掉落物高度足够,当然实际情况一般不可能有上图这么极端,一般只有1、2个,还是要注意控高。

   3.水铺在无碰撞箱方块上面(如:珊瑚)

        一样,高度要够,不然会掉下去

   4.水铺在箱子上

图片

   这是一种常见的限速手段,可出现在打包机水道入口上

   掉落物的碰撞箱会卡在水和箱子间,让其在水中的部分减少,迫使其减速。

   挡水方块的选取同样也是一项技术活。

   常用的挡水方块有:珊瑚扇、打开的栅栏门、发光地衣、半砖、活板门、铁轨、石质压力板、脚手架等

   若单纯是为了挡水,推荐使用珊瑚扇、发光地衣、打开的活版门、石质压力板和铁轨,他们都没有碰撞箱。

   最常用的二者是珊瑚扇与发光地衣。前者脱水就死,实装时常出现死珊瑚,挺难看的;后者和草类似,对着它放方块直接就消失了。具体选用哪种请读者自行选取。此外,请注意:只有石质压力板不会被掉落物触发,其他3种压力板都会被触发,可能产生不希望出现的结果。

   此外,有时也需要用挡水方块对掉落物做特殊处理,这个待会儿会说的。

   现在我们已经会了最基础的水道,接下来就是想要怎么初步优化它了。

   常规优化水道从两方面入手:

     ·减少掉落物存在时间 减少水道长度;提高掉落物平均速度等,比如:使用全冰水道、减少拐弯数量等等。

     ·减少掉落物数量 掉落物是一种神奇的实体,他有5滴血,生成后5min会被刷掉。一个掉落物实体可以包含1-64个物品,两个包含同种物品的掉落物实体在一起时会尝试合并,若他俩的数量加起来≤64则会合并为同一个实体(减少实体数量,实体很卡的),若>64则不会合并。

     为了合并零散的掉落物,我们需要将掉落物聚集一段时间,等其合并完成后再放行。聚堆水道有3种方法,第一种是利用活板门定时开关,让掉落物强制聚堆。这种方法需要水道外接电路,不是很优雅,而且活板门开关容易让掉落物鬼畜。

   另外一种思路是用挡水方块的特性让掉落物聚堆,常用的有:半砖、活板门、海泡菜、切石机等。

图片

   用下半砖/海泡菜/下活板门/切石机挡水,需要物品高度较低且水流浮力足够,物品撞上方块后会被阻挡, 在水流的浮力作用下缓慢上浮,停留一段时间用于聚堆,上浮到一定一定高度时从挡水方块顶部穿过。这时需要三个条件:物品高度足够低(低于挡水方块)、水流浮力足够(足够上升至高度超过挡水方块)、挡水仓库下面有冰(摩擦力由掉落物所在方块下方的方块决定,冰摩擦小些才能过去,不然就留在挡水方块上面了)。

   而用上半砖/上活板门同理,不过条件不同,需要物品高度较高、水流浮力较小。

   第三种方法则是慢速水道,这个稍后再说。

   聚堆水道在一些应用场景是必要的,因为漏斗、漏斗矿车都是有吸取cd的,尤其是漏斗,8gt才吸一个掉落物实体,若大多数物品是散的,一是很卡,而是漏斗可能只吸得到1、2个,而大部分在cd期就飘走了吸不到,比如熔炉组的地毯复制和打包机的输入,都有必要加聚堆水道。某些场景可以前置聚堆,有时也需要在特定的位置再次聚堆。

此外,海泡菜还有一种特殊聚堆法:

图片

   海泡菜是不完整方块,也可以含水,在水中,掉落物缓慢上升聚堆。

   在实际应用中,我们常把水道与其他机器联用,如:水道与分类机、打包机等联用。此时需要让漏斗能够吸到掉落物,为了提高速度,我们也希望它能被冰加速,于是我们就发明了以下这种特殊的水道:

图片

   我们利用不完整方块,将掉落物卡在漏斗与冰之间,这种水道既能够吃到冰的加速,也能被漏斗吸到。

   上图这种应用场景最常用的不完整仓库有箱子类、蛋糕、蜜块。

 这类水道看似简单,实则有许多细节。

 首先,要想卡到位,如要让掉落物装上不完整方块,消除动量后才允许放行,若还具有初始方向的动力就卡不到位。这也要求输入的掉落物要有足够的初速度,否则还没装上就已经飘走了。

 其次,不完整方块的选取也有讲究。为了卡到位,我们一般会使用至少2个不完整方块,其中蜜块的效果很好,因为它自带减速,掉落物一被黏,位置基本上就被矫正好了。

 为了让停留时间付走来精确矫正,有时也需要在卡位置处聚堆,多停留一会儿,也就和之前说的聚堆水道联系上了。

 此外,不同不完整方块喷装箱不同,蜜块>箱子>铁砧,同一水道用不同不完整方块时需要考虑掉落物是否会被不同碰撞箱的不完整方块拦截。

 而在中途的水道,需要用水流中继,但掉落物在两格之间。这两格任意一格有完整方块阻挡,掉落物都会被挡住。所以需要用一格水+一格不完整方块的水道,而这个不完整方块常用玻璃板、发光地衣、上半砖等等。这里推荐上半砖,它能限高,防止掉落物飞高了,漏斗吸不到。当任意一边下方的方块消失时,掉落物仍可以通过而不掉落,两个铺水道的方块都消失才会掉下去,这可以用在一些比较极端的场景当中。

  最后,这种水道和版本有关:

   ·漏斗无论在什么版本,只要掉落物碰撞箱有在其吸取范围内的,都可以被吸到。

   ·1.20之前,掉落物具有一个中心,中心所处方块的下方方块决定了其所受摩擦力,若把其中心卡在漏斗上,摩擦力由漏斗提供。

   ·1.20及以后,掉落物碰撞箱只要有在冰上面的都会被加速。

   此水道极其重要! 下图演示的是如何将卡入两格间的水道变为一格水道。

图片

     对于在平面内的水道,还有许多有意思的案例。

 首先,含水方块会使水流方向改变,常用的有含水楼梯、含水树叶和含水红树根,前者用于1.18及以前,后两者在1.19种加入,更好用一点。此外,红树根虽然表面看上去并不完整,实际上含不含水都能被充能,其上方也能放置红石、中继器等等,树叶不行。

 值得一提的是,若含水方块旁为源头水,水流方向不会发生改变。

 此外还有很多可以改变水流动量的方块,如珊瑚等, 请玩家自行探索

图片

 部分机器用漏斗输入,若流量很小,可采用下图来动态解锁漏斗

图片

 如果水道动量不够,把木压力板下面分玻璃换成冰,然后把南瓜灯换成混凝土(冰被光源弄化)

 接下来让我们看看竖直方向的水道

图片

 向上的水道主要是使用灵魂沙气泡柱,需要注意的是,水流必须是水源才能产生气泡柱,哪怕是含水方块都不行。

 气泡柱推力很大,物品会飞得很高,可以利用它来做二段水道:

图片

 这在很多情况中都非常有用。

 物品受惯性飞到上面的水中,又被水源的浮力带着上升,即使没有灵魂沙,浮力也是足够的,只不过有点慢而已。

 而到了顶上,需要将物品拦截,否则会飞出去。可以在顶上放方块,也可以用含水活板门或上半砖,不用考虑含水方块没有冲力,因为已经足够了。

 下图演示将物品卡在两格之间上升,顶上做了归中,也可以不做。

图片

 至于向下的,拿挡水的方块挡一下就行了,这里不再过多陈述。

图片

 上图是一个非常常用的架构,自检投掷器里的物品并投出去(T=4gt)。投掷器投物品很散乱,其中北方的概率较大。为了不让掉落物乱飞,我们通常会用细雪或蜘蛛网来减速矫正,蜘蛛网减速效果太强,若非动量极大请不要使用。

 前面描述的大多数水道都是追求快,实际上还有两种另类的水道。

 下图两根为慢速水道

图片
图片

 第一根利用了灵魂沙摩擦力巨大的特点制成,需要注意的是一定要让物品贴上灵魂沙,不然不起作用。常用于实体分盒器和矿车类机器回收填充物。

 第二根则利用了更多的水道特性:岩浆块上方的水源会把实体往下吸,由于灵魂沙上方不是水源所以不会产生气泡柱,还会减速。物品缓慢上浮聚堆,直到高度足够才能穿过切石机。常用于收集中和分流器联用(矿车在下方吸掉落物,慢速水道可以增加吸取时长,增加回收率)。

 慢速水道应用场景没有高速水道那么广,但是也相当关键。

 还有一种相当特殊的水道——匀速水道。下图为willy的匀速水道。

图片

  顾名思义,物品在匀速水道中的速度是均匀的,一直都是10m/s。匀速水道的原理一看就知道,不断改变冰的种类和水流推力使掉落物速度恒定为10m/s。匀速水道的开发只能靠不断的测试,要保证每2gt前进一格,且至少保持100格匀速,不过好在已经有成品了:willy和安德鲁都设计了匀速水道。

   这么精密的水道应用场景却很局限,只有高速实体编码全物品,涉及到编码暂时不会讲,之后可能会出文章专门讲编全。

   至此,你已经学习了大部分的水道知识,但必须加以运用才能掌握,遇到难布的水道请先尝试布出来,这对你提高布水道能力来说非常重要。 布水道很重要,也很基础。在设计储电机器时,你常常需要去使用它。布水道是一项繁琐的工作,许多机器,特别是全物品中,会用到巨量的、各种各样的水道,布久了之后,你会渐渐感受到水道的魅力。

  1.2投掷器链、漏斗链

   下图为最简单的投掷器链,由中继器/侦测器QC投掷器步进,步进速度10m/s。

图片

   这样似乎有些慢了,对于部分机器来说够用,但对于远距离传输来说完全不行,如何提高速度呢?

图片

   上图速度提高了一倍!还可以更快

图片

   铁轨的PP更新顺序为从远到近,所以需要特殊处理。由同一段铁轨更新的侦测器在同1gt内激活投掷器,顺势地,投掷器也会先后投出,速度达到100m/s

图片

    红石粉的PP顺序为从近到远,可以直接利用,而且预充能过后的红石粉卡顿是比铁轨要低一些的,而传输的速度也达到了160m/s!

图片

    这是纵向投掷器传输,中间有一列向下的投掷器是更新投掷器用的,从下往上可以不用。

    墙电PP顺序为从上往下,可以利用墙电做到从上往下的瞬投。

    这只是投掷器的多种用处之一,是不是很优雅呢?

新兵全物品

早期全物品逻辑很简单,其中以新兵的全物品为典例。我们一般把与其相似的全物品统称为新兵全物品,而不特指哪几台。本章节直说逻辑、排布等,不深入讲细节。

这是新兵全物品的主要流程图:

图片

有时不可堆叠分离也可能处在左翼前;物品循环四次就会超时拦截,所以处理能力是很有限的。骗赞服老全物品也是台新兵全物品,它在一次循环后加了缓存,待处理压力较小时才释放,提高了一定的处理能力。

新兵全物品一般呈十字排布,有左翼、右翼、十六色、大宗等区域,十字影响很深,是最经典也是最大众的型号;十六色专区如今已经很少见到了,它大多都被拆分到了左右翼当中。

对于这种历史遗留的古早产物,我还是直接说不足吧。不可否认的是,新兵全物品在当时是极具创造力的时代顶尖作品,但技术总是要迭代的,放在今天它已经太落后了,而吸取它的经验才能创造出更优秀的作品。

  1. 大宗一体化设计的局限性 这一点在第三章中已经说过了

  2. 盒处理的缺陷 这一点在第四章中已经说过了

  3. 可堆叠处理的缺陷 仅靠循环,处理能力太弱了

接下来几个章节,我们将从解决问题入手,不断优化全物品。

分整流及其衍生问题

分流

从输入的物品堆中筛选出目标物品(可能多种)的技术叫分流,可用于分离大宗物品等等。

1.1物品流分流

若你认真阅读了前文,那么一定会想到分流的思路是将同类物聚在一起,取样检测是否为大宗,从而判断整个整体是否为大宗。而它的重点就是将同类物聚堆了,最早的思路是用盒子,我会用专门一章来介绍盒流。第二个思路就是自适应水流堆分,这是物品流分流的核心之一。

下图为一个堆分车头,它会将物品高速弹射出去。MC的运行是离散的,你看到的流畅的画面是由许多帧画面构成,即程序是一步步执行的,只不过速度很快,再加上人眼的视觉停留,你就会认为许多事是同时发生的,其实不然。

图片

这么多掉落物堆,虽然都在EU阶段运行,但实际上是一个一个移动的。第一堆弹射出去,第二堆再弹出去,第三、第四堆……每1gt都会重复这个过程。当第一堆接触到压力板时,由于触发了压力板和铁活板门(都是瞬时事件),所以第一堆过了,其他的堆都会被拦下来,这样就能分离纯净物品堆了(因为只有同种物品才能聚堆)。

然后就是将同类物品聚在一起了。先来看普通的水流堆分单片,它的思路是取样,需要注意控制水流流向和流速。

图片

固定分类堆分直接分离大宗虽然快,但是体积过大,一般使用自适应水流堆分来将同种物品聚在一起,再取样前往MIS判定是否为大宗物品。自适应水流堆分顶上有两个互漏漏斗,一个用于分类,一个用于重置分类。

图片

把它和堆分车头结合,再加上MIS等元件,就构成了物品流分流——自适应水流堆分分流

图片

堆分适用版本是1.14+,是低版本常用的分流。然而自适应水流堆分重置比较慢,高版本有更好的选择。

1.2矿车流分流

矿车科技总让人眼前一亮,用它来替代堆分就简明许多。64车头只取一种物品,,直接对矿车进行取样,流水线检测,大幅提高效率。MIS最快只能做到16gt,而矿车可以做到8gt,可以用8gt车头+镜像MIS实现伪8gt分流,效率来到了57.6w。如果使用128甚至320车头的话速度还会再升,最高288w

图片

当然,也有专门的cartmis,例如77的cartmis。它的原理更加简明,也是目前使用最广泛的分流。它支持8gt,但同时对于时序要求比较高,对矿车动量有要求,只能跑64车头,但57.6w的效率是足够了。

图片

拿77的cartmis二创有很多人干过,不过请注明原作者Beggar_Boss

在全物品中总有部分物品的输入量很大,为了优化处理流程,加快实体的处理速度,提高大宗物品的打包速度,我们通常都会采用分流的办法。对于实体整流类全物品,添加分流其实是有利于降低卡顿的,很多人可能有添加了一个矿车机器添加了卡顿的错误认识,但是从处理流程上而言,他对卡顿的优化是毋庸置疑的,因为分流的出现,大大降低了整流器的工作压力,让整流入箱的速度得到了提升,使得实体得以更快的被消灭,同时应对大宗物品的更好的处理办法,也让大宗部分实体的处理速度得到了极大的提升。

现代大宗处理(下)

分流技术将大宗物品与普通物品完全分离开,这就为大宗处理提供了更多可能性。

2.1自适应打包、混杂打包与分盒

传统大宗打包硬堆很多台打包机,实际上每次处理只用得到几台。自适应技术不断发展,让人不禁发问:能否用自适应技术来处理大宗呢?当然是可行的。分流为其提供了条件,剩下的问题就是如何将大宗自适应地打包、缓存和合并了。

想必大多数人第一时间想到的就是自适应打包机,这的确是个方法。自适应打包大致有3种重置分类的思路:变速漏斗、全局/内置时钟和手动,排除最后一个,前两者都是比较好的方法,他们会把分类物保持一段时间。

图片

自适应打包是单倍速的,但它可以堆叠,所以可以根据输入物的多少自动分配打包机数量,但也不建议太多片,因为盒子会很碎,后续处理压力很大。

另一种思路由两个机器构成:无残留混杂打包+分盒器。无残留混杂可以做到3wt6×,而且上面的漏斗是空的,吸力很大,能高速地处理实体、减少卡顿。大宗物品一般是连续的,一会儿就处理了,不会间隔太长时间,所以自适应打包的保留分类物一段时间的功能也就没必要了。混杂打包会在工作完后统一打盒一次,保证无残留(检测也有讲究,不过受篇幅限制就不细说了)

图片

混杂打包出的盒子不会特别碎,因为每个盒子都有3个漏斗的输入,近15组物品,至少要15组才能分配下一台打包。但有个问题:它输入的是杂盒,而我们需要的是纯净盒,这就需要盒子提纯了,分盒器刚好能满足我们的需求。

分盒器可以把杂盒提纯为纯净盒,保证每盒只有1种物品。它是典型的盒子机器,用自适应漏斗在切换分类物时产生的16gt物品间隙来控制下方打盒,它需要一个响应时间≥10gt、复位时间≤8gt的分类,并控制锁漏斗来控制自适应,防止切换物品的时候进杂物。

图片

此外,还可以用亲嘴漏斗架构,体积比较小且防进填充物,总体漏斗数不变。分盒器需要考虑极端情况:若非常多非常碎的盒子同时处理,就有可能出现补盒速度不够的情况。可单片内置缺盒检测来避免,当然,这种情况非常罕见,也可以不管。

图片

分盒器速度并不快,虽然是同时处理多盒,但是单盒处理都是单倍速的。是否使用分盒器是个值得思考的问题。

2.2堆分打包与自适应堆分打包

普通分类打包是传统分类+换盒底座,那能否用堆分类+换盒底座呢?当然可以!堆分打包填充少、速度快、吸力极大,是非常适合的打包方式!水路堆分很少有人研究,当下热点是矿车堆分打包与自适应矿车堆分打包,我们来一一分析。

矿车堆分对矿车取样分类,本质就是分类机,结果控制矿车换向烧车。

红石火把不能在8gt机器种使用(不稳)、泥巴是为了增大摩擦矫正动量、进矿车堆分单元前矿车还要用斜轨矫正两次动量……涉及到的细节问题很多。矿车堆分把物品筛选出来,就可以用无分类高速打包了,一般来说2wt4×足够用了,打包用主控打包就好。还有一个问题是卡掉落物的位置,2wt4×必须用AB单元实现。

图片

自适应矿车堆分打包要考虑的问题更多,它主要依赖TEUD检测漏斗矿车推车,切换分类物、无残留等也值得思考,但都有比较好的思路来解决了,目前还有热重置分类、自动动态分配打包机数量等问题待攻克。现在的自适应堆分打包逻辑没有那么全,但是性能还是非常高,仍然是非常推荐使用的。

2.3不满盒临时储存

随着自适应技术的发展,固定分类不再具有较大优势。但是由于自适应的分盒或者打包总会产生不满盒,不满盒的最优处理方案往往是合并,因而,不满盒的储存配对成为了储存科技发展的要点。

单独储存盒子谁都会,但是以一种什么方式存可以更加方便取出才是我们的研究要点。为了取出盒子,我们自然而然想到了去搜索盒子,把盒子用物品分类科技搜索出来,不就行了。或者我们可以固定盒子的位置,把盒子储存的位置用编码或者其他方式固定下来,每次输入编码都可以确定盒子的位置。

图片

单片只存一种物品速度很快,但体积太大了我们自然想到了把很多盒子存在一系列大箱子中,然后去检索这个箱子,这对于非常重视体积的生存向玩家而言是一个很好的优化。国外的探索历史不是很明确,与老外接触多的观众可以自行在评论区补充。但是国内的盒子暂存技术起步很晚。在2023年,77开始设计合并全家桶,77佬的第一代合并全家桶并没有现在大家常用的那个那么小。

随后,编码储存方式逐步发展起来,之后慢慢起来的还有自适应储存技术。

搜索盒子不失为一种比较直接且容易想到的办法,优化我们的搜索算法可以让速度再次攀升。如图,许多盒子被储存在箱子塔中,要检索一个盒子需要历遍这些箱子中的所有盒子,时间复杂度非常高。

图片

但是当我们把盒子均匀储存在许多箱子单元中,搜索的时间只需要历遍一次大箱子即可,因为定位箱子非常简单,多物品分类和编码定位可以简单做到。

77佬设计了一款简单的不满盒储存,采用了多物品盒子分类对盒子进行分组储存,采用svar对多物品分类的输出结果进行配对(svar即自适应的盒子分类,每个单元的分类物是自适应存入的,不固定。),这样一来,相同的盒子可以被分类到一起,然后利用轮询依次输出去寻找成对的盒子即可。

77随后采用伪编码(多物品)的方式,设计了一款更小的。随着编码全物品的流行,分组储存搜索在编码技术的加持下可以做到小体积(并不是说多物品分组储存的就不行了)。

现在有了自适应堆分,自适应整流,自适应分盒(提纯),那我们就在想,能不能让合并的过程也实现自适应呢?这样编码也不需要了,固定的分类物也不需要了(当然这里并不是说自适应技术就比编码好,编码的部分设计非常牛逼的,只是限于篇幅不讲)。

首先,合并器的合并过程本来就是自适应的,输入配对的比较过的盒子然后自动合并,所以需要在不满盒暂存上面下功夫。实际上,对盒子进行分组其实并不需要编码和多物品分类,按照顺序存入,并在检索盒子的时候保持原来的顺序,照样可以分组储存,在这个基础上,自适应硬盘被开发出来了。

国内第一台自适应硬盘是雨天的,采用了自适应多物品分类的方式存标志物,标志物与盒子分开储存。输入盒子,取一个盒子的标志物,用标志物去搜索,如果搜索到相同标志物,就把对应盒子全部取出,用单个单元svar去找盒子。特殊的只有一个物品的盒子是一种特殊情况,需要特殊处理。

图片

wreg设计新的硬盘,基于雨天自适应多物品原理,矿车搜索方案,还有分组储存单单元svar,配合上cud架构,设计出的自适应不满盒暂存。他的优势在于,存入的盒子如果之前没有,就不会把盒子取出,直接存入,从而节省了存入的时间;同时由于是自适应架构,随便存入,无需填充,灵活性更高。

但是也不得不提缺点,那就是空盒处理的逻辑极大的拖慢了temp的速度,多了很多没必要的体积,如果没有空盒处理部分,那他的速度完全可以更快;同时还是经典的盒子搜索架构,盒子取出到存入在水道上花费的时间还是很冗余的。

图片

2.4合并

最后一步就是合并不满盒了,也有专门的机器来做这件事——合并器(Merger)

合并的第一步是比较两个输入的盒子的储量信号,用填充度低的盒子去填充填充度高的,这其中的逻辑就不赘述了。

图片

在单片内,盒填充度低的盒子被拆到填充度高的盒子里面,填充度低的盒空了或填充度高的盒满了都会打盒,逻辑有点多,请结合实物自己分析。

图片

合并完后要过一次盒填充度分类,空盒发往盒仓,满盒进大宗,不满盒返回temp。硬盘与合并器交互直接,所以有将二者结合起来的做法。

图片

整流

新兵全物品中物品在水道中循环,单片一次最多吸63个,只要63*8gt就可以处理完。而循环一圈差不多要4000gt,所以绝大多数时间中,漏斗是在摸鱼的。如何来解决这个问题呢?玩家们可以在单片入口处加一个装置,将每种物品均以接近漏斗速释放,来适配单片速度,这个装置就是整流器。

整流有3大类:盒子流、物品流、矿车流。盒流是最先出现的,但在下一章再讲。

3.1物品流

物品流整流有两类:预分类整流和自适应水流堆分整流

预分类整流最简单的整流,但也是最后出现的。它在BE中存在已久,但不到半年前才被引入了JE。既然要让每种物品以漏斗速投出,那直接自适应分类就完了,下面以wreg的预分类为例说明。

图片

上方漏斗填了4个盒子,只会吸一组,即保证吸1种物品。然后会传到下面来,过自适应分类,以漏斗速投出。这时就产生了一个问题:如果输入物过多,占用了很多单片该怎么办?不用担心,下方投出后物品会聚堆一下,再重新经过上方的自适应分类,而且是经过下一片的自适应分类,这样就可以保证只有1个单元在投物品。同时也有过量物品保护,下方自适应分类过载时就会把上方锁住。

图片

预分类整流可能会漏16堆叠物品(输出>漏斗速),但数量不多可以忽略。此外,其运行时会产生很多实体,卡顿较高,但架不住简单啊。这个结构相比于其他三类整流来说简单太多了,用于单人档全物品很合适,但服务器用就有些不够用了。

自适应水流堆分整流的核心和物品流堆分相似,都是自适应水流堆分。自适应水流堆分将同类物聚堆,在聚堆后,物品会以特殊的方式重投出去。预分类是直接重投,所以实体非常多,很卡。而要减少实体数就需要聚堆。常见的整流重投逻辑是:每62*8gt投出一个有62个物品的物品堆。

此外,老外按单片里比较器模电信号等级分批处理数量,分别为SS2和SS3(SS后的数字是分类时比较器输出信号等级),批处理数量分别为62和23。

物品流的投出受时钟控制,包括盒流和部分矿车流在内也一样。上述方案用于16堆叠显然是不行,它们用了另一个时钟来矿车,批处理数量是14/15,分别适用于16gt和8gt的单片。整流器单片内置了16堆叠检测,并由此控制用采用哪个时钟发过来的信号。

图片

分类完一轮后,整流入口会关闭。单片内溢出的物品与温流溢出(单片数<投入物品种类数)会经过一次重投,待整流器工作好一轮后第二次重投,再进入下一轮工作。每轮工作最后都会重置自适应漏斗,排空单片内的物品。重投一般使用海豚,因为速度快。

物品流整流最早由慕斯白和Monica一起完成,在当时是国内唯一一台原创整流器。后来wreg、77等人也做了类似的设计,小辰将慕斯白的原型机进行了修改,换上了老外的8gt堆分车头并参考77的16堆叠检测优化了单片、更改重投等,变为了如今普及度最高的Toka V2全物品的整流。

图片

3.2矿车流

矿车流整流包括自适应矿车堆分整流、矿车白名单整流、矿车黑名单整流、自适应矿车白名单整流、自适应矿车黑名单整流等等,有实际应用的只有矿车白名单整流和自适应矿车黑名单整流(cartsetbased)。

(PS:setbased是实现方式,代指自适应黑名单)

图片

矿车白名单的整流逻辑大致是:矿车吸取物品并被填充为1 63 1 1 1的形式(后面3个是占位的,前两位是物品),然后吸取白名单箱里的物品。每种物品只有一个,某种物品被吸了之后来的矿车就无法吸到了,吸到白名单的矿车填充方式变成了2 63 1 1 1,没有吸到了还是保持1 63 1 1 1,先用漏斗吸取一个物品,矿车填充分别变成1 63 1 1 1(白名单),0 63 1 1 1。采用矿车试吸物品或者漏斗试填物品的方式可以区分开这两类矿车。随后被吸走的矿车首位物品依照是否是白名单车选择是否归还矿车,如果是白名单车,该物品被送去缓冲区,经过一定时间后才会重新回归原先的白名单矿车,同时,属于白名单矿车烧车回收填充物后输出给全物品,考虑到漏斗的最大吸取量为63,一般会再吸一个物品将该物品与烧车后的主物品按照不同时序释放进入全物品。不属于白名单的矿车烧车后,将分类物品回归车头,被重新等待吸取,直到白名单回归从而完成整流。

图片

自适应黑名单矿车整流的流程类似白名单,但不同于白名单整流需要储存所有分类物的白名单,黑名单整流储存正在整流缓存期的物品key,用这个key加之与上面白名单整流类似的办法区分矿车运载物品是否处在整流状态,其矿车的填充方式一般是2 1 1 1 62,其中中间三位为占位物,而且必须保证物品填充为2 1 1 1 n,需要单独分离只有一个输入的物品,这样做的目的是为了配合黑名单储存,让其能自动添加黑名单或者判别黑名单。

矿车填充完成后经过区分判断部分,如果不处于整流状态,黑名单储存系统不会存在该物品的key,从而自动添加该物品key,并且取出一个物品key,随后该车会被送去烧车,取出的key会被送去类似于白名单整流的缓冲,等待整流完成后,通过矿车自适应填充吸取的办法,取出黑名单储存中的key。如果处于整流状态,类似与上面白名单一样,烧车回归至车头重新输入等待整流完成。

在黑名单整流中,物品被自动拆分成62+2,能适配几乎所有类型的大吸力整流全物品单片。目前常用的是wreg的自适应黑名单整流,以及用实体方式储存黑名单的javi的自适应黑名单整流,更加推荐后者,因为本身就是基于wreg设计的优化,而wreg设计的自适应黑名单整流又启发于javi的初版自适应黑名单储存。

4尾流溢出处理

有了整流器就不用循环了,性能暴增900%的同时,单片不可分类物和单片溢出会从单片末端出来,而不用再依赖超时拦截。尾流包含的这两种可以直接进箱子,也可以有更高级的方式处理。

首先是MIS收尾流,药箭、模版、陶片等等数量特别少的东西可以用多物品分类来捕捉,而不用占用单片的宝贵位置。用的多的是MIS V5.2,2wt16gt。

图片

普通物品的单片溢出可能会很多,而MIS处理又不较慢,可以尝试使用无残留混杂打包或高倍速可访问混杂打包等等。

也可在操作面板选择尾流处理方式为MIS或打包,另外,为了解决MIS的速度问题,可以用cartmis,这样就不用选择了,cartmis出来的不可分类物送去打包就好了。当然,用不着分流器那种复杂的结构,用速度慢一点的矿车多物品就行了。

图片

这玩意也可以用作前期的简易仓库,BE也把它叫做轻量级全物品,不过本质是多物品而不是全物品。

盒流全物品

早在第一章,我们就提到过老外主要研究盒子处理,本章就让我们来正式认识下基于盒子处理的盒流全物品。

无实体输入

与国内常见的水池直接输入不同,老外对低卡的追求达到了极致,并且后续处理是基于盒子的,所以输入形式也是盒子居多。老外常见的输入机器时无实体输入,它有很多可选功能,样式各异,这里我们列举一些:

  1. 辅助打盒 一个盒子、一个音符盒,往盒子里放我,右键音符盒打盒并输入,方便玩家对散装物品进行处理

  2. 四分仪等等填充度分类

  3. 从四分仪中出现的非盒进行混杂打包

图片
图片

并行卸货整流

没错,盒子会直接进整流器。盒流整流器集成度一般很高,甚至包括了对混杂盒的处理以及对盒内不可堆叠物的分离。盒流整流器有很多种,setbased、setcycle、svar based……

没错,盒子会直接进整流器。盒流整流器集成度一般很高,甚至包括了盒内不可堆叠物的分离。盒流整流器有很多种,最常见的为自适应黑名单并行卸货整流(setbased),同时还有自适应盒分类卸货整流,循环黑名单检索卸货整流(setcycle)。后两种不常用,效果也不及第一种,这里着重解释第一种。

首先,大多数并行卸货黑名单整流都是针对混杂盒的,其卸货逻辑为首位卸货,就是只卸货自适应漏斗吸取到了第一种物品,该种物品卸货完成后,将盒子打盒送回车头,进行循环操作,直到盒子卸货完毕,因而往往也有空盒分离前置;纯净盒的卸货就更加简单,没有首位卸货逻辑,二者在全物品整流流程上有所不同,此处介绍的常见盒流整流全物品,采用的是混杂盒首位卸货的办法,有提纯和分流逻辑的盒流通常采用纯盒卸货,纯盒卸货对黑名单的利用率更高,盒子能占用的单元往往更多,整流效率较高,但是前置的分盒逻辑也会有一定的牺牲。

大家都在前文看过了自适应黑名单矿车整流,这里是将自适应黑名单的对象当做了盒子,但是不同于矿车整流用黑名单记录是否处于整流缓冲状态,并行卸货黑名单整流是用黑名单记录单元内正在卸货的物品种类,其取出逻辑为,单元内该种物品卸货完毕时,会取出最后一个该种类物品,将其送往黑名单系统取出该物品的黑名单。同矿车,自适应黑名单系统无法处理只有一个物品的盒子,需要提前分离(对于纯净盒是只有一个物品,对于混杂盒是某种物品只有一个,二者前置不同),由于采用卸货方式,一般还需要区分16堆叠,有主控区分,单元区分,分流16堆叠纯净盒等办法。

对于并行卸货整流,其分配逻辑和缓存逻辑也是一大亮点,在此不过多赘述,感兴趣可以自己去下载投影学习。并行卸货是对整流的最佳阐述,在国外没有整流这个词汇,这是国人对并行卸货逻辑的集中概括描述,整流的本质是实际上都是一种类似并行卸货的逻辑。在盒处理不断优化迭代的年代,并行卸货的价值也会被更多人发掘。

图片

后续处理

整流后就比较简单了,物品会经过全物品单片和大宗打包机,和国内一样。

空盒仍是进空盒仓库,不过老外的服务器大多数都开了堆叠空盒,他们的空盒仓库就是几个大箱子。

不满盒会进整流器,满盒会判断是不是大宗盒。由于生存中满杂盒的概率极小,所以基本不会考虑它,会直接进大宗判断是否为大宗盒,也有用MBS的,也有非空盒用分盒器的。

小结

盒流全物品也没有想象中那么难,对吧?它和国内全物品还是有很多相似之处的。最大的优势在于低卡,低到使用它的时候mspt都不会怎么变。国内一位研究盒流的玩家就说,不希望开个全物品还要关掉其他机器才带得动。

国内盒流全物品

国人还是喜欢水池直接输入,这就需要把物品变为盒子了。常见的做法有3种:自适应打包、混杂打包+分盒器和实体分盒器。

前两种不必多说,实体分盒器是个新玩意,由bbhg提出,把分盒器的顶掀掉换成水道,再改下打盒逻辑,就能给散装物品用了,它与自适应打包作用基本一致,但逻辑不一样。自适应打包机会把分类物保留一段时间,而实体分盒器是漏完一种就会重置。

此外,实体分盒器用空漏斗吸取,往往配上慢速水道,实体消灭速度巨快。而且出盒速度也很快,缺点是盒子比较散,普物盒还好,可以选择纯盒整流,大宗盒的合并压力就有点大了,但也比自适应打包好很多。打包后的盒子经过满盒分离、MBS分大宗盒,剩余的流程就不需要多说了。

图片

全物品排布与细节、混储与成品全物品

构型

全物品构型有十字、一字、L型等多种型号,部分没有标准命名,所以只能先临时命名了。

  1. 十字:普通物品分为两翼,对立排开,大宗在其垂直平分线上,大宗对面是其他设施。十字是最经典、最大众的型号。玩家体验优越,普及度接受度都很高。(下两图为Lirrum的全物品)

图片
图片
  1. 一字:普通物品与大宗物品对立排开,中心向两侧或一侧延伸。一字普通物品水道集中,实体存在时间较短,若其下方用自适应堆分打包或部分整流会很帅。物品排布比较集中,高版本物品太多,片数太多,不好找,

  2. H型:常用于混储全物品,一列混储单片+一排其他设施。

  3. 特殊H型:普通物品分为两部分,大宗与其中一部分平行,有时普物中间的水道是部分联通的。(下图为Lirrum的全物品)

图片
  1. L型:普通物品与大宗垂直,暂未找到成品

  2. 二字型:常用于混储与编码全物品,两排混储单片,两端或一端为可交互机器区。如CC的编全

  3. 环形:四边形,两对面普物,另外两面一面大宗一面可交互机器区,正方形中间可能有其他设施,使用体验很好。

可交互机器区

这里指的是全物品中常用的一些非处理性的部件。

  1. 合成站 一般用8gt2+1的合成站,应带自喷盒,“2”部分容器屏蔽防连点和空盒,“1”部分可强制手动换盒。

图片
  1. 子区块合成站 利用掉落物穿越子区块时按ID重置顺序,辅助玩家进行复杂配方合成。

图片
  1. 常用物品展示 即面板箱盒展示,不过展示的是玩家比较常用的东西,如:壳子、小金人、珍珠等等。

图片

(4)铁砧补充 用一个铁砧补一个上来。

图片

(5)炼药机 半/全自动炼药,重点在UI等等,不过要有一定资本才用得起。

图片

(6)地毯机与铁轨机、刷雪机、辅助打盒

(7)熔炉组 常见倍速有24、50、64、100、128,部分玩家会选用小红的那种均分炉,这本质上是一种动态解锁,卡顿不一定低。熔炉组白名单大可不必,拆包与辅助换盒可以有。

取盒器与补盒链、盒仓交互与指示灯

玩家使用空盒的频率很高,常配备一台专门的取盒器供其拿取空盒。取盒器中的盒子用完后自动补盒。

全物品有很多机器需要补盒,这也是我最讨厌做的部分,又长又臭还容易串线。

  1. 可能产出空盒的机器:盒填充度分类、集成分流、合并器、并行卸货整流、箱盒展示、常用物品展示、合成站、拆包机等等

  2. 可能消耗空盒的机器:所有打包机、分盒器、合成站、辅助换盒、取盒器等等

补盒原则是:产生的盒子优先补最近的消耗空盒的机器、单条空盒链联通全程或多级补盒只有一条干路。补盒水道从盒仓输出开始,最后接回盒仓的输入。部分机器用一盒就发一次信号,这种情况不能只补1盒,因为可能存在多盒同时呼叫空盒的情况。偷懒点就一次补2盒,反正会接回盒仓不怕溢出,不想多太多就加个计数器,像TIS全物品一样每补15盒多补1盒。

还有些机器本身缓存有一箱或更多的盒子,可以检测箱子,空了就补一箱子,比如取盒器等等。控制一次补一箱不用太精确,多补点也行,反正不怕溢出。可以用模电长时钟等方式控制补多盒。

此外,盒仓一般玩家看不到,可以用几个指示灯来展示盒仓的储量。很少会直接用10多个灯,一般会分为3/5个信号状态,用模电简单运算就行。

不同元件的运行、故障等等指示灯也可以加,这项工作比较考验玩家的布线能力。有利于生存运维

混储

普通全物品是把大宗物品与普通物品分开处理的,而有的全物品单片内既有大宗物品、也有普物,这种储存叫做混储。常见的有单片6+2、8+1等等,第一个数是普物数,第二个数是大宗数。

图片

混储单片因形似螃蟹而得名“螃蟹片”,其UI相当关键,大部分混储片的UI都不太好,好的UI布线又很难或抽象。一般来说,要么下面UI差,要么上面往死里堆漏斗和木桶。

混储发明之初是为了方便玩家找物品,但因为UI和布线问题比较少见,很多都是半编码或全编码混储,不编码混储的其他处理和普通全物品是一样的。

设计建议与常见问题、资源与借物表单

设计建议

示例分析

  1. LAS全物品

图片

它使用了自适应水流堆分分流和整流,这个处理流程在1.18.2版本这个较低版本中,算是处理最快的一种了。纯物品流分整流外加3倍速打包阵列,综合处理能力很强。尾流、不可堆叠处理、盒仓交互等等细节也值得借鉴。

  1. 骗币服全物品

图片

除了特别的末地输入外,这就是台非常传统的矿车分整流全物品。cartmis分流+cart setbased整流的组合处理能力非常强悍,数量多的大宗物品被分流后送往3倍速打包,打包倍速足够快。非大宗数量少但种类多,用cart setbased再合适不过。实测的时候,200多盒不到6min就全部处理完了,效率很恐怖。

这台MS的投影已经公开了,但并不建议实装。这是在镜像服里截的投影,有笨比装错了,而且卸载过一次,矿车类机器有暗病。炼药机没填,内饰也没人搞,并且结合币服情况用了特殊输入和加载,其他服基本都不适用。还有就是催的挺急的,没来得及全面检查,有些小毛病qwq。

BCL全物品、FZ全物品、29全物品等等许多全物品都是这样的矿车分整流全物品。

  1. Www全物品

图片

这台是一字分整流,大宗处理用了自适应流程,更加智能,并且操作面板和附加功能很多,综合性能很强。

  1. Toka-V2

六花全物品普及度相当高,主打实用、简易,这台是堆分整流全物品,总体上是相当不错的。大宗用了自解锁盒分类,实测容易坏,建议使用时换成金合欢的盒分类v5.另外,大宗打包用的是精密打包,这一点在第三章已经分析过了。Toka V2材料少,性能也不差,小服和单人档实用很合适。

1.1设计次序

  1. 设计方案 设计者必须清楚地知道Ta是为了一个或一群有什么需求、物资与人力储备的对象而设计。若是为了某个服务器或某人单人档,需考察或问清楚其需求(速度、卡顿、大宗物品储量与种数、交互类机器)、基本情况(发展水平、carpet选项、版本、其他mod、实装能力、物资储备等等)和玩家情况(对全物品的接受度、热情、期待以及能够提供怎么样的技术帮助);若是面向大众或部分群体,则需要自己合理定位,最好找些符合要求的对象进行调查。

这一步非常重要,且需求可能是动态变化的,需要合理规划,你也不想自己设计了好几天甚至大半年的东西没人装对吧awa。

方案的制定就比较灵活了,一个效果有多种实现方式。方案设计从需求出发,先定构型,再定主处理流程,然后是辅助功能、硬件需求等等细节。方案可以制定多版,最终选择或综合,并判断自己的技术是否能将其完成。不要尝试过难的项目,除非你有充足的时间和毅力,时间线拉太长的话很容易没有动力的。

  1. 硬件选择或设计

现在已经有非常多成熟的作品了,一般你所需要的绝大多数元件都能找到现成的,可以在档案馆中选择(b站烂货太多了,没有硬实力别去选,容易被坑),或者子啊成熟的玩家社区中寻求帮助,最好是在几个主流储电交流群当中,储生一般都比较乐于助人,不过前提是详细、准确地描述需求,不要自造词汇,必要时配图或者视频

若有设计能力就最好了,不过也不要设计与自身实力差别过大的东西,而且盲目追求全原创是没有太多意义的。设计后需要经过大量测试,最好发出来让各位大佬提意见和捉虫。徐那好的东西最好也多跑跑或者问问别人有没有发现bug。

  1. 可视部分排布

这里的“可视部分”是指玩家能直接交互的部分,若部分机器面板与主体分开,则只包含面板。可视部分包括但不限于输入、单片、大宗、指示灯、取盒器和其他可交互类机器,之后的布线都会按照这个排布来,一定要预留足够的空间供布线,这一步相当于给全物品定型了。

  1. 处理部分摆放

一个杯子里先塞沙子,石头就放不进去了;如果先放石头,用沙子来溜缝就正好。摆放机器同理,先放体积大的、有方向性的、与之连接的机器很多的机器,再放小体积的机器,并且不要放太紧,要留足水道和线路的位置。放置顺序一般和处理顺序一致或相近,目光长远一点,不要老想着正在放的,要考虑之后的放哪,会不会和现有的冲突。

这一部分需要经过反复的修改,不要急着链接。如果你没有做全物品的经验,请一定要在这一步上花时间,这对你的布线、布局能力影响很大。另外,解锁时钟(不包括加载器时钟)等等并不包含在这一部分,他们比较灵活,可以塞在某个角落或缝中。

  1. 连接与加载

从输入开始,按照流程顺序连接。这个过程极考验玩家的基本功——布水道,不要小瞧了这玩意。布的时候也要规划,留足后续水道的位置,并且和线路同时进行布设,这个过程最好多人共同完成,因为工程量非常大。

拆包抑制、时钟、指示灯等线路留在后面布,补盒链、补盒水道、加载器等等留到最后,一定要提前留够空间,甚至设计元件的时候就要考虑这一点。很多时候需要对机器进行修改,请确保你真正理解了每个部分的用途。连接完后要认真检查每一根水道和线,尤其要注意看有没有漏接和混接。

加载器有地狱门加载和AMS加载两种,两者都有很多可以参考的实例,不赘述了。

  1. 填充、测试

填充的过程相当坐牢,它包括了物品排布等等过程,但不应该包含对处理元件的填充(白名单等等除外),这些早该在(3)阶段就已经填好了。填单片可以用一些辅助工具,例如脚本等等,也有个土方法:先把漏斗里填上填充物(WE//stack),把未排布的、16堆叠的提前处理了,然后把物品按排布顺序放进背包,在单片水道入口处按顺序慢慢扔(间隔0.35s左右),差不多两个小时就能填好一台全物品。

测试的过程最好一个人由一个人完成,因为需要控制tick freeze,其他人挂一边开灵魂出窍观察就好了,改动也最好只有一个人改,不然容易出乱子。

  1. 装饰与外包

……(建筑玩家自行脑补吧)

有时因为时间紧迫,设计者不会进行完整的(6)阶段,但也应该保证测试每种机器的全部或部分,并认真检查每根水道和线路,并测试补盒系统等无需填充的部分等等。

1.2协同作战、分工合作

很多时候设计大型项目都是多人合作,尤其是装饰,除了CC那种极少数的六边形展示,基本上全物品的装饰都是请其他建筑玩家完成的,而红石部分也常与别人合作完成。

合作中,沟通很关键。你需要明确地告知对方你需要对方做什么,你会做什么。有时对同一个问题,双方会有很多不同的见解,往往会采纳一方的意见,尤其是双方实力差距较大的时候,较弱的往往盲目听从实力较强的,这种情况经常出现错误。如果选用对方的方案,自己也要帮忙找漏洞,说不定融合一下意见会更好。合作可以省很多事,尤其是布水道等等,工程量小许多,推进速度也有质的提升。

1.3切忌闭门造车

开放才能发展,封闭必然落后。很多时候玩家设计出一个东西,非常有成就感,就顺着它做下去,最后却发现已经有人把这种结构做得非常好了,还有的本身就不是什么好结构,还发出来,加上一些完全不符的词汇来修饰,很多时候我们看着都尴尬。设计要素之一就是统一标准。

把你的设计发出来,这是每个人成长都必不可少的道路。别人总能发现一些你发现不到的点,尤其是大佬的指点,很多时候可以省去许多麻烦,这也是技术增长最关键的因素之一。有很多人怕被骂,但这并不可怕,早晚你也有骂别人的一天(bushi),而且正常情况下储生都还算是比较友好。

常见问题

  1. 堆叠盒与carpet

我们常说的堆叠盒是PCA的堆叠盒。Tweakeroo的完全是把盒子变成了可堆叠物,carpet的两个一个吧盒子在容器里也自动堆叠了,另一个无法堆掉落物。PCA的堆叠盒特性是:1个盒子放在漏斗里,用比较器检测输出信号3,且可以堆叠掉落物。用漏斗输入箱子,玩家不操作的情况下盒子不会自动堆叠。PCA在1.21要配合修复mod才能用。

Carpet在1.21前/carpet creativeNoClip是有碰撞的,仍可能撞到矿车等;AMS加载仅加载单区块,时长15s;counter测数据时,不稳定的tps会造成较大的误差,tick warp/sprint的数据比较稳定;测mspt变化的时候用tick warp比较稳。

  1. WE

小木斧虽然方便,但不太稳定,时长出现更新、少粘东西等等。//perf中可关闭更新(附近),这在大多数时候很有用,但不能完全避免。这玩意也不知道是下线一段时间还是多久就会恢复默认,所以每次使用前都要检查下perf状态。//undo可以撤回一次操作,//flip徐娜转(旋转粘贴板内的东西)

  1. 投影nbt

服务器中经常出现存不了、粘不了投影中的nbt数据的情况。存的时候服务端需要有PCA,且同步服务端容器数据(玩家需要权限,生存模式/carpet debugNbtQueryNoPermission,创造模式不用管)。客户端需有Masa Madget或者Tweakermore,前者需开启“服务器中保存投影保存容器数据”(Litematica的savelnventoryToSchematicInServer),但往往存得非常慢,数据量过大(全物品等等)就会被踢,而且保存不了nbt;后者需要开启“服务器数据同步器”(serverDataSyncer),它就非常快了,而且不会被踢。如果masa的已经开了的话,tkm的就没用了。

  1. 矿车类机器出问题

部分玄学的矿车机器粘好后,第一次运行可能会出问题,多跑几次就好了。如果长期使用,可能因为突然崩服等等问题卸载或弱加载,两者都会死(弱加载不加载实体),运行过程中备份,回档后也可能死。这种不建议修,能重做最好,尤其是整流器之类的,坏了全拆了重做最好。此外,不稳定的TPS也可能使矿车不稳定,盒分类等机器也如此,不过好修一点。

资源分享

储电群(非交流储电不要加):

wreg’s:531434227(最活跃的地方)

ST交流会:696039421(仅欢迎学习储电的/会储电的人,群规极其严苛)

Daisy pig’s:620590117(大储电群不过不活跃)

CherryBlolin:1087507489

      麋鹿:806288455

 tuzier:932204931

KOOK:

    wreg档案馆(国内储电档案馆,非常有用):https://kook.top/I3nOGS

     技术生存档案馆(不止有储电):https://kook.top/Jy4Gf4

     77的个人档案馆(必加):https://kook.top/Xep9cZ

     E佬的个人档案馆:https://kook.top/6IhfEC

DC:

    Storage Tech(ST,国际储电档案馆):https://discord.gg/JufJ6uf(必加)

      Bedrock Storage Tech(BE储电档案馆): https://discord.gg/RaEWYeU

结束语

感谢各位群友和各储电大佬的支持和帮助!

作者mcid: Lirrum&wregR&Frame_drop&Wait_O(排名不分先后)

其他参与修订的人员:_lazypig、white_ice、各储电群的其他群U们。

不满盒储存部分文案摘抄自wreg的文档。

大部分配图来自wreg的储电档案馆和ST档案馆。

转载请遵循国际协议CC BY-NC-ND 4.0

最后,申请入站!