Fabric模组开发:如何制作类似Totem of Undying的物品及查找其实现逻辑
Minecraft Fabric 不死图腾逻辑位置说明
- 你搜索不到
TotemOfUndyingItem类是因为原版对不死图腾物品类的命名为TotemItem,完整类路径为net.minecraft.item.TotemItem,该类仅定义不死图腾的基础物品属性,比如堆叠上限、附魔兼容性等。 - 不死图腾的核心复活触发逻辑不在物品类中,而是位于
net.minecraft.entity.LivingEntity类的伤害处理方法(不同版本方法名可能为damage或applyDamage)的濒死判定分支下:
当实体受到致命伤害时,会优先遍历主手、副手物品栏,检查是否存在TotemItem实例,匹配成功则触发复活流程:清空当前所有负面效果、赋予生命恢复/防火/吸收状态效果、播放图腾激活的动画与音效,同时消耗1个对应物品。 - 如果你要开发自定义不死图腾类物品,有两种常用实现方案:
- 直接继承
TotemItem编写自定义物品类,按需重写对应方法即可,原版的濒死检查逻辑会自动识别TotemItem的子类,无需额外修改触发规则 - 若需要完全自定义触发逻辑,不希望继承原版类,可以监听
EntityDamageCallback或LivingEntityDeathCallback事件,将回调优先级设置为高于原版处理,在回调中自行实现复活判定和效果逻辑即可
- 直接继承
- 不死图腾激活的客户端动画、音效播放逻辑位于客户端侧的
EntityRenderer相关分支,需要自定义动画可对应修改客户端侧代码。
内容的提问来源于stack exchange,提问作者Toast
相关产品推荐
相关产品推荐

