Template:Translation:未知參數。 生成(Spawn)是指玩家和生物被創造和在世界裏出生。玩家將會在死亡時在他們的重生點出生,或者在上次睡過的牀旁出生。而生物死亡後則會被清除。
玩家的生成
世界重生
若需詳細多人遊戲中玩家生成的詳細解釋,請參閱生成/多人遊戲詳情子條目。
自Minecraft正式版1.3之後,單人中的玩家通常都會於世界重生點為中心20*20範圍內任意位置生成,而多人遊戲則縮小到10*10範圍的範圍。
當生成時,玩家將出生在重生點的X軸與Z軸的相應位置的最高處(即Y軸最大,也就是説生成在最高的方塊上),即使這樣的生成算法會把玩家放到最大建築高度(目前是256m)的上面。
這個區域將不考慮實體生成在什麼可怕的地方,因此,若在X軸和Z軸的位置沒有方塊,就可能會導致玩家生成的虛空上方。另,世界重生點可以使用/setworldspawn命令來修改。
世界重生點也決定了永久載入區塊(即無論玩家身處何地此區塊內的數據都會被載入並處理)的位置。
世界生成區域示意圖。白色表示單人遊戲生成區域,藍色代表多人遊戲生成區域,黃色代表世界產生點。
個人重生
每個玩家修改他們自己重生點有兩種方式:
- 在牀上睡一覺(不需要睡一整晚)註:在多人遊戲中,只在所有玩家全都上牀睡覺或者處於AFK狀態下(Away From Keyboard,離開鍵盤,即未操作)才會快速度過夜晚。
- 使用
/spawnpoint命令來修改。
如果玩家死亡時個人重生點受阻(或被破壞等),他們將被迫重生在世界重生點。
不過,躺在牀上設定復活點的方式將允許較大範圍的重生,即:如果原來的點被阻塞,這名玩家會嘗試重生在牀的附近區域裏。但如果透過/spawnpoint設定重生點,遇到上述情況時,玩家將不會有這種較大範圍的重生。
非攻擊型生物的生成
非攻擊型生物主要定義為所有被動型生物,還有狼。本章節內容與下章節內容有交集。該段動物生成分建立世界時的動物生成和遊戲進行過程中的動物生成。
大約十分之一的新生成區塊中將包含生物,通常是一群最多到4隻的同種動物。它們總在該區塊柱狀區域中最高的有效方塊生成,換言之就是可以看到天空的地方。如果要讓動物在該方塊上生成,此方塊必須是不透明的方塊而且其上兩個方塊必須是透明方塊。方塊上面並不需要有草也不需要被照亮(生物生成也是同理)。[1]
一頭牛在地圖中的樹葉中生成並且不能逃出,這是森林山丘地區常見的現象。
動物生成的隨機性取決於(生成)種子碼,這意味着相同種子的世界將會在同一個地方產生帶有同樣動物的區塊。
在非常稀少的情況下,新的動物會生成在已經生成的區塊裡,這點與怪物一樣。當動物以這種方式生成的時候,它們只在光照9級或以上的草地上生成。從生怪箱中生成的動物也需要相同的條件。除了狼在攻擊型狀態下可以被清除之外,動物並不會自發地被清除。[2]
馬的生成
與其它的被動型生物不同,馬只在一種生物羣落中生成——平原。由此原因,馬看起來比其它生物要少,儘管在平原它們和其它的生物生成概率相同。馬成群生成,每群有至少4到8隻。儘管確切數字尚未確認。給定群體中所有的成員的類型和毛色花樣都是一致的,儘管其個體標誌可能會有些差別。所有毛色花樣的馬,包括驢在內都有相同的機率生成,儘管驢看起來要少見一點。騾不能天然生成,只能在生存模式中將任意一種系別的馬和驢雜交來取得。
生物的生成
生物大致劃分為四種:攻擊型,被動型,水生型(也就是墨魚)和環境型(也就是蝙蝠)。攻擊型生物有一個每遊戲刻(1/20秒)一次的生成週期。被動型和水生型生物只有每400刻(20秒)一次的生成週期。因為這一點,攻擊型生物可以在任何時候生成,而動物生成則非常少。另外,大部分動物在建立世界時產生的區塊中生成(參見非攻擊型生物的生成一節)。
攻擊型生物生成通常情況下在玩家周圍15*15區塊(240*240方塊)內。當在多人遊戲中,攻擊型生物會在任意一名玩家的上述距離之內生成。然而,遠於所有玩家128方塊距離之外的怪物會立即被清除(參見清除一節),所以攻擊型生物生成區域被有效地限制在以每一玩家為中心的半徑128方塊內的球形範圍裡。
怪物容量(可理解為人口)與適合生成的區塊總數直接成比例。要計算容量的話,生成區域在每一方向上均擴展一個區塊,所以有17*17區塊的大小,然後總的區塊數被代入到下式中:
容量=常量*區塊數/289
每一種生物均具有自己的容量計算和公式中不同的常量值:
攻擊型 = 70 被動型 = 10 環境型(蝙蝠) = 15 水生型 = 5
在單人遊戲模式下,區塊計數總為17*17=289,那麼各種生物的容量也就是上面列出的數值。在多人遊戲中,在多個玩家範圍內的區塊只被計算一次,所以玩家越分散,更多地區塊會被覆蓋且會有更高的容量。
在每次生成週期的開始都會檢查一次容量。如果存活的生物數量超過它的容量,整個生成週期就會被跳過。
一組生物生成的舉例。這一41*1*41生成區域被標記為藍色(沒按比例)。黃色輪廓表示在檢查環境後事實上生物可以生成的地點。注意生物可以在火炬和樓梯方塊內生成。但是它們不能在玻璃方塊的上面生成因為它是透明的。紅色立方體是這一組生物的中心,必須是空氣方塊,不過其上下可以為任意方塊。
單獨一個生物生成地點的要求。
在每一生成週期中,會在每一個合適的區塊中進行一次生成一組生物的嘗試。該區塊內選擇一個隨機地點作為這組生物的中心點。為生成這組生物,中心方塊對水生生物而言必須是水方塊,對所有其它生物來説則必須是空氣方塊。注意在後面的情形中,它一定得是空氣方塊。任何其它方塊,哪怕是一個透明方塊都會阻止整組生物的生成。
如果該組位置合適,會在以中心方塊為原點41*1*41的範圍(就是41*41格大小的方型,有1格高的區域)內進行12次嘗試以生成多至4個的生物(狼是8個,地獄幽靈是1個)。生物將會在這一區域生成其身體的最下部分。在每次生成嘗試中,會在這一區域中隨機選擇一個方塊的地點。儘管生成區域能擴展到中心21格之外,但是隨機選出的地點強烈地向該組的中心集中。大約有85%的生成將會在該組中心的5格以內,99%會落在10格以內
組內所有的生物都是相同的種類。在該組第一次生成嘗試時從該地區所適合生成的種類中隨機挑選一種以決定整組的種類:
- 在主世界裡,這取決於生物羣落:
- 沒有生怪箱時實際上有兩種方式可以自然生成史萊姆:在高度40以下特定的區塊中,或者在亮度<8的沼澤地生物羣落。
- 洞穴蜘蛛只能從它們特定的生怪箱中生成,這能在廢棄礦坑中密集的蜘蛛網間找到。
- 蠹魚從要塞和山脈生物羣落中的石頭,石春,石磚方塊生成。他們也可在要塞裡它們特定的生怪箱中生成。
- 女巫只能在沼澤地生物羣落中的沼澤地小屋中生成。在1.7及以後版本中,女巫可以在大多數生物羣落小几率天然生成。
- 地獄普通位置只能生成地獄幽靈、喪屍豬人、岩漿史萊姆。
- 地獄要塞處可生成凋零骷髏骨和骷髏骨。烈焰使者生成於地獄要塞中的特定的生怪箱,而且它們也在要塞建築的其它地方生成。
- 終末之界只能生成終界使者(除了在終界城生成的界伏蚌)。
- 終界龍會在終界中天然地生成,但是總是只有一條,而且不遵循通常的生物生成過程。
- 雪人、鐵人和凋零怪一般只能透過搭建生成。其中鐵人還可在至少有10個村民和21座房屋(以門的數量為記)的村莊中生成。
- 終界蟎在終界使者瞬移時有15%機率生成(並會使生成機率下降1%),或在玩家使用終界珍珠落地時時有5%機率生成,並且在2分鐘之內消失(未被命名)。但在14w28a後,終界蟎不再從終界使者處生成。
每次獨立的生成嘗試只有在以下的所有的條件都符合時才能成功:
- 生成方塊在周圍24米內(球體)不能有玩家或者玩家重生點。
- 如果生成的不是墨魚,則...
- 如果生成的是動物,則...
- 生成的方塊的下面必須是草。
- 生成的方塊的周圍亮度必須是9或者更高。
- 如果生成的是一個攻擊性生物生成在主世界,則...
- 亮度必須等於或者小於7,隨着亮度的增加生成失敗的機率也會增加。
- 陽光直接照射到生成方塊將進一步增加失敗的機率,最高會到50%。
- 如果生成的是史萊姆,則...
- 如果生成的是地獄幽靈,生成會有95%的機率失敗,因此地獄幽靈的生成速度是其它生物的二十分之一。
如果上述所有條件均滿足的話生物就生成了。當4個生物生成(或者是8隻狼或1隻地獄幽靈)或完成12次嘗試(此條件優先)後該組即吿生成完成。而終界龍和凋零怪不適用上述規則。
註解
- 由於普遍性的方塊檢查,除了墨魚之外所有生物必須生成於一個上方至少帶兩格無障礙空間的不透明方塊的頂端,甚至地獄幽靈等也是如此。然而如果上面一格的方塊是透明的話(譬如一個玻璃方塊或活塞),矮個子的生物可以在一格高的空間裏生成。
- 單個的生物可以在指示牌、壓力板和其它的透明非固體方塊中生成,但一組生物不可以。它們需要一個完全空白的方塊作為中心。因為一組生物都是在同一高度生成,這就需要在一個平坦的表面上有一些空氣方塊以允許生物生成,且空氣方塊越多就允許生成更多。
- 通常情況下,室外有空氣的建築比地下室能在室內生成更多的生物,因為在室外生成的群組可以在室內生成生物。
- 生物容量在很短的時間內就趨於飽食。因為這一點,透過讓生物聚集於一個生成空間裏(比如生怪塔)可以防止生物在室外生成。
- 容量的存在也意味着生物死得越快,生成得就越快。
- 因為只在生成週期的開頭檢測(生物)容量,所以當一次週期生成大量生物時,容量可被戲劇性地超出。這在墨魚身上經常發生,它們容量正常情況下很少(單人遊戲中是5),但是在一個有很多水的地方可以一次週期內生成很多。
- 在多人遊戲中,生物容量被所有玩家所共有,無論他們在哪。如果一名玩家可以讓很多生物生成在他附近,換言之有一個生怪塔,其它地方的玩家將會更少見到同種類型的生物。同樣的,如果一名玩家可以防止生物在他附近生成(或許是給周圍澆上很多水或者是點亮附近的洞穴),這樣會有效地把生成生物的可能性留給其他人。
- 曾經一個錯誤導致生物不會在240高度以上生成,但自正式版1.4.6之後它被修復。現在生物可以在240高度以上生成。
- 在多人遊戲中,如果server.properties檔案中設定有「view-distance=9」或更低,生物生成將會急劇減少(或它們清除過於迅速),最終導致玩家幾乎見不到生物。將視距(即view-distance)設為10或更高值以確保生物正常生成。
其它類型的生成
一個生怪箱會在其周圍持續地刷出生物。
一枚掟出去的雞蛋有1/8的機率生成一隻小雞,其中又有額外1/32的機率從一枚雞蛋中生成4隻小雞,所以共計有1/256的機率掟一隻雞蛋獲得4隻小雞。
牛、雞、豬、羊、蘑菇牛、村民、豹貓和狼可以進行繁殖。除村民之外,這些繁殖方式需要玩家飼餵它們。
在主世界中一個疊一個地放置兩個雪,再疊上一個南瓜或南瓜燈,將會生成一個雪人。同樣的,把雪換成鐵磚(在高的那一塊相對的兩邊還要額外各安上一個鐵磚)將會生成一個鐵人。鐵人也在村莊生成。凋零怪也是透過放置方塊來生成。
在創造模式下,玩家可以用生成蛋來生成大多數生物。當用此法生成生物時,會忽略所有的常規生成需求,如光照等級和方塊類型等。
與其它生物相同,馬可以在生存模式中通過刷怪蛋生成。由刷怪蛋得到的馬毛色花樣是完全隨機而無法控制的,這一變數包括生成驢的可能性(驢本身並無專屬的刷怪蛋)。 與生存模式一樣,騾不能自然覓得也不能從刷怪蛋生成——它們必須由馬和驢繁殖獲得。
攻城:喪屍可以在村莊中生成。這並非自然生成方式,因其可發生在蘑菇生物羣落中。
怪物蛋在被破壞或附近的蠹魚被攻擊時會生成一條蠹魚。
中型和大型史萊姆和岩漿史萊姆被擊殺時會生成更多同類,不過要小上一號。
喪屍豬人可以在主世界的地獄傳送門周圍生成。這暗示它們來自地獄,但事實上這是一個貨真價實的生成過程。其實喪屍豬人(和其它生物一樣)也可以雙向穿越這些傳送門,但它們需要來自一個已載入的區塊。從它們在單人遊戲中出現在主世界的情形來看,玩家肯定處於主世界,所以地獄那邊的傳送門所在區塊一定未被載入。注意在穿越傳送門之後,非玩家所屬的生物一段時間內不能重新進入傳送門(甚至該區塊被載入後一會),而且主世界生成的喪屍豬人似乎也受相同的限制。
清除
各種生物生成範圍圖解。注意自正式版1.6.1之後喪屍離玩家超過32格時也可移動。
怪物(未持有物品且未披甲的)和墨魚(但不包括動物)還有自1.1版本以來攻擊型的狼在以下一些條件下可以終止存在,或稱「清除」:
- 如果一個生物附近128個方塊範圍內沒有玩家存在就會立即被清除。注意這是按照球形計算而非一個從地圖從頂至底的一個圓柱。
- 一個生物周圍32個方塊距離內沒有玩家超過30秒後,每刻(1/20秒)都有1/800的機率被清除。這意味着在玩家32個方塊距離之外生成的或脱離這一範圍(30秒)的生物平均能存在40秒。也就是説,在最初30秒度過後,玩家32個方塊距離之外怪物的半衰期是27.73秒。
- 當遊戲難易度設定為和平時,世界中所有攻擊型生物(包括那些持有物品的)都會立即被清除,無論玩家在世界的什麼位置。
在多人遊戲中,當沒有玩家在遊戲中時並不發生生物的清除。
歷史
| Java版Classic | |||||
|---|---|---|---|---|---|
| ? | 生成區域曾經是17*17個區塊而不是15*15。該區域被縮小了,但是舊的大小仍然被用於計算生物容量。 | ||||
| 並不總是能透過防止生物在其它地方生成來夠驅使它們聚集於一個生成空間裏。一些更早的關於「生成」的資料或許可以作為參考。 | |||||
| 大量的空餘空間曾經能促進一般地區的生物生成。這一點對於一個小一點的規模仍然有效,且由於成組生成的機制而只對水平分佈有效。 | |||||
| Java版Alpha | |||||
| 0.2.0 | 0,0區塊(X為0-16且Z為0-16)總是首先進行生物生成判定。如果一個人在此區塊建了一個暗室,那所有的生物都會生成在其中,而導致其它地方都沒有。 | ||||
| Java版Beta | |||||
| 1.8 | 世界建立時的生成位點即使不是在沙灘也總是在沙上。 | ||||
| release | |||||
| 1.0.0 | 此版本之前的Beta版中,生成只被光照等級所決定而不是目前區塊的屬性。攻擊型生物在光照等級7或更低的地方生成而被動型生物在光照等級9或更高的地方生成。因為這一點,儘管在有光照的地方仍有很小的機率生成攻擊型生物,歸因於它們在無光照的空中生成。另外如果你帶了很多火炬下礦,然後返回,你很可能將會看到你的房子裏面有一些牛、豬、雞或羊在裏面到處跑。此情況在正式版1.0.0中不復存在。 | ||||
你知道嗎
- 有時世界建立時的生成會發生在地下或海洋裡。
- 建立世界時的生成甚至可以發生在地牢或村莊中(非常罕見)。
- 有時世界的重生點可能會挨着一個方塊,但是幾乎不會發生定位在一個方塊內部的錯誤。
- 透過敵對生物不會被刷新,在重生點區塊(總是在記憶體中載入)放置大量敵對生物,可以造成「偽和平"(defanive2 首次在百度貼吧提出)。
- 有時玩家會生成在空中,有可能造成無限的摔落致死,從而導致無法遊戲。
參考
- ↑ http://www.minecraftforum.net/topic/639466-918-update-animals-can-respawn-proof-within
- ↑ 在對遊戲程式的反編譯過程中,EntityWolf類下有這麼一段:
protected boolean canDespawn() { return isAngry(); }這段意味着狼只有在攻擊型狀態下才可能被清除,那時狼基本上可以被歸類為攻擊型生物了。
外部連結
- http://www.minecraftforum.net/topic/136723-mob-spawning-algorithm-in-12-01-analyzed/ - Marglyph創作的Beta 1.2中的生成算法
- http://www.minecraftforum.net/topic/37979-mob-spawning-science/ - fr0stbyte124創作的萬聖節更新之前的生成算法