创建Curios Fire兼容

修复了机械动力Mod的下界合金潜水服与Curios饰品系统之间的兼容性问题。

工具

简体中文

修复 Create 模组的下界合金潜水套装与 Curios 饰品栏的兼容问题。

问题

Create 通过 NetheriteDivingHandler 监听 LivingEquipmentChangeEvent 追踪四件套(头盔/背罐/护腿/靴子),凑齐后写入 CreateFireImmune 实现火免。

但 Curios 的 back 饰品槽变化不触发原版护甲栏事件,导致背罐放入 Curios 背槽时:

  • CreateNetheriteDivingBits NBT 胸部比特位不更新
  • 满套火免失效
  • 铜背罐 + 下界合金胸甲组合在岩浆中不消耗空气、不显示倒计时 UI

解决方案

  1. 火免比特位维护 — 监听 CurioChangeEvent + LivingEquipmentChangeEvent(LOW),重新计算全套比特位,支持 Curios 多个 back 槽
  2. 铜背罐岩浆呼吸补丁 — HIGH 优先级临时给铜背罐打 FIRE_RESISTANT 标记,欺骗 Create 原生逻辑完整跑完(空气消耗 + UI 更新),LOW 优先级清理标记
  3. 客户端 UI — 双端初始化,客户端兜底写入 VisualBacktankAir

判定逻辑

槽位 条件 bit
头 DivingHelmetItem + FIRE_RESISTANT 8
胸 胸甲栏 ArmorItem + FIRE_RESISTANT 且 (胸甲栏或任意 Curios back 槽有 PRESSURIZED_AIR_SOURCES) 4
腿 ArmorItem + FIRE_RESISTANT 2
脚 ArmorItem + FIRE_RESISTANT 1