Minecraft:Enchanting table mechanics
More actions
This article is about the mechanics of Minecraft:enchanting with Minecraft:enchanting tables.
Bookshelf placement
Nearby Minecraft:bookshelves raise the available enchantment levels; without any bookshelves, the experience level requirement never exceeds 8. The maximum number of bookshelves affecting enchantment level is 15.
In order to have an effect, a Minecraft:bookshelf must be placed exactly 2 blocks, laterally, off the enchanting table and be on the same level or one block height above the table. Additionally, the bookshelf must not be blocked. The meaning of "blocked" differs in both Template:Els.
Bedrock Edition
The 2-high space between the bookshelf and table must be Minecraft:air (even a torch, snow cover or carpet blocks the effect), where "between" is as shown in the following diagrams (the blank spaces are air, and the Template:BlockSprite do not matter):
| Like this from the top: | or | ||
|---|---|---|---|
| and like this from the side: | or |
Java Edition
The space between the bookshelf and table at the height of the bookshelf must be a block in the tag Template:Tag link like Minecraft:air, Minecraft:snow and Minecraft:short grass. For corner bookshelves, the space between is 1 block diagonal from the enchanting table; for all other bookshelves, the gap must be to the side of the enchanting table. This is illustrated in the following diagrams (the blank spaces are air, and the Template:BlockSprite do not matter):
| Like this from the top: | or | ||
|---|---|---|---|
| and like this from the side: | or |
The glyph particles, which fly from bookshelves, follow different rules and may appear even if the bookshelves are not enhancing the table.
There are many possible bookshelf arrangements that can reach the enchantment limit. A simple method is to surround the enchanting table with a 1-block high square of bookshelves with an empty space anywhere on the perimeter: Template:BlockGrid Another alternative that is now available is to build a 'library corner' where each bookshelf is two blocks high, as in the plan below. This arrangement gives space for 16 shelves, which is one more than needed, so if the corner bookshelf column cannot be seen, removing one of the two bookshelves in that does not have any effect, either technically or visually. Template:BlockGrid
With a Minecraft:data pack, it's possible to replace the bookshelf with a block in the tag Template:Tag link.
Selecting an enchantment level
As enchantments offered depend on the enchantment level and the enchantment level depends on the number of active bookshelves, an easy way to change the enchantments offered is to disable bookshelves by placing torches between them and the enchanting table. 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.
Bedrock Edition
With the layout shown here, enchantments with any number of bookshelves from 0 to 15 may be easily obtained:
Java Edition
With the layout shown here, enchantments with any number of bookshelves from 0 to 15 may be easily obtained:
Requirements
For an item to be enchanttable, it must fulfill these conditions:
- It is enchantable, meaning Template:In it has the components Template:DCL and Template:DCL.Template:Info needed
- It has no enchantments, meaning Template:In the component Template:DCL must be empty.Template:Info needed
If the item meets the conditions but has no available enchantments, it will be possible to select the slot at the enchanting table, but nothing will happen.
Experience cost
When an item is placed in an Minecraft:enchanting table, the Minecraft:experience cost of each enchantment slot is selected depending on the slot and the number of nearby Minecraft:bookshelves, which is capped at 15.
For each slot, a base experience cost is calculated as:
<math>xpBase\gets 1+\text{randInt}\left(7\right)+\left\lfloor\frac{\min\left(15,bookshelves\right)}2\right\rfloor+\text{randInt}\left(\min\left(15,bookshelves\right)\right)</math>
- where <math>\text{randInt}</math> generates a random integer in range <math>0</math> to <math>n</math> (both included).
The final experience cost is then calculated depending on the slot:
- Top slot: <math>xpCost\gets \left\lfloor\max\left(1,\frac{xpBase}3\right)\right\rfloor</math>
- Middle slot: <math>xpCost\gets \left\lfloor\frac{2\cdot xpBase}3\right\rfloor+1</math>
- Bottom slot: <math>xpCost\gets \left\lfloor\max\left(xpBase,2\cdot bookshelves\right)\right\rfloor</math>
| Bookshelves | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Experience cost of top slot | 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 |
| Experience cost of middle slot | 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 |
| Experience cost of bottom slot | 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 |
Enchantment selection
This section describes how enchantments for an item are selected for a given experience cost.
This process is used by various mechanics:
- When enchanting with an Minecraft:enchanting table.
- Template:IN when generating items with the Minecraft:item modifier Template:Cd, which is used in Minecraft:villager trade definitions for Minecraft:trades and Minecraft:loot tables for Minecraft:generated loot.
- Template:IN when generating Minecraft:trades and Minecraft:generated loot.
- Template:IN when generating items with the Minecraft:enchantment providers Template:Cd or Template:Cd, which is used for gearing mobs.
- Template:IN when gearing mobs.
Enchantment cost
For each slot, the enchantment cost, which is not shown in game, is calculated depending on the item's enchantability and the experience cost:
<math>eCost\gets \text{round}\left(\left(xpCost+\text{randIntTri}\left(\frac{enchantability}2\right)+1\right)\cdot\left(0.85+\text{randFloatTri}\left(0.3\right)\right)\right)</math>
- where <math>\text{randIntTri}</math> generates a random integer in range <math>0</math> to <math>2\left\lfloor\frac n2\right\rfloor</math> (both included) with triangular distribution, making numbers in the middle more likely:
- <math>\text{randIntTri}\left(n\right)\mapsto \text{randInt}\left(\left\lfloor\frac n2\right\rfloor\right)+\text{randInt}\left(\left\lfloor\frac n2\right\rfloor\right)</math>
- where <math>\text{randInt}</math> generates a random integer in range <math>0</math> to <math>n</math> (both included).
- and <math>\text{randFloatTri}</math> generates a random number in range <math>0</math> (included) to <math>n</math> (excluded) with triangular distribution, making numbers in the middle more likely:
- <math>\text{randFloatTri}\left(n\right)\mapsto \text{randFloat}\left(\frac n2\right)+\text{randFloat}\left(\frac n2\right)</math>
- where <math>\text{randFloat}</math> generates a random number in range <math>0</math> (included to <math>n</math> (excluded).
Template:Anchor Template:IN, an item's enchantability is stored in the Template:DCL item component.
| Item | Enchantability | <math>\left\lfloor\frac{enchantability}4\right\rfloor</math> |
|---|---|---|
| Template:ItemLink | 25 | 6 |
| Template:ItemLink | 22 | 5 |
| Template:ItemLink Template:ItemLink Template:ItemLink Template:ItemLink Template:ItemLink |
15 | 3 |
| 14 | 3 | |
| 13 | 3 | |
| Template:ItemLink | 12 | 3 |
| Template:ItemLink Template:ItemLink |
10 | 2 |
| Template:ItemLink Template:ItemLink |
9 | 2 |
| Template:ItemLink | 8 | 2 |
| Template:ItemLink | 5 | 1 |
| Template:Collapse | 1 | 0 |
Selection
Of every non-treasure enchantment for which the item is a primary item or a Minecraft:book, the highest level for which the enchantment cost falls within its cost range is a candidate.
A candidate is randomly selected based on weights, and incompatible candidates are removed.
As long as candidates remain, more enchantments can be added. There is a probability of <math>\frac{eCost}{50}</math>, and if it succeeds, a new candidate is randomly selected based on weight, incompatible candidates are removed, the <math>eCost</math> is divided by <math>2</math> and floored, and it repeats until the chance fails or no candidates remain.
The probability of getting at least two enchantments is at least 1.7% per experience level the enchantment costs, resulting in a chance of at least 51% for getting at least two enchantments from a level 30 enchantment.
Enchanting seed
The Minecraft:enchantments that Minecraft:enchanting tables offer are determined using the enchanting seed that is stored under Template:Code in each player's data. After enchanting an item, the player's seed is regenerated, resulting in different enchantments.
This means enchanting tables with the same number of nearby bookshelves will offer the same enchantments for all items with the same enchantability and the same possible enchantments (same item-type or one of pickaxes, shovels or hoes) until an item is enchanted.
Initial seed
Template:Exclusive When joining a world for the first time, the seed is initialized to Template:Code, however when joining a world with an already present enchanting seed of Template:Code, it will be regenerated.<ref>Template:Bug</ref>
This meaning leaving and rejoining a world for the first time gives new enchantments without enchanting an item, and the first enchantment before ever leaving a world will always give the same enchantment for the same item-bookshelves-combination,such as Minecraft:Looting III and Minecraft:Unbreaking III for a Minecraft:Netherite Sword with 15 bookshelves.
Receivable enchantments
History
Notes
References
External links
- https://github.com/SeeYou-Man/Minecraft-Enchantment-Probabilities – A GitHub project currently in progress to calculate the probability to get specific enchantments, Feel free help out. Probability for 1.21 enchants are generated with 100k enchants for Item and material combo. Host your own server for now (Should work with a maybe 70+% functionality as of 22/11/2025 - SeeYouMan).
- https://web.archive.org/web/20181019012113/http://minecraftenchantmentcalculator.com/rev6/ (archived) – Tests enchantments by simulating probability of getting specific enchantments on a tool based on level and (optionally) the "clue" shown
- https://minecraft.tools/en/enchant.php – Provides some ability to test enchantments, although its interface is significantly less verbose on the specifics
- https://github.com/Earthcomputer/EnchantmentCracker – Cracks the XP seed and lets you choose the exact enchantments you want, though the process is highly tedious and error-prone. Deprecated in favor of clientcommands
Minecraft:cs:Princip očarování Minecraft:es:Mecánicas de encantamiento Minecraft:it:Meccaniche del tavolo per incantesimi Minecraft:ja:エンチャントの仕組み Minecraft:ko:마법 작동 원리 Minecraft:lzh:淬靈 Minecraft:pt:Mecânica de encantamento Minecraft:th:กลไกการร่ายมนตร์ Minecraft:zh:附魔(物品修饰)