然后是普通橡树,云杉,白桦,丛林树这几种树,也就是1*1树场最常用的几种树种。接下来的内容是最关键的部分。
对这几种树来说,主干高度就是长出来后的树干高度(关于云杉我会进一步解释)。这几种树的主干高度如下:
数据值 树种 高度
0 橡树 4,5,6
1 云杉 6,7,8,9
2 白桦 5,6,7
3 丛林 5,6,7
值得注意的是,相比je,丛林树不再是最高的树了。
判定部分应该和je区别不大。(毕竟be没有源码,这里大部分都是经验之谈)
如果一棵树苗要生长成一棵树,游戏会首先在[0,1)的范围内随机抽取一个double类型的数,如果这个数小于0.45,那么这一次生长尝试成功,并开始判定是否可以生长。简单来说就是每次催熟有0.45的概率树苗会开始判定。
这四种树判定的范围同je中的白桦。(be的云杉没有那么娇贵了)
对不同的树,游戏会在上表列出的高度里等概率的先随机选择一个高度,然后判定下图中所有玻璃和木头的区域内是否存在除了空气(air),泥土(dirt),树叶(leaves、leaves2)以外的任何方块。如果有,那么生长判定结束,树苗无法生长,并且树苗回退到第一个生长阶段(数据值-8)。我不清楚je是否存在回退现象,但似乎从来没有听过有人提到这一点。。但至少在be中,这种蜜汁回退真的很恶心。
图中只是一个7高白桦的例子,对不同高度的树来说判定区域略有不同,但都长成这样的蘑菇状(鸡腿菇?)。这个不同只是白色区域的高度而已。
我个人习惯性把图中灰色称为5*5范围,这个范围的具体大小用cb中坐标形式描述为:以最上方的主干为中心~-2 ~ ~-2 ~2 ~2 ~2,也就是一个5*5*3的正四棱柱。
图中白色区域我一般叫3*3范围,就是从第二格主干起到倒数第二格主干的所有木头的水平方向3*3的范围,也就是3*3*n的正四棱柱。
之所以这样区分3*3和5*5一是好记,二是为了方便设计时的理解。