【MCJE原理剖析】瓜類生長(zhǎng)詳細(xì)原理剖析
溫馨提示:
本文相對(duì)較為硬核;
閱讀本文需要提前了解mc的一些機(jī)制有:區(qū)段,隨機(jī)刻,游戲刻(gt)等;
同時(shí)專業(yè)讀者可以提前了解概率論相關(guān)知識(shí)。
目錄:
隨機(jī)刻
南瓜生長(zhǎng)原理
高效方案篩選
種植方式的選擇

隨機(jī)刻
不過在講解之前,首先需要了解隨機(jī)刻,因?yàn)樵诶碚撋伤俣扔?jì)算中需要用到。
在randomTickSpeed = 3的情況下,每gt區(qū)段內(nèi)隨機(jī)刻選中其中一個(gè)方塊(記為事件A)的概率為:
注:這里是簡(jiǎn)單的二項(xiàng)分布?
不妨設(shè)在t游戲刻內(nèi),某一方塊被隨機(jī)刻選中的次數(shù)為事件T,事件T也服從二項(xiàng)分布,則在t游戲刻內(nèi),某一方塊被選中的概率為:
這里驗(yàn)算一下:
一秒(20gt)內(nèi)被選中至少一次:
五分鐘內(nèi)(6000gt)被選中至少一次:
946gt被選中至少一次:
這里和wiki( https://minecraft.fandom.com/zh/wiki/%E5%88%BB )的數(shù)據(jù)基本一致,如圖所示。

??

南瓜生長(zhǎng)原理:
接著來到重頭戲,由于南瓜和西瓜的生長(zhǎng)是共用的一個(gè)stem類,這里以南瓜生長(zhǎng)為例,西瓜生長(zhǎng)一樣。由于只有梗成熟后才會(huì)結(jié)出瓜,這里不講梗的生長(zhǎng)過程(其實(shí)與小麥等作物相同)。廢話不多說,直接上原理:
當(dāng)南瓜梗被選中隨機(jī)刻后:
1、首先判斷南瓜梗處的光照是否≥9,如果<9,則南瓜不會(huì)生成。
2、接著計(jì)算生長(zhǎng)速度Sg(Growth Speed),Sg初始化為1。具體如下:
?????? 1)判斷梗周圍的耕地?cái)?shù)目
?????? ?????? 在以梗為中心的3*3的區(qū)域內(nèi),梗附著的耕地如果為干耕地Sg加1,濕耕地Sg加3,其毗鄰的8個(gè)方塊每塊干耕地加1/4,每塊濕耕地加3/4。
?????? 2)判斷梗周圍相同梗
????????????? 如果南瓜梗毗鄰只有一個(gè)方向(比如只有南北向,或者只有東西向)有南瓜梗,則對(duì)生長(zhǎng)速度沒有影響,如果兩個(gè)方向都有南瓜?;蛘咝苯欠较蛑辽儆幸粋€(gè)南瓜梗,生長(zhǎng)速度Sg直接減半。
3、獲得該隨機(jī)刻生成南瓜(記為事件B)的概率
??????
????? 注:int表示向下取整
4、如果幸運(yùn),判斷得到的是生成南瓜,則會(huì)在梗附近的四個(gè)方向隨機(jī)選中一個(gè)方向生成南瓜,如果所選方向的方塊不是空氣或其下方不是泥土類方塊,則會(huì)生成失敗,且不會(huì)再去嘗試在其他方向生成南瓜。
設(shè)有效生成方向有n個(gè)(n≤4),則最終生成率為:
由此可以總結(jié)對(duì)南瓜生成的影響較大的因素有光照強(qiáng)度、耕地?cái)?shù)目及其濕潤(rùn)程度、相鄰是否相同的梗和瓜生成方向。
?
以上是在一個(gè)隨機(jī)刻內(nèi)生成南瓜的原理。設(shè)在t游戲刻內(nèi),南瓜生成的次數(shù)為事件Tp,則
Tp也服從二項(xiàng)分布,根據(jù)二項(xiàng)分布的期望公式計(jì)算出Tp的期望為:
簡(jiǎn)單了說,E(Tp)就是單個(gè)梗的在t游戲刻內(nèi)的生成的南瓜的數(shù)目。因此單個(gè)梗每小時(shí)(t=3600*20gt)的生成速度為:

