Minecraft 21w16a代码解析

这周21w16a快照发布了,看看都有什么吧!
版本对比表:https://paste.ubuntu.com/p/8V54PpzZ9F/
一.钟乳石和石笋的生长
代码定位:net.minecraft.world.level.block.PointedDripstoneBlock

在这个版本中,滴水石锥加入了生长机制,它基于随机刻。钟乳石尖端方块每次接收到一个随机刻就有1.1377778%概率进行生长判定。为什么是这个概率?一个方块被随机刻选取的平均时间为68.27s,和这个概率进行计算可以得出平均每100min进行一次生长判定。
在判断要执行生长程序后,先检查尖端是不是含水方块、整体钟乳石长度是不是小于7格、上方是不是滴水石块和水源方块。此项判断成功之后,就会决定生成石笋或钟乳石,两者概率相等。对于钟乳石,此项检查后就可以直接尝试生成,而石笋还有其他的检查。
对于石笋的生长,额外的判定如下:首先,寻找钟乳石尖端下方10格内最高的方块,并检查这个方块含水性和上表面完整性。如果找到的最高方块含水或上表面不完整或者这个方块就是水方块,那么这次生成就直接失败。
在尝试放置钟乳石或石笋时,最后会判定一次是否生成为石柱。如果将要生长的方块和其他滴水石锥方块上下紧邻,那么这个方块和紧邻的会变成TIP_MERGE形式,也就是成为了石柱。
二.杜鹃花树的催熟
代码定位:net.minecraft.world.level.block.AzaleaBlock、net.minecraft.data.worldgen.Features
现在杜鹃花丛可以被骨粉催熟为杜鹃花树。每次施用骨粉就有45%的几率催熟成功。
在长出的树上75%为普通的杜鹃花树叶,25%为带花的变种,树干为橡木,下方的方块会在催熟后变为缠根泥土。由于这里代码写的很"玄幻",所以我没找到树成长的最小空间。(未来可能补上)
Mojang更新越来越水了,文章到这里就结束了,希望下一个快照能多加一些东西。

代码源:21w16a,以Mojang Name反混淆
反混淆器:MCDynamicExchanger beta.6
[项目地址 https://github.com/Nickid2018/MCDynamicExchanger]
反编译器:CFK,FernFlower