前面我們講了我的世界附魔的一些知識,今天我們再深入一點,講一下附魔機制的原理吧,如果看不懂可以多照例子參考。
當把一件可附魔的物品放上附魔臺時,可用的附魔等級將會依據以下公式隨機生成。附魔等級由附近書架的數量(最多15個)及附魔等級在附魔列表中所在的行數決定。
以下是可用附魔等級的計算步驟:
可用附魔等級基數(base) = (1..8 + (b/2) + 0..b)
其中b 是附近書架的數量(≤15),“x..y”表示在[x,y]閉區間內產生一個隨機數。產生基數后,游戲會根據附魔等級所在的行數,進行第二步計算:
第一行等級 = max (base / 3, 1)
第二行等級 = (base × 2) / 3 + 1
第三行等級 = max (base, b × 2)
在正式版 1.3 前,可用附魔等級基數計算公式為 base = (1..5 + (b/2) + 0..b) ,并乘以“行列因數”(第一行為1?3,第二行為2?3,第三行為1)得到。最小的附魔等級與附魔臺周圍有效書架數目的一半相同。
在正式版 1.1 前,上式的“(b/2)”項曾是“0..(b/2)”,這使得附魔等級隨機性變大,刷出高等級附魔選項會耗費大量時間。同時,可用附魔等級的最低級固定在1,不會受書架數目的影響。
| 書架數目 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 最小等級(第一行) | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 2 |
| 最大等級(第三行) | 8 | 9 | 11 | 12 | 14 | 15 | 17 | 18 | 20 | 21 | 23 | 24 | 26 | 27 | 29 | 30 |
在創造模式中,附魔不需要經驗等級。
附魔臺附近的書架可以提高可用的附魔等級。在預覽版 12w22a 中,若附魔臺周圍沒有不貼緊附魔臺的書架,則可用附魔等級最高只會到8級。 有效的書架必須距離附魔臺2個方塊遠,且必須與附魔臺處于同一或高1個方塊的高度。書架和附魔臺之間的空間必須是空氣(火把與雪也不允許),而該“之間”則是如下圖所示(空格代表空氣,而?不影響):
由于只需要15個書架即可達到最大附魔等級,所以書架的排列有很多種方法。
方法1
一種最簡單的方法是用一層書架圍著附魔臺繞上一圈:
方法2
另外一種方法則是做一個“圖書角”。
方法3
另外一個“圖書角”,書架放兩層。這種方法使用了16個書架,比需要的還要多。
如果需要限制最大附魔等級,一種簡單的方法就是往附魔臺與書架之間的空間中插火把禁用部分書架。把火把拿下可以重新恢復最大的附魔等級。
另外要注意的是,要檢查附魔區域的環境,并保證書架與附魔臺之間的絕對空無。例如在覆雪生物群系中,雪可以把所有書架都無效化。因此,除非你希望得到較小的附魔等級,則在附魔前要進行仔細的檢查和清理。
魔咒等級”是某一魔咒所需的經驗級別(在按鈕上的綠色數字)。
“魔咒威力”是某一特定魔咒的力量。例如,“鋒利IV”有4點威力。
魔咒的挑選有三個步驟。
第一步 - 對附魔等級加入調節值
首先游戲會把兩個調節值加入到被選的附魔等級中。每個調節值會被限制在一定的范圍內,數字接近范圍中央的會比靠近兩端的更常見。
第一調節值是基于附魔對象的“附魔能力”,這取決于該物品的材料和類型(見下表)。游戲會在0至附魔能力的一半(實際上,游戲會先將附魔能力除以4,四舍五入為整數后再乘以2)之間隨機挑選一個數字,然后將這個數字和1加到附魔等級里。此時,弓的附魔能力是1。然后,這個隨機數會經過三角形分布處理,使得最終結果靠近附魔能力一半的幾率遠大于靠近極值的幾率。
修改后的附魔等級 = 附魔等級 + 隨機值(0, 附魔能力 / 4 * 2) + 1
(每步計算完畢后四舍五入)
接著,Minecraft會在0.85和1.15之間挑選一個值,并再次經過三角形分布處理。修改后的附魔等級會乘以這個值(因此它可以增加或減少最多15%),然后四舍五入至整數,得到最終的等級調節值。
偽代碼
// 返回一個區間為[0,n-1)的隨機整數
function randomInt(n);
// 返回一個區間為[0,1)的一個隨機實數
function randomFloat();
// 利用三角隨機分布,生成一個區間為[1,1+(附魔能力/2))的隨機數
enchantability_2 = enchantability / 2;
int rand_enchantability = 1 + randomInt(enchantability_2 / 2 + 1) + randomInt(enchantability_2 / 2 + 1);
// 選擇附魔能級
int k = chosen_enchantment_level + rand_enchantability;
// 0.85至1.15之間的附魔獎勵
float rand_bonus_percent = (randomFloat() + randomFloat() - 1) * 0.15 + 1;
// 最終計算得到等級
int final_level = (int)(k * (1 + rand_bonus_percent) + 0.5);
第二步 - 尋找可能的魔咒
現在,以等級調節值為基礎,游戲會先列出所有可應用于目標物品的附魔類型及其威力(候選表),以便之后的挑選。
魔咒等級表中列出了每一種魔咒類型的可用等級及其威力。對于每一級威力的每種魔咒,都有與其規定的等級調節值范圍。當等級調節值符合某級威力某個魔咒的等級調節值范圍時,這個魔咒進入候選表;如果等級調節值同時包含于同一個魔咒不同級別威力的等級調節值范圍內時,較高等級的魔咒進入候選表。例如,劍的“鋒利 I”和“鋒利 II”魔咒的等級調節值范圍分別為 1 - 21 和 12 - 32 ,則當等級調節值為10時,“鋒利 I”進入候選列表;當等級調節值為15時,“鋒利 II”則會進入候選列表。Enchantview Mod 可以查看將要附魔的物品能附上什么魔咒。
第三步 - 從候選表中選擇魔咒
現在它有了該物品的附魔候選表,游戲會從它們之中選擇一些會最后應用到的附魔。
最終附上的魔咒至少會有一個,第一個魔咒會從“權重”名單中被挑選出來——權重越高的魔咒,選中的機會越高。
P(魔咒)=(魔咒權重)/(∑i=1可能的魔咒的數量〖魔咒權重i〗)
第一個魔咒被選中后,根據以下算法來判斷是否得到更多魔咒:
1、將等級調節值除以2,并四舍五入。(這不影響魔咒候選表,因為候選表在第二步已經確定。)
2、以 P=(修改后的等級調節值+1)/50 的幾率決定是否選擇額外的魔咒。
3、選擇額外的魔咒后,刪除表中任何與先前選擇附魔相沖的魔咒。
4、從剩下的魔咒候選表中挑選一個魔咒(像之前一樣,以權重為基準)并將其加入到該物品。
5、重復第一步。
相沖的魔咒
一些魔咒會與其他魔咒相沖,因此不能附到同一物品上,有效地減低玩家擁有過強武器/盔甲的可能性。
魔咒相沖的規則是:
每個魔咒與本身相沖。(所以你不能得到有兩個相同魔咒的的工具。)
所有保護類魔咒相互沖突,所以一個物品只能有一個。(在程序代碼中,摔落保護是一種保護類魔咒,但它不與其他保護類魔咒發生沖突。)
所有傷害類魔咒(鋒利、亡靈殺手和節肢殺手)相互沖突。
“精準采集”和“時運”也會互相沖突。(在通過使用物品修改器得到的同時擁有“時運”與“精準采集”魔咒的鎬中,“時運”會失效,因為“精準采集”的存在導致根本就不能采到方塊的掉落資源,只能夠得到方塊本身。)
第一步
首先計算附魔調節值,鉆石無論劍/工具/盔甲的附魔能力都為10,則10/4=2.5,四舍五入得3,再3*2=6,則系統會在0~6范圍內隨機取一個值,再+1,即為修改后的附魔等級,范圍在31~37。
接著乘以0.85~1.15間的一個隨機值,得到最終的等級調節值,范圍為26.35~42.55,四舍五入得26~43。
而你得到的等級調節值是范圍內的一個值(由于兩次三角算法所以靠近中間值35的概率比靠近極值大),這個值將會影響魔咒候選表和是否獲得更多魔咒。
第二步
以此為基準通過魔咒等級表來選擇入選魔咒。
從表中查出有可能的魔咒(括號內為對應魔咒等級范圍)為:效率III(21-71),效率IV(31-81),效率V(41-91),精準采集(15-65),耐久III(21-71),時運II(24-74),時運III(33-83)。
即附魔等級調節值與對應出現在候選表中的魔咒為(特別的,鋒利V是30級鉆石附魔唯一無法得到的魔咒,因為其最低等級需要45)。
第三步
決定在候選表的四個魔咒中具體附魔哪一個,就需要計算各魔咒權重,查表知效率為10,精準采集為1,耐久為5,時運為2 則各個附魔(與威力無關)的概率為,效率10/(10+1+5+2)=5/9,精準采集1/18,耐久5/18,時運1/9 如此便得到了第一個附魔。
等級調節值除以2,得到值范圍13~21.5,四舍五入得13~22
注意候選表已經不再受等級調節值影響,即如有第二個魔咒為耐久則依舊必然為耐久III。
獲得第二個魔咒的概率為P=(修改后的等級調節值+1)/50,概率范圍為28%~46%。
接下來候選表中刪掉已獲得附魔和沖突的——工具中只有精準采集和時運沖突,再次通過權重計算接下來獲得的魔咒概率,并得到第二個魔咒。
等級調節值再次除以2,得到值范圍6.5~11,四舍五入得7~11 獲得第三個魔咒的概率范圍為16%~24%。
再重復刪掉候選表中已有和沖突的附魔,如此時候選表只剩時運和精準采集,則獲得時運的概率為2/3,精準采集概率為1/3,其他情況則只剩下一個候選魔咒,必然獲得該魔咒。 而
因此鎬最多獲得三個魔咒,之后即使得到第四個附魔機會,也會因候選表中沒有魔咒而無效(而劍是有可能獲得五個魔咒的,雖然概率極低)。
如此便得到了最終的附魔鉆石鎬。
| 我的世界新手指南 | ||||
| 新手入門攻略 | 新手常見問題 | 生存模式小知識 | 工具使用方法 | 村民繁殖屋 |
| 我的世界指令攻略 | ||||
| SEED指令大全 | OP指令大全 | OP刷錢攻略 | 方塊代碼大全 | WE指令代碼 |
| 我的世界合成攻略 | ||||
| 另類道具合成 | 武器合成大全 | UU物質合成 | 盔甲合成大全 | 基礎物品合成 |
| 我的世界道具攻略 | ||||
| 精品地圖種子 | 戰船 | 核電站 | 豪華木屋 | 活塞大炮 |
| 我的世界大神作品 | ||||
| 千年帝都洛陽 | 擎天柱 | 企業號 | 中世紀城堡 | 冰島上的別墅 |
| 一念天堂一念地獄 | ||||
| 前往天堂 | 去往地獄 | |||
瀏覽量:72022-07-19
瀏覽量:12021-05-31
瀏覽量:02021-05-29
瀏覽量:02021-05-17
瀏覽量:02021-04-23
瀏覽量:02019-10-13