Conversation
汇总截图调用链、极值来源、MMT适用范围以及050x/main基线差异。 关联 CDC PR #126,明确已完成诊断构建和未完成游戏回归的边界。 本次仅提交调查文档,保留本地诊断开关、个人配置与运行载荷。 验证:diff 格式及知识库校验通过;真实首次溢出生产者待复现确认。
明确历史 050x 产物与当前本地诊断部署的区别,补充探针入口、哈希和备份位置。
记录 Hurt 返回 MAX、Damage 入口 Infinity 的一致结果,以及未复现原 BigDecimal 异常的边界。 补充合并字节码中的 AttributesLib 抗性分支候选,关联 CDC 5fde0d2 的跨事件探针、验证和本地部署哈希。 只更新调查文档,不改个人配置、子模块指针或发行产物;下一步验证新探针实际启动并再次捕食。
记录7个独立父Trace的抗性乘法溢出及吸收NaN,确认诊断启动覆盖。后续转入抗性算术修复评审,并保留原下界现场差异。仅更新文档。
记录用户选择、CDC cc8bdc6 实现、测试边界、当前运行JAR哈希与备份路径。 下一轮验证补丁命中与后续伤害链,不预先认定原下界异常全部闭环。 仅更新调查文档,保留个人配置、子模块指针与发行产物。
第三轮七个父 Trace 仍为旧抗性公式溢出,原因是探针先执行使修复零匹配。记录 CDC a095011 的顺序修正、失败证据及新构建哈希。 完整构建、mapped/SRG 和导出类校验通过;待退出游戏替换后再验证启动与捕食。仅提交调查文档,不更新子模块指针或发行载荷。
确认游戏已退出后备份旧测试包,将 a095011 的非 all reobf JAR 部署原运行目录并核对 SHA-256,诊断开关保持开启。游戏重启和捕食回归仍待完成。
记录 CDC a095011 游戏验证:非暴击路径有限,暴击加法溢出并复现 TetraWear/AttributesLib/Neruina 链。明确下一步需要数值策略而非重排运算,本轮不修改规则。
Contributor
Author
理论解决方案与取舍(待决策,未实施)当前建议:保留已验证的抗性先算比例修复,下一步优先评估暴击计算的局部有限饱和处理;生物暴击适用范围另作玩法决策。 本评论记录讨论,不代表已批准或开始实现。PR 继续保持 Draft。 两类溢出需要分别处理
优先建议:暴击计算局部有限饱和对有限、合法输入产生的正向超限伤害,将该次暴击计算结果饱和到
局限:只修暴击不能保证整条伤害链安全。后续 MMT、Sundering 等增伤仍可能再次放大 MAX,需保留探针,针对实际发现的生产点继续验证。不能仅在最终伤害出口截断,因为 TetraWear 等监听器可能在出口之前已经抛错。 其他方向及取舍
建议推进顺序与待决策项推荐顺序:保留抗性重排 → 决策暴击局部饱和 → 保留探针回归其他增伤组合。生物暴击范围和特殊捕食机制另行评估,避免一次异常修复同时改变整套战斗规则。 后续需决定:是否接受有限输入超限时饱和到 MAX、该规则的适用边界,以及是否另行调整生物暴击或捕食语义。确定方案后,再验证普通伤害、极值、多重暴击、抗性/Sundering、吸收、事件取消和捕食死亡行为。 当前仅记录理论方案,暂停进一步实现,不合并、不发布。上述归因针对已验证的 main 基线;原始 0.5.0.11 环境尚未重跑。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
当前状态:等待后续决策
用户已要求暂停进一步实现。两份 PR 继续保持 Draft;保留已验证的抗性先算比例补丁与现有诊断,不修改暴击、捕食极值或实体适用范围,不合并、不发布,不安排自动后续操作。
新确认:暴击来源与上游行为
CRIT_CHANCE默认 0.05,CRIT_DAMAGE默认 1.5。applyAttribs遍历EntityAttributeModificationEvent.getTypes(),向生物添加这些通用属性。apothCriticalStrike只要求伤害来源为LivingEntity,并不限于玩家,因此蟾蜍捕食也进入暴击判定。这不是 Alex's Mobs 为蟾蜍单独设计的随机暴击能力。AttributeEventsMixin把多重暴击改为加算,并未扩大适用实体范围;上游本来就使用生物范围。MAX + MAX * 0.5;撤掉 CDC 加算逻辑后,上游单次暴击仍为MAX * 1.5,两者均超出 float 范围。因此只关闭 CDC 加算开关不能解决这个极值兼容问题。待决策范围
后续再决定是否定向处理捕食使用的
Float.MAX_VALUE、限制暴击的实体/攻击适用范围,或对有限输入的暴击输出采用局部有限饱和策略。上述均未实施,不把范围收缩当作所有伤害计算数值安全的替代。原始 0.5.0.11 环境未重跑,当前生产者归因仅针对已验证的 main 基线。以下保留前期实现与实测记录;下一步动作以本节的等待决策状态为准。
交接内容
记录蟾蜍捕食非有限伤害的调查证据、当前补丁与验收步骤。配套实现:Jasons-impart/Create-Delight-Core#126,最新执行顺序修正
a095011。本 PR 仅交接
docs/plan/nether-predation-nonfinite-damage-fix-plan.md,不提交 CDC 子模块指针、发行 JAR、个人配置或存档。当前结论
Float.MAX_VALUE * 25首先溢出,后续吸收计算产生 NaN;用户选定damage * (factor / 25.0F)。接手与验收
获取 CDC 最新分支构建,在原实例启动确认
Applied ratio-first ... before probes。用新绯红蚊重复捕食,确认先25 / 25 = 1后MAX * 1 = MAX,继续观察 Damage、吸收、生命阶段;另外回归抗性、Sundering 和旁路。当前主世界已复现相同 BigDecimal 异常链,原下界 0.5.0.11 尚未重跑,MMT 玩家适用范围未调整。不将本次抗性修复视作全部问题闭环。保持 Draft,通过游戏验证后再决定同步子模块和 Packwiz 产物。
2026-09-18 00:34 最新游戏证据
CDC a095011 已真实启动并出现抗性修复成功标记。6 条已记录非暴击捕食均先 25/25=1 再 MAX*1=MAX,后续 Damage、零吸收与生命处理未观察到非有限值。
另一次捕食的 Hurt #11 / 父 #10 由 CDC AttributeEventsMixin 的 useAdditiveMulticrit 首次写入 MAX -> Infinity。运行属性为暴击率 0.05、暴伤 1.5;结合源码,溢出发生在 MAX 加上 MAX*0.5 的加法。此方法内部运算由源码推导,探针直接证据是属性返回和事件写入。
随后 TetraWear.ArmorHoning -> AttributesLib.getAValue -> BigDecimal 抛出 Infinite or NaN,Neruina 暂停蟾蜍,重现原反馈的异常类型和消费端链。异常早于抗性阶段,是独立的暴击溢出;原 0.5.0.11 未重跑,不能断言原版生产者相同。
本轮保留抗性修复,仅更新调查证据,没有修改暴击/捕食规则。暴击结果本身超出 float 范围,不能仅重排计算解决;后续评估捕食极值定向处理或暴击局部有限饱和策略。保持 Draft。