Minecraft 21w16a代碼解析

這周21w16a快照發(fā)布了,看看都有什么吧!
版本對比表:https://paste.ubuntu.com/p/8V54PpzZ9F/
一.鐘乳石和石筍的生長
代碼定位:net.minecraft.world.level.block.PointedDripstoneBlock

在這個版本中,滴水石錐加入了生長機(jī)制,它基于隨機(jī)刻。鐘乳石尖端方塊每次接收到一個隨機(jī)刻就有1.1377778%概率進(jìn)行生長判定。為什么是這個概率?一個方塊被隨機(jī)刻選取的平均時間為68.27s,和這個概率進(jìn)行計(jì)算可以得出平均每100min進(jìn)行一次生長判定。
在判斷要執(zhí)行生長程序后,先檢查尖端是不是含水方塊、整體鐘乳石長度是不是小于7格、上方是不是滴水石塊和水源方塊。此項(xiàng)判斷成功之后,就會決定生成石筍或鐘乳石,兩者概率相等。對于鐘乳石,此項(xiàng)檢查后就可以直接嘗試生成,而石筍還有其他的檢查。
對于石筍的生長,額外的判定如下:首先,尋找鐘乳石尖端下方10格內(nèi)最高的方塊,并檢查這個方塊含水性和上表面完整性。如果找到的最高方塊含水或上表面不完整或者這個方塊就是水方塊,那么這次生成就直接失敗。
在嘗試放置鐘乳石或石筍時,最后會判定一次是否生成為石柱。如果將要生長的方塊和其他滴水石錐方塊上下緊鄰,那么這個方塊和緊鄰的會變成TIP_MERGE形式,也就是成為了石柱。
二.杜鵑花樹的催熟
代碼定位:net.minecraft.world.level.block.AzaleaBlock、net.minecraft.data.worldgen.Features
現(xiàn)在杜鵑花叢可以被骨粉催熟為杜鵑花樹。每次施用骨粉就有45%的幾率催熟成功。
在長出的樹上75%為普通的杜鵑花樹葉,25%為帶花的變種,樹干為橡木,下方的方塊會在催熟后變?yōu)槔p根泥土。由于這里代碼寫的很"玄幻",所以我沒找到樹成長的最小空間。(未來可能補(bǔ)上)
Mojang更新越來越水了,文章到這里就結(jié)束了,希望下一個快照能多加一些東西。

代碼源:21w16a,以Mojang Name反混淆
反混淆器:MCDynamicExchanger beta.6
[項(xiàng)目地址 https://github.com/Nickid2018/MCDynamicExchanger]
反編譯器:CFK,F(xiàn)ernFlower