
附魔计算器
客户端模组,用于计算最优附魔路径,以在附魔装备、工具、武器和盔甲时节省经验值和等级。
概述
Enchantment Calculator 是一个客户端模组,可帮助你找到在物品上合并附魔最具性价比的方式。
本模组基于此网站所提供的功能。
本模组支持通过自定义资源包进行定制。GUI 元素位于:
assets/enchantmentcalculator/textures/gui
你可以在 GitHub 上查看源代码中的原始纹理
如果你有通过重绘元素或修改代码来改进界面的想法,我将不胜感激。
已知漏洞
- 在使用 UI 缩放 4 时,界面会溢出屏幕(我不知道怎么修复这个 :P)
漏洞报告与功能请求
发现了漏洞、计算错误,或有建议?请在我们的 GitHub Issues 页面上报告。
使用方法
- 将物品放入铁砧中
- 从左侧面板中选择附魔
- 点击 Calculate 以找到最优顺序
- 按照右侧面板中显示的步骤操作
- 使用箭头按钮浏览各个步骤
截图
技术算法概述
优化算法
Enchantment Calculator 使用一种复杂的基于树的优化算法来找到最具性价比的附魔顺序。
核心算法步骤:
1. 树结构生成
对于 n 个附魔,生成所有可能的二叉组合树
- 每个叶子 = 附魔书或基础物品
- 每个内部节点 = 一次铁砧合并操作
- 树深度决定最大先前工作惩罚
2. 成本计算模型
本模组使用 Minecraft 精确的铁砧机制来计算成本:
总成本 = 附魔成本 + 先前工作惩罚
其中:
- 附魔成本:基于附魔稀有度权重
- 先前工作惩罚:
MULTIPLIERS[left_uses] + MULTIPLIERS[right_uses] - 乘数:
[1023]
3. 树剪枝优化
算法不是测试所有可能的树,而是:
- 按最大深度(铁砧使用次数)对树进行分组
- 计算每棵树的加权贡献总和
- 每个深度级别只保留最佳树
- 将复杂度从 O(n!) 降低到 O(n²)
4. 物品放置优化
对于每种树结构:
1. 按成本对附魔书排序(最贵的在前)
2. 计算每个位置的叶子贡献值
3. 将昂贵物品放在贡献最低的位置
4. 最小化总加权成本
5. 多模式优化
支持两种优化目标:
- 等级模式:最小化铁砧总等级成本
- 经验模式:最小化总 XP 消耗
数学基础
先前工作惩罚计算:
penalty = MULTIPLIERS[left_item_uses] + MULTIPLIERS[right_item_uses]
经验成本换算:
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
树贡献加权:
对于每个树位置 i:
contribution[i] = depth_from_root
weighted_sum = Σ(i × contribution[i])
算法复杂度
- 时间复杂度:O(n² × 2^n),其中 n = 附魔数量
- 空间复杂度:O(n × 2^n),用于树存储
- 实际性能:对于典型的 5-7 个附魔,小于 100ms
附魔权重系统
本模组使用与 Minecraft 内部成本相匹配的经验确定权重:
Weight 1: protection, sharpness, efficiency, unbreaking, power
Weight 2: fire_aspect, looting, fortune, punch, flame
Weight 4: mending, silk_touch, infinity, curse_of_binding
树搜索策略
- 生成所有可能的二叉树结构
- 按最大深度过滤以缩小搜索空间
- 使用加权贡献分析对每棵树评分
- 为每个深度级别选择最优树
- 为每棵选定的树测试物品放置
- 返回全局最优解
边界情况处理
- 单个附魔:直接应用(成本 = 权重 × 等级)
- 两个附魔:简单合并,无需树搜索
- 不兼容的附魔:在选择阶段被过滤掉
- 最大铁砧使用次数:上限为 6 次使用(成本 = 1023 级)
此算法可确保你获得数学上最优的附魔顺序,同时保持适合实时游玩的快速性能。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。