บทความนี้เป็นบทความเกี่ยวกับกลไก ของการร่ายมนตร์
กลไกพื้นฐาน[]
เมื่อใดที่ผู้เล่นใส่ไอเทมที่ถูกประเภทไปยังโต๊ะร่ายมนตร์, เลเวลของการร่ายมตร์ที่มีให้จะถูกสุ่มขึ้นให้กับแต่ละสล็อต โดยการใช้สูตรดังต่อไปนี้ โดยเลเวลของการร่ายมตร์จะแปรผันกับจำนวนของชั้นหนังสือที่วางอยู่ใกล้เคียง(มากสุดที่ 15 บล็อก) และตำแหน่งที่วางบล็อก and which slot position it is in.
- เลเวลฐานของการร่ายมนตร์ที่สามารถมีให้ได้ (ฐาน) = (1..8 + พื้น(b / 2) + 0..b),
ซึ่งตัวแปร b นั้นเป็นจำนวนของชั้นหนังสือที่อยู่ใกล้เคียง(มากสุดที่ 15) และตัวแปร x..y นั้นจะถูกสุ่มค่าเป็นจำนวนเต็มที่กระจายสม่ำเสมอระหว่าง x และ y, โดยรวม โดยการคำนวนนี้จะถูกแปรเปลี่ยนไปตามตำแหน่งของสล็อต:
- เลเวลการร่ายมนตร์ของสล็อตบนสุด = max(ฐาน / 3, 1)
- เลเวลการร่ายมนตร์ของสล็อตกลาง = (ฐาน × 2) / 3 + 1
- เลเวลการร่ายมนตร์ของสล็อตล่างสุด = max(ฐาน, b × 2)
โดยที่ max(x, y) จะส่งค่าที่มากกว่าสองค่าของ x และ y กลับมา
จำนวนของชั้นหนังสือ | 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 |
จำนวนชั้นหนังสือ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ช่วงเลเวลของสล็อตบนสุด | 1–2 | 1–3 | 1–3 | 1–4 | 1–4 | 1–5 | 1–5 | 1–6 | 1–6 | 1–7 | 2–7 | 2–8 | 2–8 | 2–9 | 2–9 | 2–10 |
ช่วงเลเวลของสล็อตกลาง | 1–6 | 1–7 | 2–8 | 2–9 | 3–10 | 3–11 | 3–12 | 3–13 | 4–14 | 4–15 | 5–16 | 5–17 | 5–18 | 5–19 | 6–20 | 6–21 |
ช่วงเลเวลของสล็อตล่างสุด | 1–8 | 2–9 | 4–11 | 6–12 | 8–14 | 10–15 | 12–17 | 14–18 | 16–20 | 18–21 | 20–23 | 22–24 | 24–26 | 26–27 | 28–29 | 30 |
หมายเหตุไว้ว่าค่าใช้จ่ายประสบการณ์ที่มากกว่าของแต่ละสล็อตนั้นไม่ได้หมายความว่าจะให้การร่ายมตร์ที่ดีไปกว่าการร่ายมตร์ของสล็อตในระดับราคาค่าประสบการณ์ที่ตำ่กว่า
ในหโหมดสร้างสรรค์, ไม่จพเป็นต้องใช้ค่าประสบการณ์ใดๆ ในการร่ายมนตร์
การวางชั้นหนังสือ[]
ชั้นหนังสือที่วางอยู่ใกล้เคียงกับโต๊ะร่ายมตร์ จะเพิ่มระดับเลเวลของการร่ายมนตร์ที่สามารถรับได้; หากไม่มีการวางหนังสือร่ายมนตร์ใดๆ เลเวลค่าประสบการณ์ที่สามารถมีให้จะไม่เกิน 8
ในการทำให้ชั้นหนังสือสามารถเพิ่มระดับให้กับโต๊ะร่ายมตร์ได้ ต้องวางชั้นหนังสือบนบล็อกที่ 2 จากโต๊ะร่ายมตร์ที่ระนาบเดียวกันกับชั้นหนังสือ และในระนาบที่ระดับ y+1 ต้องเว้นที่ว่าง หรือมีบล็อกอากาศความสูงสองบล็อกขั้นอยู่ระหว่างชั้นหนังสือ กับโต๊ะร่ายมตร์(แม่แต่คบเพลิง หิมะ หรือพรมจะเป็นการบล็อคการเพิ่มระดับของชั้นหนังสือ), โดยที่ "ระหว่าง" นั้นจะถูกแสดงในแผนผังต่อไปนี้ (ที่ว่างสีขาวนั้นหมายถึงอากาศ และ หมายความว่าเป็นบล็อกใดๆ ก็ได้):
เหมือนแบบนี้ จากมุมสูง: | or | ||
---|---|---|---|
และแบบนี้ จากมุมด้านข้าง: | or |
และอนุภาคร่ายมนตร์ ซึ่งจะลอยออกมาจากชั้นหนังสือ จะเป็นไปตามกฎที่ต่างกัน และอาจปรากฎให้เห็นถึงแม้ว่าชั้นหนังสือจะไม่ได้ต่อกับโต๊ะร่ายมนตร์ก็ตาม
มีการจัดวางชั้นหนังสือที่เป็นไปได้อยู่หลายรูปแบบมากที่อยู่ในระยะของการร่านยมนตร์ โดยวิธีพื้นฐานคือการล้อมรอบโต๊ะร่ายมนตร์ด้วยชั้นหนังสือที่มีความสูง 1 บล็อกที่มีพื้นที่ว่างที่ใดก็ตามบนพารามิเตอร์:
และมีอีกวิธีที่สามารถทำได้คือวิธี 'มุมห้องสมุด' โดยแต่ละบล็อกชั้นหนังสือจะสูง 2 บล็อก, จามแผนผังด้านล่างนี้ โดยการเรียงแบบนี้ จะทำให้มีพื้นที่ว่างอีก 16 ชั้น ซึ่งสามารถเพิ่มได้หากต้องการ
การเลือกเลเวลของการร่ายมตร์[]
เนื่องจากรายการการร่ายมนตร์ที่มีให้เลือกจะขึ้นอยู่กับเลเวลของการร่ายมนตร์ และเลเวลของการร่ายมตร์จะขึ้นอยู่กับจำนวนของชั้นหนังสือ, วิธีที่ง่ายในการเปลี่ยนการร่ายมนตร์ที่มีให้เลือกคือการปิดการทำงานของชั้นหนังสือได้โดยการวางบล็อกระหว่างชั้นหนังสือกับโต๊ะร่ายมนตร์ That way one can still have the entire 'ring' of bookshelves around the table but get lower-level enchantments. Breaking the torches restores the effect of the bookshelves.
With the layout shown here, enchantments with any number of bookshelves from 0 to 15 may be easily obtained:
Active bookshelves | ||||
---|---|---|---|---|
0 | ||||
1 | ||||
2 | ||||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
8 | ||||
9 | ||||
10 | ||||
11 | ||||
12 | ||||
13 | ||||
14 | ||||
15 |
วิธีการของการเลือกการร่ายมตร์[]
"Enchantment level" is the required experience level (the green number on the bottom-right). "Enchantment power" is the strength of the particular enchantment. For example, "Sharpness IV" has a power of 4. The enchantment algorithm uses a three-step process.
ขั้นตอนที่ 1 – การใช้โมดิฟายเออร์กับระดับการร่ายมตร์[]
The first thing that Minecraft does is apply two modifiers to the base enchantment level. Each modifier is restricted to a certain range, with numbers close to the middle of the range more common than those near the ends.
The first modifier is based on the item's "enchantability," which depends on the material and the type of the item (see the table below). Stronger materials tend to have a lower enchantability. Minecraft picks a number between 0 and half the enchantability, then adds that number plus one to the enchantment level. Bows, books, and fishing rods have an enchantability of 1 for this purpose. This random value follows a triangular distribution (like rolling a pair of dice and adding) so results close to a quarter of the enchantability are much more likely than results at the extremes.
The modified enchantment level is calculated with the following formula:
- L = B + R1 + R2 + 1
Where:
- R1 and R2 are two individual randomly generated integers:
- R1 = randomInteger(0, E / 4)
- R2 = randomInteger(0, E / 4)
- B is the base enchantment level.
- E is the enchantability of the item.
Division is rounded down.
ความสามารถในการร่ายมนตร์[]
Material | Armor enchantability | Sword/Tool enchantability |
---|---|---|
Wood | N/A | 15 |
Leather | 15 | N/A |
Stone | N/A | 5 |
Chain | 12 | N/A |
Iron | 9 | 14 |
Gold | 25 | 22 |
Diamond | 10 | 10 |
Turtle | 9 | N/A |
Netherite | 15 | 15 |
Book | 1 | 1 |
Next, Minecraft picks a value between 0.85 and 1.15, again with a triangular distribution. The modified enchantment level is multiplied by this value (so it could increase or decrease by up to 15%) and then rounded to the nearest integer.
ขั้นที่ 1 รหัสเทียม[]
// Returns a uniformly distributed random integer between 0 and n–1, inclusive function randomInt(n); // Returns a uniformly distributed random real (fractional) number between 0 (inclusive) and 1 (exclusive) function randomFloat(); // Returns the real number n rounded to the nearest integer. function round(n); // Generate a random number between 1 and 1+(enchantability/2), with a triangular distribution int rand_enchantability = 1 + randomInt(enchantability / 4 + 1) + randomInt(enchantability / 4 + 1); // Choose the enchantment level int k = chosen_enchantment_level + rand_enchantability; // A random bonus, between .85 and 1.15 float rand_bonus_percent = 1 + (randomFloat() + randomFloat() - 1) * 0.15; // Finally, we calculate the level int final_level = round(k * rand_bonus_percent); if ( final_level < 1 ) final_level = 1
The source is Minecraft 1.8 source code.
ขั้นที่ 2 – ค้นหาการร่ายมตร์ที่เป็นไปได้[]
Now, based on the modified level, Minecraft makes a list of all enchantment types that can be applied to the target item along with the power that each enchantment has.
The power of each enchantment type is determined by the level and the values in the enchantments levels table. For each power value of an enchantment type, there is a minimum and maximum modified level that can produce the enchantment at that power. If the modified enchantment level is within the range, then the enchantment is assigned that power. If the modified level is within two overlapping ranges for the same enchantment type, the higher power value is used.
สมบัติ[]
การร่ายมตร์บางอันนั้นถูกจัดเป็น "สมบัติการร่ายมนตร์" (แสดงอยู่ในตารางด้านล่าง), ซึ่งจะหมายความว่าการร่ายมนตร์เหล่านี้จะไม่สามารถรับมาได้จากโต๊ะร่ายมตร์, และสามารถรับมาได้ตามวิธีดังต่อไปนี้เท่านั้น: หาได้จากหีบสมบัติ (ในรูปไอเทม หรือหนังสือร่ายมนตร์), เมื่อทำการตกปลา, และเมื่อการแลกเปลี่ยน หรือเมื่อ bartering, และดรอปโดยอิลเลจเจอร์[รุ่น Bedrock เท่านั้น]
ขั้นที่ 3 – การเลือกเซตของการร่ายมตร์จากรายการ[]
Now that it has a list of the possible enchantments for the item, Minecraft must pick some of them to apply. Each enchantment has a statistical "weight". Enchantments with higher weights have a higher chance of being selected.
In detail, Minecraft uses the following weighted random selection algorithm:
- Calculate the total weight of all enchantments in the list (T).
- Pick a random integer in the half range [0; T) as a number w.
- Iterate through each enchantment in the list, subtracting its weight from w. If w is now negative, select the current enchantment.
This algorithm produces the same results as listing each enchantment the number of times given by its weight, then choosing a random entry from the combined list.
So, for each enchantment in the list, the probability of it being selected is:
- P = แม่แบบ:Sfrac
Where:
- w is the enchantment's weight.
- T is the total weight of all enchantments in the list.
Type of enchantment | Enchantment | Weight | Creatable by an enchanting table |
---|---|---|---|
Armor | Protection | 10 | Yes |
Feather Falling | 5 | Yes | |
Fire Protection | 5 | Yes | |
Projectile Protection | 5 | Yes | |
Aqua Affinity | 2 | Yes | |
Blast Protection | 2 | Yes | |
Respiration | 2 | Yes | |
Depth Strider | 2 | Yes | |
Frost Walker | 2 | No | |
Thorns | 1 | Yes | |
Curse of Binding | 1 | No | |
Soul Speed | 1 | No | |
Sword | Sharpness | 10 | Yes |
Bane of Arthropods | 5 | Yes | |
Knockback | 5 | Yes | |
Smite | 5 | Yes | |
Fire Aspect | 2 | Yes | |
Looting | 2 | Yes | |
Sweeping Edge | 2 | Yes | |
Pickaxe Shovel Axe Hoe Shears |
Efficiency | 10 | Yes |
Fortune | 2 | Yes | |
Silk Touch | 1 | Yes | |
Bow | Power | 10 | Yes |
Flame | 2 | Yes | |
Punch | 2 | Yes | |
Infinity | 1 | Yes | |
Fishing rod | Luck of the Sea | 2 | Yes |
Lure | 2 | Yes | |
Trident | Loyalty | 5 | Yes |
Impaling | 2 | Yes | |
Riptide | 2 | Yes | |
Channeling | 1 | Yes | |
Crossbow | Quick Charge | 5 | Yes |
Multishot | 2 | Yes | |
Piercing | 10 | Yes | |
All applicable | Unbreaking | 5 | Yes |
Mending | 2 | No | |
Curse of Vanishing | 1 | No |
Shields can be given the enchantments Unbreaking, Mending, Curse of Vanishing, and Curse of Binding by using Enchanted Books. The player always gets at least one enchantment on an item, and there is a chance of receiving more. Additional enchantments are chosen by this algorithm:
- With probability (modified level + 1) / 50, keep going. Otherwise, stop picking bonus enchantments.
- Remove from the list of possible enchantments anything that conflicts with previously-chosen enchantments.
- Pick one enchantment from the remaining possible enchantments (based on the weights, as before) and apply it to the item.
- Divide the modified level in half, rounded down (this does not affect the possible enchantments themselves, because they were all pre-calculated in Step Two).
- Repeat from the beginning.
When enchanting books using an enchanting table, if multiple enchantments were generated, then one selected at random is removed from the final list. This does not apply to other sources of enchanted books that use enchantment mechanics, such as fishing or chests in generated structures.
การร่ายมตร์ที่ขัดแย้งกัน[]
การร่ายมนตร์บางประเภทนั้นจะขัดแย้งกับการร่ายมนตร์อีกชนิด ดังนั้นแล้วจะไม่สามารถร่ายมนตร์รวมกัยในไอเทมเดียวได้ ลดความเป็นไปได้ที่จะทำได้อาวุธที่ทรงพลังเกินไป
โดยกฎการขักแย้งของการร่ายมตร์ดังนี้:
- ในทุกๆ การร่ายมนตร์จะขัดแย้งกับตัวมันเอง (ผู้เล่นไม่สามารถได้รับเครื่องมือที่มีการร่ายมนตร์เดียวกันได้สองอันพร้อมกัน)
- การร่ายมนตร์ความเสียหายทั้งหมด (ได้แก่ความคม, โจมตีศักดิ์สิทธิ์, และสังหารอาร์โทรพอด) จะขัดแย้งซึ่งกันและกัน
- การร่ายมนตร์ป้องกันทั้งหมด (ได้แก่การป้องกัน, ทนแรงระเบิด, ทนไฟ, ทนธนู) จะขัดแย้งซึ่งกันและกัน
- นุ่มนวล (Silk Touch) และโชคลาภ(Fortune) จะขัดแย้งซึ่งกันและกัน
- คล่องแคล่วใต้น้ำ (Depth Strider) และนักเดินเยือกแข็ง (Frost Walker) จะขัดแย้งซึ่งกันและกัน
- ซ่อมแซม (Mending) และ ไม่จำกัด (Infinity) จะขัดแย้งซึ่งกันและกัน
- Loyalty and Riptide conflict with each other.
- Channeling and Riptide conflict with each other.
- Multishot and Piercing conflict with each other.
Conflicting enchantments may appear on an item with specially-crafted /give
commands. The behavior of such items should not be relied upon, but in general:
- An item with multiple copies of the same enchantment uses the level of the first copy of that enchantment in the list.
- For armor with conflicting protection enchantments, all enchantments take effect individually.
- For weapons with conflicting damage enchantments, all enchantments take effect individually.
- For tools with both Silk Touch and Fortune, Silk Touch takes priority over Fortune on blocks affected by both enchantments. Fortune still applies to blocks such as crops that are not affected by Silk Touch.
- For bows with both Mending and Infinity, both enchantments work individually.
- For tridents with both Loyalty and Riptide, Riptide still functions normally but the trident can no longer be thrown by the player. However, tridents can still be thrown using dispensers.
- For crossbows with both Multishot and Piercing, both enchantments work individually.
เพิ่มเติม[]
- There was a Web page for testing enchantments. While it no longer exists, it is still available on the WayBack Machine
ผู้เล่นใหม่ |
| ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
General |
| ||||||||||||
Storage solutions |
| ||||||||||||
Farming |
| ||||||||||||
Enchanting and smelting |
| ||||||||||||
Blockbreaking |
| ||||||||||||
Mechanisms |
| ||||||||||||
Servers |
| ||||||||||||
Technical |
| ||||||||||||
Outdated |
|