• 欢迎加入MineBBS QQ讨论群:点击查看所有的官方讨论群
  • 我们将于近期对服务器进行迁移,服务可能中断至多2日。请各位安排好自己的访问计划,造成不便敬请谅解!
  • MineBBS入站考试已经上线!想要成为【正式会员】解锁更多功能吗?快来参与吧!【点我去看】
【1.20.1】WarZTacZBullet —— 专为TacZ设计/自定义子弹分级/ 甲弹对抗 / 真实伤情系统

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

请登录后获取
  • 新增 WarZDuelTimeTeamBridgeService:直伤落地前反射调用上面的 API 查询是否拦截
  • 两条直伤路径均已接入:CombatListener(Bukkit 事件路径)与 TacZBridgeListener(TacZ 桥接路径),拦截时取消事件/清零伤害,debug 模式下有日志
  • 未安装 WarZDuelTimeTeam 或对方是旧版(无此 API)时自动降级为原行为,零影响;启动时控制台显示联动状态
[MD] - 修复 Mohist/Forge `1.20.1` 下装填结束仍提示“TacZ 枪械子弹状态同步失败,已回滚本次装填”的问题。 - TacZ 状态提交现在优先调用 TacZ `1.1.8` 官方 `IGun` 接口,在同一个 NMS 枪械副本中一次写入并回读 `currentAmmo` 与 `bulletInBarrel`。 - 直接 NBT 兼容路径同时识别开发环境 Mojmap 名和生产环境 SRG 名,避免 `1.3.8` 的原子写入在 Mohist 上初始化失败后被静默禁用。 - 品阶弹序列化校验在 Bukkit `isSimilar` 不稳定时改用完整 NMS NBT 结构比较,不再把 NBT 完整的模组物品误判为损坏。 - 枪械提交后的插件状态校验直接比较原始 PDC 字段,尤其是原始品阶弹批次字符串,不再反序列化后重复使用 `isSimilar`。 - 装填扣弹改为只修改实际命中的弹药槽;提交失败时也只回滚这些槽,不再克隆并覆盖整个玩家库存或主手 TacZ 枪械。 - 新增限频诊断日志。若仍失败,控制台会输出 `[WTB-AMMO-LOAD]` 或 `[WTB-AMMO-SYNC]` 及明确失败码,便于一次定位。 [/MD]
[MD] - 修复 `1.3.7` 中品阶弹 NBT 已完整保留,但装填结束报“TacZ 机械子弹状态同步失败,已回滚本次装填”的问题。 - 根因是装填完成时依次调用桥接层写入 `currentAmmo` 和 `bulletInBarrel`;旧版桥接缺少第二个 setter,或 Mohist 在第一次 Bukkit `ItemMeta` 回写后无法继续识别 TacZ 枪械,都会让第二步失败。 - 新版本在同一个 NMS 枪械副本中一次写入 `GunCurrentAmmoCount` 与 `HasBulletInBarrel`,随后把完整的新枪物品放回玩家主手,不再经过两次有损回写。 - NMS 原子路径不可用时,旧桥接兼容路径只操作枪械克隆;任一步失败都会保留玩家原枪与原弹药,不会留下半同步机械状态。 - 提交前严格回读两个 TacZ 标签,并确认 GunId、枪实例 ID、插件装填数量、容量、消耗倍率、pending 状态和完整品阶批次均未丢失。 [/MD]
  • 完整保存 TacZ 子弹 NBT、Lore 和品阶,不再退成普通原版 TacZ 子弹。
  • 受管枪械换弹时取消 TacZ 原生换弹,避免重复退弹。
  • 修复扩容弹匣、创造模式、连发、切枪及重启时的弹药状态同步。
  • 默认取消 tacz:minigun 的弹匣托管;库存供弹枪不会再进入错误换弹流程。
  • 检测到本次异常产生的库存无品阶弹时,会按弹数缺口恢复原品阶批次。
  • 同步失败会回滚原枪,避免半写入、吞弹或复制。
[MD] ## 本次更新 - 修复带 Lore 的等级弹在中途换弹、退弹后被还原成普通 TacZ 子弹的问题。 - 枪内剩余子弹批次不再使用容易丢桥接物品信息的旧保存方式,改为更稳的二进制序列化。 - 现在保存到枪内状态的 TacZ 子弹,会尽量完整保留原物品的 Lore、显示名与 NBT。 [/MD]
[MD] ## 本次更新 - 修复 TacZ 子弹在 Bukkit / Mohist 桥接环境下可能被按单发返还的问题。 - 玩家执行 `/wtb unload` 卸弹时,现在会先合并同类弹药批次,再按兼容堆叠数量返还到背包。 - 已经写入枪内状态的历史碎片化子弹批次,也会在本次卸弹时自动整理,不再一格一发铺满背包。 - 对“刚调整过子弹等级 / 子弹配置,随后卸弹”这类容易混出多个同 AmmoId 批次的场景也做了兼容。 ## 行为说明 - 相同 TacZ 弹药物品、相同显示与 NBT 的批次会先合并,再统一返还。 - 若 Bukkit 侧把 TacZ 子弹错误识别为 `maxStackSize = 1`,插件会对该类弹药按兼容堆叠处理。 - 普通不可堆叠物品不受影响,仍按原行为返还。 [/MD]
  • 新增配置:combat.yml -> targets.protectCitizensNpcsFromDamage
  • 默认 true
  • 即使 targets.affectNonPlayerEntities: true,Citizens NPC 也不会吃本插件处理的 TacZ 子弹伤害
  • 训练人偶、普通生物、其他非玩家实体仍然继续按 affectNonPlayerEntities 参与测试结算
  • 同时拦了 TacZ Bridge 预伤害和 Bukkit 兜底伤害两条链路
  • Citizens 识别优先看 Citizens 插件写入的 NPC metadata,并带 tag / 类名兜底
需要给老配置手动加:
targets:
affectNonPlayerEntities: true
protectCitizensNpcsFromDamage: true
  • 新增 rules.autoMatchGunsByAmmoId 独立开关
  • 未写入 guns 的 TacZ 枪,可按枪包真实 ammo 字段自动匹配弹种
  • 例如枪使用 tacz:9mm,就自动读取 item.ammoId: "tacz:9mm" 的所有等级弹配置
  • 显式 guns 配置仍然优先,不影响原来的逐枪配置
  • GUI、R 键自动换弹、扣弹和命中结算都已接入这套逻辑
[MD] ## 本次更新 - 自定义弹种物品匹配新增 `item.loreContains` - 支持通过物品 Lore 识别同一 TacZ 弹药族下的不同服务器逻辑弹种 - `loreContains` 支持两种写法: - 单行字符串: `loreContains: "5级弹"` - 字符串列表: 多个条件需要全部在 Lore 中命中 - 匹配时会忽略 Minecraft 颜色码,适配带颜色的 Lore 文本 [/MD]
[MD] # WarZTacZBullet 1.3.1 ## 本次更新 - 修复 `m870`、`spas_12` 等 TacZ 脚本单发装填枪在服务端自定义装填流程中被错误“一次装满”的问题 - 单发装填枪现在会读取 TacZ 枪械脚本参数 - 按 `intro / loop / ending` 节奏逐发装填 - 空仓首发入膛与后续弹仓补弹分阶段处理 - 装填总时长会根据本次实际缺弹数量动态变化 - 普通弹匣枪仍保持原有整匣装填逻辑 - 不影响自动选择弹种 - 不影响同弹种续装 - 不影响带弹切换弹种 [/MD]
后退
顶部 底部