作者jeffffliu (女子 食我 口阿)
看板Minecraft
標題[閒聊] 怪物的體積&生怪需要的空間
時間Wed Jan 2 21:54:38 2013
怪物有他的"體積",
在生怪的時候會撿差要生成位置的空間,會檢查有沒有被有體積Block、生物、液體阻擋
至於生成的位置呢?
自然生怪:(最少要
兩格高沒有普通方塊,不詳細敘述,這是先決條件)
假設是要選定在(x,y,z)生成
怪物的位置會是在(x+0.5,y,z+0.5)生成,即該block中心底部如下圖
▋▍ ▄▄
▋▍ ▃▃ ▎█▊
▋▍ ▎▊ ▆ ██ ▎█▊
█ ■█■ █ ■█■ ■█■
寬度不足1 寬度1.4高度0.9的蜘蛛 史來姆 Tiny 0.6 需
1x1x1
高度1.8(大部分) (結果上需要3X3
方塊空間) Small 1.2 需
3x2x3
高度>2Enderman Big 2.4 需
3x3x3
凋零骷髏 洞穴蜘蛛跟※魚這種高寬都小於1的就只需要1x1x1
生怪磚生成地點: Ghast 體積4x4x4需要..
5x4x5
假設生怪磚座標是(x,y,z)
████
x += 4 * (1 ~ -1)
/* nextDouble()-nextDouble() */ ████
z += 4 * (1 ~ -1)
/* x,z可為+4~-4之間任意值非整數 */ ████
y += 1 , 0 , -1
/* 中心的區域機率較高 */ ████
/* 垂直位置為跟生怪磚同高度以及下兩層底部 */ ■■█■■
檢查怪物數量上限是,生怪磚水平延伸 2*半徑4、垂直延伸4的範圍
如下圖所示(黃色為生怪位置,粉紅為檢查上限生怪區域)
垂直圖 水平圖
↑
□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□
________________ y+1 □□□□□□□□□□□□□□□□□
________■______ y 9
□□□□■■■■■■■■□□□□□
________________ y-1 □□□□■■■■■■■■□□□□□
↑↑↑↑↑↑↑↑↑ □□□□■■■■■■■■□□□□□
-4-3-2-1X+1+2+3+4 □□□□■■■■■■■■□□□□□
↓
□□□□■■■■■■■■□□□□□
← 17 →
□□□□■■■■■■■■□□□□□
□□□□■■■■■■■■□□□□□
□□□□■■■■■■■■□□□□□
由於生怪水平位置是在這個平面上
□□□□□□□□□□□□□□□□□
各個位置都能夠分布,不像自然生怪
□□□□□□□□□□□□□□□□□
只有在Block中心位置分布
□□□□□□□□□□□□□□□□□
所以需要的空間理論上需要
□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□
水平擴展怪物的寬度一半(假設選到最邊緣邊線上的時候
即普通怪寬度0.6需要8.6x8.6 (即10x10)
//少數怪物稍微寬一點,請參考後述生物體積表
蜘蛛 寬度1.4需要9.4x9.4 (即10x10)
不過實作上通常普通怪物只建造8x8空間,正好水流距離8,在加一排水道(8x9or9x9)
(邊緣部分:距離邊緣0.6的口區域選道其實會沒辦法生怪,
不過選道邊緣的機率其實比較低,你非常講究的話才弄成10x10)
蜘蛛生怪磚實作上通常會往外在拓展一圈(10x10)
畢竟蜘蛛比較寬水道也需要兩格寬,正好是水流距離8+兩格寬水道
垂直部分,普通怪高度2,所以生怪區域的上層還需要在往上挖空一層
如上垂直圖藍綠色部分
---
生物體積表 ※表有自然生成 ◎表生怪磚生成
寬 高
※ EntityCreeper 0.6 1.8
※◎ EntitySkeleton 0.6 1.8
※ └WitherSkeletion 0.72 2.16
※◎ EntitySpider 1.4 0.9
◎ EntityCaveSpider 0.7 0.5
EntityGiantZombie 3.6 10.8
※◎ EntityZombie 0.6 1.8
※◎ EntityPigZombie 0.6 1.8
※ EntityEnderman 0.9 2.9
◎ EntitySilverfish 0.3 0.7
※◎ EntityBlaze 0.6 1.8
※ EntityWitch 0.6 1.8
EntityWither 0.9 4.0
※ EntityPig 0.9 0.9
※ EntitySheep 0.9 1.3
※ EntityCow 0.9 1.3
※ EntityMooshroom 0.9 1.3
※ EntityChicken 0.3 0.7
※ EntityWolf 0.6 0.8
※ EntityOcelot 0.6 0.8
EntityVillager 0.6 1.8
EntityPlayer 0.6 1.8
└屍體、睡覺狀態 0.2 0.2
※ EntitySquid 0.95 0.95
EntitySnowman 0.4 1.8
EntityIronGolem 1.4 2.9
※ EntitySlime(Tiny) 0.6 0.6
(Small) 1.2 1.2
(Big) 2.4 2.4
※ EntityMagmaCube (同上)
※ EntityGhast 4.0 4.0
※ EntityBat 0.5 0.9
EntityDragon 16.0 8.0
├Head 6.0 6.0
├Body 8.0 8.0
├Tail1 4.0 4.0
├Tail2 4.0 4.0
├Tail3 4.0 4.0
├Wing1 4.0 4.0
└Wing2 4.0 4.0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.245.146
※ 編輯: jeffffliu 來自: 114.38.245.146 (01/02 21:57)
推 Foremanytz:專業推 生怪房知識+1 01/02 22:16
推 yshinri:蠹 ㄉㄨˋ 01/02 22:38
※ 編輯: jeffffliu 來自: 114.38.245.146 (01/02 22:59)
※ 編輯: jeffffliu 來自: 114.38.245.146 (01/02 23:32)
推 mabikerry:蠢 ㄔㄨㄣˇ(誤) 而且那怪很討厭 所以罵它蠢沒問題的(? 01/03 01:44
→ jeffffliu:其實我比較想要打英文 只是單純不想打那個字 01/03 10:42
※ 編輯: jeffffliu 來自: 114.38.245.146 (01/03 10:43)
→ Nuaaukw:淫魚……更正,銀魚。 01/03 13:14
※ 編輯: jeffffliu 來自: 114.38.245.146 (01/03 14:46)
→ jeffffliu:水平圖少話一排_a 01/03 14:46