MC附魔指令程式碼大全 - 我的世界附魔指令大全
我的世界附魔指令程式碼是// 返回一個區間為[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)。
詳細答案:
附魔基礎
當把一件可附魔的物品放上附魔臺時,可用的附魔等級將會依據以下公式隨機生成。附魔等級由附近書架的數量(最多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)
每一行等級計算時會使用新的附魔等級基數,即一次計算過程會生成3次base
在正式版 1.3 前,可用附魔等級基數計算公式為 base = (1..5 + (b/2) + 0..b) ,並乘以“行列因數”(第一行為1⁄3,第二行為2⁄3,第三行為1)得到。最小的附魔等級與附魔臺周圍有效書架數目的一半相同。
在正式版 1.1 前,上式的“(b/2)”項曾是“0..(b/2)”,這使得附魔等級隨機性變大,刷出高等級附魔選項會耗費大量時間。同時,可用附魔等級的最低階固定在1,不會受書架數目的影響。
魔咒是如何選擇出來的
“魔咒等級”是某一魔咒所需的經驗級別(在按鈕上的綠色數字)。
“魔咒威力”是某一特定魔咒的力量。例如,“鋒利IV”有4點威力。
魔咒的挑選
首先遊戲會把兩個調節值加入到被選的附魔等級中。每個調節值會被限制在一定的範圍內,數字接近範圍中央的會比靠近兩端的更常見。
第一調節值是基於附魔物件的“附魔能力”,這取決於該物品的材料和型別(見下表)。遊戲會在0至附魔能力的一半(實際上,遊戲會先將附魔能力除以4,四捨五入為整數後再乘以2)之間隨機挑選一個數字,然後將這個數字和1加到附魔等級裡。此時,弓的附魔能力是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);