QED
a mod that fixes entity attributes contaminated with NaN after taking extreme damage.
介绍
📌 Dependencies
This mod does not depend on any other mod.
📑 Introduction
This is a mod that fixes entity data being contaminated with NaN due to extreme damage — or, more broadly speaking, “fake death”.
When an entity takes infinite or NaN damage, some of its attributes, such as absorption and health, become NaN after calculation.
Normally, an entity hit by infinite damage is supposed to die outright, and the NaN-contaminated data would be cleaned up or reset.
However, some entities with special mechanics survive infinite damage or keep performing other operations — for example, the dummy entity from Target Dummy. The rest of this description is based on the characteristics of that entity.

🫣 What is NaN
NaN stands for “Not a Number” — a value that has no meaning and cannot participate in calculations. In programming, any comparison between NaN and any number is False, and any operation involving NaN results in NaN, which makes NaN contagious.
👌 How it occurs and how it’s fixed
When calculating damage effects, if the damage value is infinite, the program computes damage before absorption - damage after absorption to derive the absorption reduction while applying damage absorption. However, infinity operated on with any finite value always yields infinity, so both the minuend and the subtrahend are infinity, and infinity - infinity results in NaN — the absorption attribute thus becomes NaN.
As mentioned above, NaN is contagious: any subsequent damage calculated with NaN also becomes NaN, which is why you’ll see the dummy displaying dealt damage as NaN.
This mod does not try to clean up entities; instead, it fixes the mathematical root cause — mathematically, damage before absorption - damage after absorption is equivalent to min(damage before absorption, current absorption). The latter removes the unnecessary subtraction, so infinity - infinity no longer occurs, eliminating the possibility of NaN.

💭 FAQ
Q: Does this mod need to be installed on the client?
A: Yes if you’re playing singleplayer; otherwise, installing it on the server only is enough.
Q: Does this mod only apply to Target Dummy?
A: No. Any entity that can take damage and has health is covered by the fix.
Q: Other Minecraft versions?
A: Other mainstream versions will be updated over time, with Minecraft 1.20.1 as the main focus. Third-party ports are welcome.
Q: NeoForge / Quilt versions?
A: NeoForge will be supported separately; Quilt will not be supported separately, but third-party ports are welcome.
ℹ️ Misc
The mod also includes compatibility handling for infinite armor values and infinite armor toughness, whose behavior can be configured via the config file named qed.json5.
The mod abbreviation “QED” stands for “Quite Enough Damage”, but can also stand for “Quod Erat Demonstrandum”, meaning “that which was to be demonstrated”.
常见问题
QED 支持哪些 Minecraft 版本?
QED 支持 Minecraft Java 版 1.20.1–1.21.11,共 4 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。
QED 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
huaijiujing 的其他作品
查看全部 →
Inexorable Origins
Resolve the conflict between Apugli and Spectrum in a violent way
Origins:Algorithmic Phantom
Origins enhancement mod
Depression-TianTian
Extends the Depression mod with more polish, configurability, and a developer API.
Lots of Harm Visualization
A stylish and highly customizable damage number display mod. See your damage like never before.
评论
登录后评论和评分