Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement

Template:BlockTileEntity

生怪箱(Monster Spawner)是一種在地牢廢棄礦坑要塞地獄要塞中能夠發現的,透明、深藍色牢籠結構的方塊。在籠子內有不提供任何亮度的火焰,和一個它會生成的不斷旋轉的縮小版生物。它旋轉的速度會越來越快,直到一個生物被生成。生怪箱可以生成任何一種生物。但如果不使用物品欄編輯器或地圖編輯器,生怪箱只能生成殭屍骷髏蜘蛛洞穴蜘蛛烈焰使者蠹魚

生怪箱方塊只能使用/give指令或者/setblock指令在電腦版得到。在攜帶版中,你可以在創造模式直接從背包內得到生怪箱。當你放置直接用/give指令得到的生怪箱的時候他將會生成豬。生怪箱生成的生物可以由/setblock指令決定(比如生成牛:/setblock <位置> mob_spawner 0 replace {EntityId:"Cow"} )。

生怪箱破壞的時候會掉落15-43的經驗。也就說這大約需要6個生怪箱達到10級,而一組的生怪箱可以把你的等級從0提升到40

玩家已經設計了很多種陷阱殺死生怪箱生成的生物,如利用高處墜亡、溺死、岩漿灼燒、仙人掌刺傷或者以上組合起來的陷阱。這可以使得玩家以非常小的代價獲得經驗並獲得該生物的掉落物。(參考:教學/生怪塔

生怪箱有一個很奇怪的特性,它作為裝飾性方塊但是卻不像其他的裝飾性方塊,它的上面可以放置火把和紅石,也可以傳導紅石電路,可以窒息生物等。

出現

File:2011-12-21 18.00.55.png

1.2.5 中一個骷髏生怪箱。

生怪箱可能會在以下地點出現,以以下機率隨機出現一種:

地牢
生成殭屍(50%機率),骷髏(25%機率)或者蜘蛛(25%機率),在蜘蛛生怪箱中生成蜘蛛騎士(1%機率)。每個地牢僅有一個生怪箱。 有些地牢由於某些原因一個生怪箱也找不到。
廢棄礦坑
生成洞穴蜘蛛。一般位於水平的隧道中,並且被大量的蜘蛛網所包圍。
要塞
生成蠹魚,位於終界傳送門框架所在的房間。每個要塞僅有一個。
地獄要塞
生成烈焰使者。位於有階梯引領上去的陽台上。

自然生成的生怪箱不會生成被動性生物,以及爬行者終界使者。當然,如果使用地圖編輯器或Mod修改生怪箱,它就會生成幾乎全部生物(除了巨人之外)。

在生存模式中沒有任何手段能夠把生怪箱放在你的物品欄中,除非使用Mod或物品欄修改器,或使用「/give」指令。生怪箱不會在創造模式中的物品選擇欄中出現,但可以透過「選擇方塊」功能獲得。如果生怪箱透過這種方式放置,或者一個生怪箱丟失了方塊實體值,它就會生成。在之前可以使用 /give [用户名] 52:<实体数字ID> [数量] 0 指令給予生成特定生物的生怪箱,之後請使用/give [用户名] mob_spawner <数量> 0 {BlockEntityTag:{EntityId:"<实体字母ID>"}}

生成規律

生怪箱會在其周圍生成生物,但也要符合生物本身生成的要求。不同生物的要求不同。例如,主世界中的攻擊性生物只能在黑暗中(亮度為7或以下),而家畜則必須在上生成,亮度要求9或以上。不過,生怪箱可以將生物生成在空中,這樣會忽略掉生物對於地面的生成要求。

玩家距離生怪箱16個方塊內時,生怪箱才會工作。當生怪箱工作時,會以生怪箱方塊八個端點中x和z座標最小的一點為中心的 8 × 3 × 8 (8方格長寬,3方格高,8方格深)的有效區域生成生物。生物可以在此區域符合生物生成要求的任意一處生成,即使生怪箱周圍不符合要求。若此區域全部符合生物生成的要求,則生物生成點不呈線性,且越靠近生怪箱處生成機率越大。

生怪箱會嘗試在有效區域內生成共4個生物,每生成一次後會等待200-799(10-39.95秒,隨機)再進行下一次生成。在等待時,生怪箱籠子裡的生物會越轉越快。除了對地面的生成要求,生物的其它生成要求也必須要滿足(如不能生成在固體方塊中、正確的亮度範圍),因此一個生怪箱常常不能生成出4個生物。如果生怪箱在有效區域內找不到任何符合要求的位置生成生物,則每一都會嘗試一次。當生怪箱成功生成至少一個生物後才會進入下一個生成週期。如果在生成階段,生怪箱周圍17 × 9 × 17的空間存在至少6個生物,則生怪箱內火焰會升騰(表示已經「生成」了新的生物),但實際上生成過程被跳過,進入下一個週期。不過,如果這個空間外的生物數量比這個空間內(就算超過了6個)更多,則生怪箱也會繼續無限地生成生物。

需要注意的是,生物生成點x、y、z座標都是整數,不一定會與生怪箱對齊。生物生成時,腳的高度會與生怪箱在同一層,或者比生怪箱高一層或低一層。但水平上可以在8 × 8平面中的任意一處。由於生物本身占有高度,因此在生怪箱有效區域比8 × 3 × 8還要大一些。

生怪箱的方塊實體值可以修改為其它實體如礦車,做成裝飾方塊。但這樣的生怪箱在Minecraft 1.2.5以及之前的版本嘗試生成時,遊戲會崩潰。1.3.1已經無此問題。

在和平難易度下,生怪箱也會出現,但生物在生成後會立即消失(殭屍豬人岩漿立方怪地獄幽靈根本不會生成)。這樣在修築生怪塔的時候不會被它們煩擾。但生物存在的那一瞬間也足以推開玩家,或發出聲音;對於骷髏,甚至會射出

下面的表將會展示其本身一些更複雜的特性:

經過推測一個普通生怪箱的最大生成數量
生物形態 需求空間 在8×8×4的空間內的生成比率(8×8×3才是生怪箱生成實體的正確空間) 垂直
對齊
8.9 × 8.9 × 2.9 2.531252%
洞穴蜘蛛 8.7 × 8.7 × 2.5 1.531252%
蠹魚 8.3 × 8.3 × 2.7 0.28125%
殭屍
骷髏
烈焰使者
8.6 x 8.6 x 3.8 1.125%
蜘蛛 9.4 × 9.4 × 2.9 6.125%

詳細的生成算法

這份偽代碼基於 Minecraft 1.4.2 反編譯出的源檔案:

every spawn cycle (every randInt(200,799) ticks when a player is within
    17 blocks of the spawner),
loop 4 times {
	if there are 6 or more of the mob type in the 17x9x17 area around the spawner,
           skip this spawn cycle
	calculate spawnerX = X coordinate of center of spawner - 0.5
	calculate spawnerY = Y coordinate of center of spawner - 0.5
	calculate spawnerZ = Z coordinate of center of spawner - 0.5
	calculate x coordinate of mob = spawnerX + (randDouble() - randDouble()) * 4,
            randDouble being a random number between 0 and 1
	calculate y coordinate of mob = spawnerY + a random integer between -1 and 1
	calculate z coordinate of mob = spawnerZ + (randDouble() - randDouble()) * 4,
            randDouble being a random number between 0 and 1
	if all of the conditions specific to the mob type are met, spawn the mob {
	  chicken, cow, horse, mooshroom, pig, sheep, villager, wolf:
		block below spawning block is grass
		spawning block has a light level of 9 or higher

	  ocelot:
		pass a 2/3 random test
		block below spawning block is grass or leaves
		on layer 63 or higher

	  creeper, enderman, skeleton, spider, cave spider, zombie:
		light level 7 or less

	  blaze:
		light level 11 or less

	  silverfish:
		light level 11 or less, or on Stone blocks
		no players within 5 blocks

	  slime:
		difficulty is not set to peaceful or slime size is small 
		either:
  			spawn block y coordinate is less than 40
			the chunk containing the spawn block is a slime chunk (1 in 10 chance)
			pass a 1 in 10 random test
		or:
			swamp biome, layer 51 through 69, light level 7 or less
	  
	  ghast:
		pass a 1 in 20 random test
	  
	  squid:
		must not collide with any other entities
		must be in layer 46-62
	  
	  giant:
		light level 7 or less
		light level 8 or more
		(since these conditions can't be true simultaneously, giant spawners don't work)
	  
	  all except squid and slimes:
		must not collide with any blocks or other entities
		must not collide with water or lava
	}
}
if all 4 mobs failed to spawn, repeat on the next tick

這份偽代碼基於 Minecraft 1.7.10 反編譯出的源檔案:

if (there is a player within the range of activatingRangeFromPlayer) 
{
    if (spawner delay == -1) 
    {
        reset spawner delay
    }

    if (spawner delay > 0) 
    {
        decrement spawner delay by 1
        cancel this spawn
    }

    loop for the number of entities we should spawn 
    {
        if (the number of entityTypeName in a 2*spawnRange+1 centered cube > maxNearbyEntities) {
            reset spawner delay
            exit loop
        }

        X = Spawner.x + random(spawnRange*2)-spawnRange;
        Y = Spawner.y + random(3)-1;
        Z = Spawner.z + random(spawnRange*2)-spawnRange;

        if (entity can spawn at (X,Y,Z)) 
        {
            Spawn entityTypeName at (X,Y,Z)
            Play Sound Effect
            Spawn Particles
        }
    }

    if (at least one entity was spawned) 
    {
        reset spawner delay
    }
}

Default values:
    activatingRangeFromPlayer = 16
    spawner delay = 20
    maxNearbyEntities = 6
    spawn range = 4
    entityTypeName = Pig

Outcomes (default):
    A player must be within a 16 block centered sphere
    There must not be more than 6 pigs within a 9x9x9 centered cube
    The pig must be able to spawn at the chosen location (must not be inside a block, meet lighting conditions etc.)
    If all mobs fail to spawn, it will try again on the very next tick.

你知道嗎

  • 自1.3.1之後,採集生怪箱可以像採礦一樣得到經驗球
  • 不使用Mod的情況下直接放置生怪箱是無法選擇要生成的生物的(只會生成豬),因為缺失了方塊實體值
  • 生怪箱能夠在附近的洞穴裡生成怪物,只要是在它8×8×3的範圍內,即使是在生怪箱露天的情況下。
  • 生怪箱內的生物模型也像其它生物一樣有著它自己的ID號碼,但它只能在一些特定的角度看到,且自 Beta1.8 版本以後就不再能看到了。
  • 因為生怪箱擁有方塊實體值,所以它不能被活塞所推動。
  • 生怪箱在接近地表的地方出現而被掩埋是完全可能的,它生成的怪物會在沙石下的縫隙中生成。
  • 和其它的透明方塊不同,把火把放在生怪箱上是可以的。
  • 兩個生怪箱天然地生成在一起是完全可能的。
  • 自 1.2.5 後,生怪箱可以在創造模式中透過「選擇方塊」按鍵得到。而透過這種方式放置的生怪箱只會在附近有的情況下生成豬。
  • 僅僅在生怪箱上插火把有時並不能完全「封印」生怪箱。在周圍的牆上再多加幾支火把更安全。
  • 在快照14w28b裡,玩家手持生怪蛋右擊生怪箱,可改變其刷出生物類型。
生物生成
  • 當玩家在一個生怪箱沒有空間生成生物的地方採礦時,生物有時會生成在你剛剛採礦而生成的空間裡。玩家在沒有使生怪箱失效的情況下採集青苔鵝卵石時因此要格外小心。據推測,這種情況會發生,是因為生怪箱在電光石火間,得到了一個在剛剛的方塊所占用空間刷新的機會。
  • 一個生怪箱會一次生成1個,2個,3個甚至4個生物。[1]
  • 如果遊戲難易度是「和平」,則生怪箱會生成生物,但生物會立即被刪除。生物在被刪除前偶爾會發出聲音。
  • 如果生怪箱的附近有較多目標生物(大概是7)時,生怪箱會停止工作。因此,怪物磨床需要立即殺死生物或者是讓生物遠離生怪箱(比如使用)

生怪箱內的縮小化生物

  • 當玩家不在判定範圍內時,生怪箱內的生物會停止旋轉,生怪箱也會停止火焰顆粒效果。
  • 當生怪箱將要生成生物時,生怪箱內的縮小生物會旋轉得更快。它所能旋轉的最小和最大速度都已被設定。
修改生怪箱

歷史

inf
秘密週五更新2生怪箱加入。可被採集,重新放置時生成
2010年6月27日生怪箱擁有獨立的ID,以減少遊戲崩潰。
b
?方塊名稱由「生物生成器」改成「生怪箱」。
1.2生怪箱內的縮小版生物重新出現,而在前些版本中一度消失。
r
1.0.01.9pre1生怪箱的材質被換成了深色。
1.9pre4用一把附魔絲綢之觸的工具可以取得生怪箱。當它被放置的時候,它會生成豬。
1.9pre4「絲綢之觸」對生怪箱不再有效。
1.9pre5魷魚生怪箱只在一個狹窄的高度(46-62)中有效。
?生怪箱更加容易被毀壞。
1.2.112w06a多人遊戲中的生怪箱顯示了它所生成的生物。在之前它一直顯示的是一隻豬。
1.3.112w22a生怪箱被破壞後會掉落經驗球
12w26a生怪箱支持生成擁有額外資料的生物類型,如高壓爬行者、持有特定方塊的終界使者、先前並未使用的綠色長袍村民,和其他特定職業的村民。
1.8手持生怪蛋點擊生怪箱會使得生怪箱內的生物變化。
pocketa
0.9.0build 1加入生怪箱。
build 2對創造模式任務欄種加入生怪箱,並且可以用生怪蛋改變生怪箱的類型。
原主機版
TU1加入生怪箱。

畫廊

另見

參考

  1. [1] 影片清晰地展示了一個生怪箱中同時生成了2-4個生物。
Advertisement