MC附魔指令程式碼大全 - 我的世界附魔指令大全

來源:樂享遊戲吧 1.56W

我的世界附魔指令程式碼是// 返回一個區間為[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)。

我的世界附魔指令大全 MC附魔指令程式碼大全

詳細答案:

附魔基礎

當把一件可附魔的物品放上附魔臺時,可用的附魔等級將會依據以下公式隨機生成。附魔等級由附近書架的數量(最多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,不會受書架數目的影響。

我的世界附魔指令大全 MC附魔指令程式碼大全 第2張

魔咒是如何選擇出來的

“魔咒等級”是某一魔咒所需的經驗級別(在按鈕上的綠色數字)。

“魔咒威力”是某一特定魔咒的力量。例如,“鋒利IV”有4點威力。

魔咒的挑選

首先遊戲會把兩個調節值加入到被選的附魔等級中。每個調節值會被限制在一定的範圍內,數字接近範圍中央的會比靠近兩端的更常見。

第一調節值是基於附魔物件的“附魔能力”,這取決於該物品的材料和型別(見下表)。遊戲會在0至附魔能力的一半(實際上,遊戲會先將附魔能力除以4,四捨五入為整數後再乘以2)之間隨機挑選一個數字,然後將這個數字和1加到附魔等級裡。此時,弓的附魔能力是1。然後,這個隨機數會經過常態分佈處理,使得最終結果靠近附魔能力一半的機率遠大於靠近極端值的機率。

我的世界附魔指令大全 MC附魔指令程式碼大全 第3張

我的世界附魔指令大全 MC附魔指令程式碼大全 第4張

接著,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);

熱門標籤