这里是开始树场研究的一些基本内容的简述。出于简化考虑,这部分会包含一些 “错误” 的内容,关于更详细的说明,请参考 GTMC 的更新理论与时序理论部分。
mc 中更新分为NC 更新和PP 更新
NC 更新在树场中的主要来源是TT(Tile Tick)原件(一般而言:红石中继器、比较器、侦测器),红石粉与动力或激活铁轨以下部分将用 “铁轨” 指代它们,因为树场中几乎不涉及另外两种铁轨、活塞与其推拉的方块、音符盒
一般可以认为以上原件的某些状态(如是否充能、激活,方块的状态)发生变化时,向:
发出NC 更新,并可由BUD响应
由于树场的主体结构一般由活塞构成,一般可以认为树场中所有NC 更新都同时带有PP 更新。侦测器检测的是PP 更新
在树场中,纯 PP 更新(不带有 NC 更新)一般由:
提供
在无粉布线阶段,我们会涉及三种很重要的信号传递方式:树电(通过树叶,传递 NC 和 PP 更新)、脚电(通过脚手架,传递 NC 和 PP 更新)、墙电(通过墙,纵向传递 PP 更新)。利用好它们的特性,我们能极大地简化树场中的布线。更细节的内容,我们会在无粉布线专题讲述。
mc 中时序分为刻间时序与刻内时序
mc 中,每秒会被分为 20gt(这里不阐述其概念),部分原件会带有固定的宏观的延迟,如 TT 原件:中继器(2-8gt)、比较器和侦测器(2gt)
可以认为除了 TT 原件以外,其他树场涉及的原件都不带有宏观延迟
每 gt 会被分成多个阶段,分别执行不同的运算。与树场相关性较强的阶段(按运算顺序)有:
除了以上提到的原件以外,瞬时原件相关运算会在接受更新后立刻执行(无论更新处在以上哪个阶段)。常见的瞬时原件有红石粉和铁轨、栅栏门或活版门、音符盒、投掷器和发射器
TT 原件的执行顺序由宏观时序、TT 优先级、子顺序决定,可以认为,TT 原件的执行顺序为:
任意中继器 >= 指向比较器的比较器 > 一般比较器或侦测器
BE 原件(活塞与音符盒)在 BE 中会按受到更新,确认需要变更状态的顺序执行运算。这个顺序有时被称为深度。音符盒不会增加深度(即延后其更新的对象在 BE 内的运算顺序)
分析时序时,优先分析宏观时序,其次分析运算所处的阶段,最后分析运算在其阶段内执行的顺序
树场中,可以认为每一个活塞动作(推/拉/0t)的时间都是3gt,1gt 和 2gt的充能导致的活塞动作分别为4gt 和 5gt
在 mc1.15 及以上,树场的基本结构有:
大部分树场还有检测模块,用于检测树苗生长并触发树场,但这不是树场必须的,我们会在下一章接触它
在 mc1.15 以下,由于从林木和金合欢特殊的生长检测方式,有时候会为树场增加增高模块;由于云杉生长检测要求 5x5 内不能有原木,需要增加收回墙。本文主要讨论 1.15 及以上的树场,我们会暂时忽略这些结构
一般而言为发射器对树苗喷骨粉
由于发射器能储存的骨粉很少,一般而言会通过漏斗或者投掷器向发射器输送骨粉,并用卸货器将骨粉由潜影盒转移到漏斗或投掷器链中。
主干处理的思路非常简单:将主干从原本的位置移走。基本的实现方式有三次递推和伪二次递归;对于白桦和橡树,我们可以采用直接推拉的形式
三次递归:
伪二次递归:
蜜绿墙二次递归:
收回式伪二次递归(通过让二级活塞只执行收回动作(0t)压缩一个活塞动作时序的伪二次递归架构):
现在使用最多的形式是蜜绿墙二次递归
树根处理一般而言,有与主干一同处理、上推、下吸和侧吸四种方式
上推:
下吸:
侧吸:
对于深色橡木,有时会采用上吸的处理方式
同样非常简单:用活塞 / 蜜绿墙将足够数量的树叶推掉,从而获得足够的树苗
蜜绿墙:
活塞:
每个树叶会以固定概率掉落树苗:丛林 1/40,其他树种 1/20
通过漏斗、水流等方式将树叶处理模块中掉落的树苗集中到玩家附近
漏斗:
@Scorpio 天蝎君 4gt 白桦
水流:
@Feng_Bl, Sunflower_Lin 6gt 白桦
在处理周期较短,且内部空间较狭窄的树场内,有时会使用漏斗矿车回收树苗
@Qonctrol,PUTF sharp
一般而言有凋零和TNT两种方式
凋零:
@Scorpio 天蝎君,PUTF flat wither
TNT:
@Feng_Bl