跳到正文

magicenchant

作者:YiTuanNiJiang

添加全新的“魔法伤害”附魔,可将近战和远程武器的伤害类型转换为纯魔法伤害。

收藏

介绍

介绍由机器翻译自 CurseForge 原页面,仅供参考。

简介

Magic Damage 新增了一种名为“魔法伤害”的附魔。武器附上此附魔后,造成的所有伤害——无论来自近战攻击还是远程射击——都会转化为真正的魔法伤害,无视目标护甲。

附魔特性

附魔注册名为 magic_damage。它只有 1 级,且不是宝藏附魔。可以通过附魔台正常获得、在箱子战利品中找到,也可以与图书管理员村民交易获得。它使用自定义附魔类别,因此任何武器或工具都可以附上此附魔。兼容性检查始终返回真;它不会与其他附魔冲突。

机制

近战和远程攻击均生效:附魔武器的近战攻击,以及从该武器射出的箭(包括三叉戟)造成的伤害,都会转化为魔法伤害类型。远程弹射物在射出时就会记录并锁定附魔状态,避免之后切换武器造成行为不一致。

魔法伤害的效果:无视目标护甲、无法被盾牌格挡,并显示魔法伤害的死亡消息。由于原版魔法伤害不属于“绕过附魔”或“绕过抗性”标签,目标的保护附魔和抗性效果仍会降低此伤害。

实现方式

在 LivingEntity.hurt 的 HEAD 处使用 Mixin 和 @ModifyVariable,直接将 DamageSource 参数替换为 minecraft:magic。这种做法只替换参数,不会取消事件,也不会重新调用 hurt 方法。所有伤害判定照常进行,近战攻击的所有副作用都会完整保留:击退、横扫攻击、暴击、耐久损耗、附魔触发、伤害统计等。

兼容性

所有新增内容均使用独立命名空间,不会修改原版物品或附魔数据。无需调整加载顺序,可与其他模组安全共存。

包名 amassofmud 源自我的昵称“一团泥浆”。CurseForge 不接受这个昵称,所以我用它的拼音作为作者名。

功能简介
Magic Damage 新增了一种名为“魔法伤害”的附魔。武器附魔法术后,其造成的所有伤害——无论是近战攻击还是远程射击——都会转化为真正的魔法伤害,从而绕过目标的护甲。
附魔特性
附魔注册名为 magic_damage,仅 1 级,属于非宝藏附魔。
可在附魔台正常获得,也可在箱子与战利品中发现,并可由图书管理员交易获得。
采用自定义附魔类别,任何武器与工具都能附此魔法。
兼容性判定恒为真,不与任何其他附魔冲突。
机制说明
近战与远程攻击均生效:附魔武器的近战攻击,以及由其射出的箭(含三叉戟)造成的伤害都会转为魔法类型。
远程弹射物在射出的瞬间即被标记并固定附魔状态,避免之后更换武器导致判定不一致。
魔法伤害的实际表现:无视目标护甲、不能被盾牌格挡、死亡消息显示为魔法伤害。
由于原版魔法伤害类型不在“绕过附魔”与“绕过抗性”的标签中,目标的“保护”类附魔与“抗性提升”效果仍可对其减免。
技术实现
通过 Mixin 在 `LivingEntity.hurt` 方法入口(HEAD)使用 `@ModifyVariable` 直接把伤害来源(DamageSource)参数替换为 `minecraft:magic`。
该方案只替换参数,不取消事件、也不重新调用伤害方法,因此伤害判定正常返回,并完整保留近战的全部副作用:击退、横扫、暴击、耐久损耗、附魔触发与伤害统计等。
兼容性
新增内容均使用独立命名空间,不修改原版物品与附魔数据,无加载顺序要求,可与其他模组安全共存。

包名的amassofmud是我的昵称(一团泥浆),但是CurseForge不许这样的昵称通过,我只好使用拼音作为我自己的昵称了。

常见问题

magicenchant 支持哪些 Minecraft 版本?

magicenchant 支持 Minecraft Java 版 1.20.1,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。

magicenchant 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

YiTuanNiJiang 的其他作品

查看全部 →