高效方案篩選:
有了以上的理論,下面探討高效的南瓜生長(zhǎng)方案。
要提高南瓜的生成概率率,重點(diǎn)在增加濕潤(rùn)耕地?cái)?shù)目、避免相鄰相同的梗以及保證盡可能多的生成方向。
通過編程篩選出以下幾個(gè)方案:
以排列1為例計(jì)算單梗的生長(zhǎng)速度:

1、排列1:

(1)???? 計(jì)算生長(zhǎng)速度Sg:
????????????????附著濕潤(rùn)土地+3;4塊毗鄰濕潤(rùn)土地+4*(3/4);沒有相同梗,不減半
(2)???? 計(jì)算生成概率:
?
(3)???? 四個(gè)方向都可以生成南瓜,n = 4,最終生成概率為:
(4)???? 因此單梗生成南瓜的理論速度為:
(5)???? 為了便于比較,這里計(jì)算單位面積單梗生成南瓜的速度:
????????????????注:此處每個(gè)梗平均占地4格(即4m^2)。
因此,單梗生成南瓜的理論速度:
單位面積單梗生成南瓜的速度:
?
2、排列2:

單梗生成南瓜的理論速度:
單位面積單梗生成南瓜的速度:
?
3、排列3:

單梗生成南瓜的理論速度:
單位面積單梗生成南瓜的速度:
4、還有一般瓜機(jī)常見的排列方式:

單梗生成南瓜的理論速度:
單位面積單梗生成南瓜的速度:
排列4的SdA僅供參考,但也顯而易見,在相同的產(chǎn)量下,排列4對(duì)應(yīng)實(shí)裝機(jī)器的體積也是最大的,但這種排列方式目前看來不會(huì)被淘汰 。
值得注意的是:排列1和排列2進(jìn)行比較,雖然排列2單位面積的梗的數(shù)量更多,但二者的單位面積單梗生成南瓜的速度是一樣的。因此排列1是更為合理的選擇,這也體現(xiàn)了合理密植的重要意義,于是就有了以下最高效的密植方式。


這樣種植,南瓜梗和西瓜梗之間互不影響,且在相同的面積內(nèi)得到了雙倍的收益。經(jīng)過實(shí)際測(cè)試在單個(gè)區(qū)塊內(nèi)所能實(shí)現(xiàn)的瓜機(jī)樣機(jī),其單梗生成南瓜的實(shí)測(cè)速度Spr ≈ 10.7 個(gè)/h(理論13.7個(gè)/h), 其單梗生成西瓜片的實(shí)測(cè)速度Smr ≈ 50 個(gè)/h(注意是西瓜片,不是西瓜方塊,如果折算成西瓜方塊,則與南瓜的生長(zhǎng)速度差不多)。
?

種植方式的選擇:
這里只探討排列5和排列4:
排列5的最大的優(yōu)點(diǎn)就是可以做的體積很小,其生產(chǎn)效率很高,但比較推薦在單人生存中使用。雖然排列5有著高達(dá)10.7個(gè)/h的實(shí)測(cè)速度,但是其有一個(gè)致命的缺點(diǎn),收集必須采用漏斗礦車,無法使用水流,因此其無緣與大型服務(wù)器。
在我個(gè)人電腦實(shí)測(cè)(CPU:i5-9300H,GPU:GTX1650),如果產(chǎn)量為南瓜1w/h,西瓜片4.6w/h的情況下,游戲的mspt在4~6之間浮動(dòng),平均在5左右。此外,采用漏斗礦車并不抗卸載,如果采用很多漏斗礦車,不僅會(huì)增加卡頓,而且維護(hù)漏斗礦車非常不方便,因此這種高密度排列比較適合于單人生存中,但如果服務(wù)器的南瓜用量不大且這些卡頓不在話下的話,1w+的南瓜產(chǎn)量也是可以用的,它的體積會(huì)小很多。
排列4雖然是以上幾種情況中的單位面積單梗生成南瓜的速度最小的,但是排列4可以采用水流收集,且mspt只有2左右,卡頓相對(duì)小很多,適用于服務(wù)器的特大型瓜機(jī)。
?

總結(jié):
相信你已經(jīng)對(duì)南瓜和西瓜的原理了解清楚了,如果你是單人生存的話,推薦選擇排列5進(jìn)行瓜機(jī)設(shè)計(jì);如果是特大型瓜機(jī),應(yīng)用于服務(wù)器的話,推薦排列4設(shè)計(jì)瓜機(jī)。
?