Enchantment Calculator
Client-side mod that calculates optimal enchantment paths to save XP and levels when enchanting gear, tools, weapons, and armor.
截图
介绍
Overview
Enchantment Calculator is a client-side mod that helps you find the most cost-effective way to combine enchantments on your items.
This mod is based on the functionality provided by this website
This mod supports customization via a custom resource pack. GUI elements are located at:
assets/enchantmentcalculator/textures/gui
You can view the original textures in the source code on GitHub
_If you have an idea to improve the interface by redrawing the elements or by changing the code, I would appreciate it._
Since 2.0 update:
- reworked gui
- auto-enchantment function
- improved calculate algorithm + added way to optimize by xp
- added a “Use Book” feature that automatically takes books from your inventory and adds their enchantments to the calculator
- 26.x support
- added preset support for auto-enchantment
IMPORTANT!!!!! Before using the auto-enchantment feature, please get approval from your server admins. Otherwise, use the Fair Play Edition
Bug Reports & Feature Requests
Found a bug, errors in calculations, have a suggestion? Please report it my our GitHub Issues page.
Usage
- Place an item in the anvil
- Select enchantments from the left panel
- Click Calculate to find the optimal sequence
- Follow the steps shown in the right panel
- Navigate through steps using arrow buttons
Screenshots
Main gui
Preset gui
Technical Algorithm Overview
Optimization Algorithm
The Enchantment Calculator uses a sophisticated tree-based optimization algorithm to find the most cost-effective enchanting sequence.
Core Algorithm Steps:
1. Tree Structure Generation
For n enchantments, generate all possible binary combination trees
- Each leaf = enchantment book or base item
- Each internal node = anvil combination operation
- Tree depth determines maximum prior work penalty
2. Cost Calculation Model
The mod calculates costs using Minecraft’s exact anvil mechanics:
Total Cost = Enchantment Cost + Prior Work Penalty
Where:
- Enchantment Cost: Based on enchantment rarity weights
- Prior Work Penalty:
MULTIPLIERS[left_uses] + MULTIPLIERS[right_uses] - Multipliers:
[1023]
3. Tree Pruning Optimization
Instead of testing all possible trees, the algorithm:
- Groups trees by maximum depth (anvil use count)
- Calculates weighted contribution sums for each tree
- Keeps only the best tree per depth level
- Reduces complexity from O(n!) to O(n²)
4. Item Placement Optimization
For each tree structure:
1. Sort enchantment books by cost (expensive first)
2. Calculate leaf contribution values for each position
3. Place expensive items at positions with lowest contributions
4. Minimize total weighted cost
5. Multi-Mode Optimization
Supports two optimization targets:
- Level Mode: Minimizes total anvil level cost
- Experience Mode: Minimizes total XP expenditure
Mathematical Foundation
Prior Work Penalty Calculation:
penalty = MULTIPLIERS[left_item_uses] + MULTIPLIERS[right_item_uses]
Experience Cost Conversion:
if (levels ≤ 16): xp = levels² + 6×levels
if (levels ≤ 31): xp = 2.5×levels² - 40.5×levels + 360
if (levels > 31): xp = 4.5×levels² - 162.5×levels + 2220
Tree Contribution Weighting:
For each tree position i:
contribution[i] = depth_from_root
weighted_sum = Σ(i × contribution[i])
Algorithm Complexity
- Time Complexity: O(n² × 2^n) where n = number of enchantments
- Space Complexity: O(n × 2^n) for tree storage
- Practical Performance: <100ms for typical 5-7 enchantments
Enchantment Weight System
The mod uses empirically determined weights matching Minecraft’s internal costs:
Weight 1: protection, sharpness, efficiency, unbreaking, power
Weight 2: fire_aspect, looting, fortune, punch, flame
Weight 4: mending, silk_touch, infinity, curse_of_binding
Tree Search Strategy
- Generate all possible binary tree structures
- Filter by maximum depth to reduce search space
- Score each tree using weighted contribution analysis
- Select optimal trees per depth level
- Test item placements for each selected tree
- Return globally optimal solution
Edge Case Handling
- Single enchantment: Direct application (cost = weight × level)
- Two enchantments: Simple combination without tree search
- Incompatible enchantments: Filtered during selection phase
- Maximum anvil uses: Capped at 6 uses (cost = 1023 levels)
This algorithm ensures you get the mathematically optimal enchanting sequence while maintaining fast performance suitable for real-time gameplay.
常见问题
Enchantment Calculator 支持哪些 Minecraft 版本?
Enchantment Calculator 支持 Minecraft Java 版 1.21–26.3,共 17 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。
Enchantment Calculator 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。
FanyaOff 的其他作品
查看全部 →
WaxedIcons
This mod adds a waxed icon to waxed blocks
Low Durability Switcher
This mod saves you from unfortunate tool breakage by switching the slot to another
Simple Stronghold Finder
A client-side fabric mod which allows you to find stronghold with only one Eye of Ender.
ForgeTPS
Minecraft mod that adds server performance information to the player list (Tab menu) header and footer.
评论
登录后评论和评分