跳到正文

Create Curios Fire Compat

作者:furryaxw

Fixes compatibility issues between the Create mod's Netherite Diving Suit and the Curios accessory system.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

English

Fixes compatibility issues between the Create mod’s Netherite Diving Suit and the Curios accessory system.
When the Netherite Backtank is equipped in a Curios back slot, the full-set fire immunity effect now works correctly.

Problem

Create tracks the Netherite Diving Suit through NetheriteDivingHandler using LivingEquipmentChangeEvent.
When all four armor pieces (helmet / backtank / leggings / boots) are detected, it writes the CreateFireImmune state to grant lava fire immunity.

However, changes in Curios back slots do not trigger vanilla armor equipment events. As a result, when the backtank is equipped through Curios:

  • The chest bit in CreateNetheriteDivingBits is not updated
  • Full-set fire immunity fails
  • Copper Backtank + Netherite Chestplate combinations do not consume air or display the lava breathing countdown UI

Solution

  1. Fire Immunity Bit Maintenance Listens to both CurioChangeEvent and LivingEquipmentChangeEvent (LOW priority), then recalculates the full equipment bitmask. Supports multiple Curios back slots.
  1. Copper Backtank Lava Breathing Patch At HIGH priority, temporarily applies the FIRE_RESISTANT tag to Copper Backtanks so Create’s native lava breathing logic executes normally (air consumption + UI updates). The tag is removed again at LOW priority.
  1. Client-side UI Sync Initializes on both client and server sides, with client-side fallback updates for VisualBacktankAir.

Detection Logic

| Slot | Condition | Bit |
| —– | —————————————————————————————————————————– | — |
| Head | DivingHelmetItem + FIRE_RESISTANT | 8 |
| Chest | Chest armor ArmorItem + FIRE_RESISTANT and (PRESSURIZED_AIR_SOURCES exists in chest slot or any Curios back slot) | 4 |
| Legs | ArmorItem + FIRE_RESISTANT | 2 |
| Feet | ArmorItem + FIRE_RESISTANT | 1 |


简体中文

修复 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 |

常见问题

Create Curios Fire Compat 支持哪些 Minecraft 版本?

Create Curios Fire Compat 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Create Curios Fire Compat 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

furryaxw 的其他作品

查看全部 →