真实剑类伤害

真实剑类伤害

看看你的武器实际造成的伤害。

真实剑伤害

你的武器工具提示在欺骗你。这个模组修复了这个问题。

我的世界的武器工具提示显示一个静态数字,这几乎从来都不是你实际造成的伤害。在原版中它就已经具有误导性了——攻击冷却会缩放伤害,而亡灵杀手 V 对亡灵生物增加 12.5 点伤害,但数字却从不改变。在模组包中,它完全是错误的:模组以工具提示无法察觉的方式增加伤害,最终你可能会遇到一把龙之研究模组的剑,安装升级后其工具提示却从不改变,或者一把天域模组的宇宙之剑显示“2 点攻击伤害”,却能一击杀死凋灵。

真实剑伤害 用伤害档案取代了那个单一的不诚实数字——这是一个由武器实际行为推导出的小型数据行集合,基于测量而非猜测。

  • 一把普通的铁剑保持为一行简洁的数据。
  • 亡灵杀手 V 显示两行数据。
  • 一把完全升级的模组武器会精确显示其作用——而此项目中没有任何针对特定模组的代码。

工具提示的复杂度与武器的复杂度相匹配,并且永远不会超过。

为什么原版中的数字是错误的

模组通过三种方式增加伤害,只有第一种能反映到工具提示中:

  1. 物品上的属性修饰符——正确显示。
  2. 拦截伤害事件或覆盖攻击代码——工具提示无法察觉。
  3. 完全绕过伤害流程(自定义伤害来源、直接修改生命值)——不可见,原版数字毫无意义。

模组武器的伤害不是武器的属性。它是武器与目标共同作用的结果。 一个单一的静态数字在结构上无法表达这一点——因此,这个模组不再试图修正数字,而是将其替换为能够真正说明真相的东西。

它是如何测量的

三个分层的等级,每一层都是上一层的回退和交叉验证:

  • 第一层——解析。 始终开启,零副作用。直接读取属性修饰符、针对目标的加成、附魔和护甲减伤。对原版正确,但对模组隐藏于工具提示之外的内容视而不见。
  • 第二层——沙盒攻击。 实例化与游戏世界完全分离的真实参考生物(僵尸、蜘蛛、苦力怕、牛和一个护甲目标),并实际使用你的武器的临时副本攻击它们。这是隐藏伤害变得可见的地方。
  • 第三层——经验校正。 静默观察真实战斗。如果武器在实际战斗中的表现与沙盒预测不同,以真实战斗为准,工具提示会如实显示。

档案计算一次后缓存,并推送到你的客户端——无延迟,无占位文本,无加载动画。在档案到达之前,原版工具提示保持原样。

你实际会看到什么

情况 工具提示显示
普通原版武器 正常的单行伤害数据,不做改动
亡灵杀手 V 斧头 伤害:8 和 对亡灵生物:20.5
带有隐藏命中加成的模组剑 原版工具提示所隐藏的真实数字
完全无视护甲的武器 无视护甲 标签,而非误导性的数值
造成荒谬、无上限伤害的武器 秒杀,而非无意义的数字

诚实的本质设计

这个模组从不改变伤害——它只读取和报告,零游戏性影响。同时,它也对自己的局限性保持诚实:完全绕过伤害流程的武器只能被标记,而无法测量,并且没有任何模拟能完全抑制另一个模组的命中后代码可能引发的副作用。在无法确定的情况下,它会明确说明,而不是猜测。

配置

可通过一个纯 JSON 文件完全配置——调整武器“赢得”额外数据行的灵敏度,完全禁用沙盒模拟,将特定模组列入黑名单,或关闭经验追踪。合理的默认设置开箱即用;无需任何调整即可获得正确的工具提示。

兼容性

  • Minecraft 1.21.1
  • NeoForge 和 Fabric
  • 无针对特定模组的兼容代码——开箱即可适用于任何武器模组,因为档案是基于测量而非针对每个模组编写的。
  • 基于 MIT 许可证发布。

已针对天域、龙之研究、末影接口和 Iron 的法术与魔法书进行了广泛测试——包括这个模组存在的确切案例:一把工具提示显示 2 点伤害、而沙盒测量结果实际上趋于无限的剑。