TacZ Caliber Ammo 0.4.0 - MC 1.21.1 (neoforge)
Curse Maven Snippet
What's new
更新日志
[0.4.0] - 2026-08-05
新增
- 新增能力化兼容框架,将枪械模式解析、弹药准入策略和发射数量覆盖拆分为可独立注册的能力。
- 新增基础 TacZ 回退模块;未安装可选模组时继续使用原有的口径匹配、装填和发射逻辑。
- 新增 TacZ Arcana 兼容模块,已针对 Arcana 1.1.4 验证:
- 识别当前生效的主枪或下挂模式。
- 为主枪和下挂武器分别保存弹仓序列及膛内弹药状态。
- Arcana 切换逻辑弹药后,可装填同口径的 TacZ Caliber Ammo 弹种;未登记口径的逻辑弹药仍仅接受自身。
- 保留 Arcana 对动态弹丸数量的覆盖,避免被基础散弹丸数逻辑再次改写。
- 新增按稳定
ModeKey分区的弹药状态存储,数据统一保存在tacz_caliber_ammo:AmmoStates下。 - 新增平台侧模组存在性与版本查询,为后续接入更多可选模组提供统一入口。
改进
- 装填、卸弹、弹药箱匹配、弹药袋补弹、HUD 和发射流程统一通过兼容层解析当前枪械模式。
- 兼容能力按优先级和模块 ID 确定性排序;单个能力发生错误时仅禁用对应提供者,并继续尝试低优先级回退。
- 可选兼容模块通过类名延迟加载,避免未安装目标模组时提前解析其类。
- 调整发射阶段的 Mixin 注入方式,规避与 Arcana 等模组竞争同一
@Redirect目标。 - 旧版根级
LoadedSeq和BarrelAmmo数据会在主模式首次写入时自动迁移,无需手动处理已有枪械。
开发支持
- Forge 1.20.1 的
runClient和runServer新增可选参数-PwithArcana=true,用于附带 Arcana 及其运行库进行本地兼容测试。 - 完成 Arcana hybrid 发布包的开发环境处理,包括内层模组重映射、Transformation Service bootstrap、Kotlin for Forge 和私有 Jar-in-Jar 依赖。
- 修复 Mojmap 开发环境中 Arcana
KeyMappingaccessor 递归导致的客户端栈溢出。 - 为生成的 Arcana 运行库容器补充有效的
pack.mcmeta,消除无效 ResourcePackInfo 提示。 withArcana默认关闭,且不会改变普通构建、数据生成或 NeoForge 开发运行的依赖集合。
文档
- 新增兼容 API 文档,说明模块布局、能力契约、优先级、故障隔离、模式状态和可选依赖约束。
- README 新增 Arcana 可选客户端与服务端开发运行命令。
兼容性
- Arcana 不是必需依赖;未安装时兼容模块不会加载,基础 TacZ 行为保持可用。
- Arcana 1.1.4 为已验证版本。其他版本允许以降级模式加载,并会在日志中提示未经验证。
- 新的模式化 NBT 结构兼容旧版装弹数据,但升级后的独立下挂状态无法被旧版本识别。
验证
- Forge 1.20.1 客户端携带 Arcana 启动、资源重载及正常退出通过。
- Forge 1.20.1 服务端携带 Arcana 启动至
Done通过。 - Forge 1.20.1 与 NeoForge 1.21.1 常规构建通过。
This mod has no additional files

