【1.20.1】WarZTacZBullet —— 专为TacZ设计/自定义子弹分级/ 甲弹对抗 / 真实伤情系统

原创 付费 【1.20.1】WarZTacZBullet —— 专为TacZ设计/自定义子弹分级/ 甲弹对抗 / 真实伤情系统 1.4.0

请登录后获取
  • 新增完整卸弹支持:/wtb unload、/wtb ammo GUI 卸弹按钮、精确返还剩余真实子弹物品。
  • 优化枪内弹药存储:改为静态批次快照 + loaded_spent_units,开火不再每发重写批次 YAML。
  • 保留兼容策略:当前 tracked 枪自动升级到 v2,老旧无来源枪仍可开火但禁止精确卸弹。
  • 明确跨服前提:继续依赖物品自身 PDC/NBT 跟枪走,不引入数据库同步。
  • 新增 combat.yml -> damageApplication.bridgeFleshDamageMode
  • 支持 DIRECT_HEALTH 真伤模式,绕过原版护甲值、保护附魔、抗性和吸收心
  • 战斗消息渠道解析增加 chat 兜底
  • debug: true 时补充战斗消息加载和发送失败日志
  • 修复模组护甲旧 PDC 耐久异常,并补上自动修复逻辑
  • 新增 armorDisplay.syncDamageBarForZeroMaxDurabilityItems 开关
  • armor.yml 支持 material / customModelData / nameContains / loreContains
  • 弹种 GUI Lore 默认改为中文,并支持 custom_ammo.yml -> gui.iconLore 自定义
  • 战斗反馈支持 chat / actionbar / bossbar
  • 战斗消息新增 ${armorCurrentDurability} 和 ${armorMaxDurability}
  • 新增 /wtb debugarmor [玩家] 排障命令
  • 新增 combat.yml -> targets.affectNonPlayerEntities
  • 默认值为 false,现在默认只对玩家启用整套自定义战斗结算
  • 这套结算包含:
    • 子弹分级
    • 命中部位判定
    • 肉伤 / 甲伤改写
    • 护甲耐久联动
    • NPC 护甲复活恢复链路
  • 默认情况下,NPC / 生物将回到 TacZ 或原版默认伤害流程,不再参与上述自定义规则
  • 如果服主希望继续让 NPC / 生物按当前插件规则运行,只需手动开启 targets.affectNonPlayerEntities: true
  • 修复 NPC 穿 WarZNaiJiu 自定义耐久护甲时,被 TacZ 命中只掉原版耐久、不掉自定义耐久的问题。
  • naijiuBridge.customDurabilityArmorDamageMode 现在对已开启护甲耐久追踪的 NPC 也生效。
  • 修复部分 CustomNPC / Citizens 场景下,NPC 死亡复活后恢复不到原始护甲状态的问题。
  • NPC 复活恢复改为优先使用绑定的整件护甲快照,因此原版耐久条和 WarZNaiJiu 自定义耐久会一起恢复。
  • 补充 EntitySpawnEvent 兜底,提高不同 NPC 插件下的复活恢复命中率。
[MD] # WarZTacZBullet 1.1.8 ## 本次更新 - `preset.fleshReductionByGap` 现已支持 `exact` 精确差值覆盖 - 服主现在可以分别给 `-1`、`-2` 等不同越级场景配置不同肉伤减免 - 未配置 `exact` 的差值仍会自动回退到原来的 `lessThan0 / equal0 / equal1 / greaterOrEqual2` 四档规则 - 新增 `NPC 护甲复活恢复` 机制 - 已识别的 `CustomNPC / Citizens` 类 NPC 现在可以在战斗中正常碎甲 - NPC 死亡后,插件会尝试在其复活时自动恢复初始头盔与胸甲 ## 配置说明 ### 1. preset 精确差值覆盖 ```yml preset: fleshReductionByGap: lessThan0: 0.99 exact: "-1": 0.90 "-2": 0.96 ``` 说明: - `exact` 的 key 直接写 `gap = bulletLevel - armorLevel` - 已配置的 `gap` 会优先命中 - 没配到的 `gap` 继续沿用旧版分档规则 ### 2. NPC 破甲后复活恢复 ```yml armorDurability: affectNonPlayerEntities: true protectDetectedNpcs: enabled: false restoreDetectedNpcsOnRespawn: enabled: true matchRadius: 8.0 scanIntervalTicks: 20 watchDurationSeconds: 120 ``` 说明: - 默认推荐模式已经改为“NPC 可碎甲,但复活自动恢复” - 若你想回到旧版“NPC 永远不碎甲”,可手动开启 `protectDetectedNpcs.enabled: true` - `detectedNpcClassNameKeywords` 可用于补充你服务器上的 NPC 包装类关键字 ## 兼容性说明 - 未配置 `preset.fleshReductionByGap.exact` 的服务器,升级后原有数值逻辑不变 - NPC 护甲恢复仅作用于已识别的 NPC 实体 - 当前自动恢复范围为插件实际处理的两件护甲: - 头盔 - 胸甲 - 已被旧版本打掉且没有建立过快照的 NPC,首次升级后需要手动重新穿一次护甲作为恢复基线 ## 建议 - 替换为 `WarZTacZBullet-1.1.8.jar` - 更新后建议完整重启服务器 - 建议重点复测以下场景: - `4弹打6甲`、`5弹打6甲` 是否正确命中各自 `exact` 减伤 - `CustomNPC / Citizens` 护甲被打碎后是否能在复活时自动恢复 - 若 NPC 复活点偏移较大,确认 `restoreDetectedNpcsOnRespawn.matchRadius` 是否足够 [/MD]
  • 新增“护甲耐久归 1 行为模式”配置,支持 UNEQUIP 和 KEEP_NO_PROTECTION
  • 默认兼容旧配置,旧服不加新选项时保持旧版自动脱甲逻辑
  • WarZTacZBullet 已同步读取并执行该模式,避免联动时语义跑偏
  • WarZNaiJiu 启动/卸载消息、语言前缀、命令提示整体美化重做
- 新增 `naijiuBridge.customDurabilityArmorDamageMode`,允许服主自行选择 `WarZNaiJiu` 自定义护甲的甲伤来源
- 可选 `WARZNAIJIU` 模式,继续优先读取 `WarZNaiJiu` 的 `PROJECTILE / armor` 配置
- 可选 `WARZ_TACZ_BULLET` 模式,改为直接使用 `WarZTacZBullet` 按弹甲公式计算出的 `armorDamage`
- 默认值保持为 `WARZNAIJIU`,升级后不会直接改变线上旧服的护甲耐久数值
  • 修复安装扩容弹夹后,插件仍按原始容量判定“弹匣已满”的问题。
  • 装填容量现在优先读取 TacZ 当前枪械物品实例的真实容量。
  • magCapacityOverride: 0 现在会正确跟随当前枪械容量变化,包括扩容弹夹。
  • 成功读取真实容量后,会刷新枪物品上的 mag_capacity 缓存,减少后续判定偏差。
增加展示弹药材质配置功能。
后退
顶部 底部