Vantage Tacz 兼容

一个 TaCZ 附属模组,为枪击添加了针对身体特定部位的伤口系统——头部创伤、流血、骨折——并配有止痛药系统来抑制症状。专为 Vantage: Zero 打造。

游戏机制

Vantage TaCZ Compat

一款全面性的模组,为 TaCZ 枪械模组添加了身体部位受伤、消耗品医疗系统、负重系统、耐力机制以及 AI 敌人——专为 Vantage: Zero 整合包打造。

核心功能

负重系统

  • 物品栏中的物品具有重量(千克);主物品栏和副手物品都会计入总重量
  • 三级状态:正常 → 负载(减速)→ 超载(严重减速 + 跳跃高度降低)
  • 可配置阈值(默认:负载 80 千克,超载 150 千克)
  • 负重上限提升效果可临时提高两个阈值
  • 独立护甲减速:穿着护甲会按其重量减速玩家(默认为重量的 80% 作为百分比),与负重系统叠加
  • 不同护甲材质具有不同重量:皮革 10 千克/套,铁 26 千克/套,下界合金 42 千克/套
  • 物品提示框显示重量;护甲额外显示红色“-X% 移动速度”

身体部位受伤系统

  • TaCZ 枪击命中根据命中位置判定——不使用 TaCZ 的 isHeadShot()
  • 7 个身体部位:头部、腹部、左臂、右臂、左腿、右腿
  • 4 种伤口效果:
    • 重伤(头部,20% 概率):最大生命值 -10%
    • 腹部伤口(腹部,20% 概率):最大生命值 -10%
    • 流血(手臂,30% 概率):每约 6 秒造成 1 点伤害,最多 4 层,生命值 ≤1 时停止
    • 骨折(腿部,20% 概率):每条腿 -15% 速度,双腿同时骨折 -30%
  • 所有伤口在治疗或死亡前持续存在
  • 坠落骨折:坠落高度 ≥5 个方块时触发,基础 50% + 每方块 10%

止痛药系统

  • 止痛药可抑制流血伤害和骨折减速效果(HUD 图标仍可见)
  • 抑制状态下骨折仍可叠加
  • 效果结束时:若存在重伤或腹部伤口,则产生恶心效果并播放尖叫声

消耗品医疗系统

  • 轮盘 UI(B 键):类似 ToolBelt 的径向选择器,自动汇总物品栏中的消耗品
  • 第一人称 3D 动画:模型跟随视角,带有摄像机抖动、玩家手臂和环境光照效果
  • 使用中 HUD:进度条 + 物品名称 + 剩余秒数 + 取消提示
  • 两种耐久模式:
    • proportional:按缺失生命值比例消耗耐久——适用于治疗物品
    • fixed:每次使用消耗 1 点耐久——适用于清除伤口的物品
  • 使用前检查:若生命值已满或没有匹配伤口则阻止使用,并显示反馈信息
  • 使用限制:使用期间无法切换快捷栏、打开物品栏、射击、丢弃或交换物品
  • 取消:按 R 键取消(HUD 显示按键提示,支持鼠标按钮图标)
  • 7 种默认消耗品:绷带、止痛药、兴奋剂、注射器、医疗包、止血带、M2 IM 注射器

新护甲机制(TaCZ 子弹伤害)

  • 子弹伤害根据 armor_ignore 分割:穿刺部分伤害生命值,非穿刺部分消耗身体部位护甲耐久
  • 护甲耐久耗尽但不会被摧毁——保护失效,用于修复
  • 消耗品可修复护甲,但会永久降低其最大耐久上限

耐力系统

  • 跑步消耗耐力,静止时恢复(有短暂延迟)
  • 耐力耗尽时进入疲劳状态——阻止跑步直至恢复
  • 跳跃消耗 10 点耐力,滑铲消耗 20 点耐力
  • 耐力恢复效果可瞬间恢复耐力
  • 原版饥饿值禁用(需要 HungerStrike)
  • 瞄准时取消跑步
  • 滑铲(V 键,默认禁用):跑步时滑铲,30 刻速度衰减,滑铲跳跃增强

玩家生命值

  • 基础生命 = 20 + 30 = 50 HP(25 颗心),可配置
  • 首次加入游戏和重生时完全恢复

HUD 覆盖层

  • 生命值:头像 + 生命条 + 百分比 + 4 个护甲耐久图标 + 氧气条
  • 耐力:快捷栏上方的耐力条,满时隐藏,低于 20 时变红
  • 状态效果:9×9 效果块,带有平滑进度填充
  • 消耗品使用:准星下方的进度条和信息

AI 敌人

  • 士兵:3 状态 AI(巡逻 → 警戒 → 战斗),随机冲锋枪,小队仇恨共享
  • 狙击手:固定不动,随机狙击步枪,3~6 秒射击间隔
  • 可配置 AI 参数和武器黑名单
  • 创造模式标签页中的刷怪蛋

按键绑定

按键 默认 功能
消耗品轮盘 B 打开消耗品选择轮盘
取消使用 R 取消正在使用的消耗品
滑铲 V 跑步时滑铲(若启用)

依赖项

模组 必需 备注
Forge 是 ≥46
Minecraft 是 1.20.1
TaCZ 是 ≥1.1.4
HungerStrike 是 禁用原版饥饿值
PlayerAnimator 否 滑铲动画(可选)
ParCool 否 兴奋剂效果(可选)

本地化

  • 英语(美国)
  • 简体中文

使用指南

安装

  1. 安装 Minecraft 1.20.1 + Forge 47.x
  2. 将以下模组放入 mods/ 文件夹:
    • TaCZ (≥1.1.4)
    • HungerStrike (≥8.0.0)
    • Vantage TaCZ Compat(本模组)
  3. 启动游戏

快速上手

1. 受伤与治疗

  • 被 TaCZ 武器击中后,根据命中位置可能获得不同伤口(头部重伤、腹部伤口、手臂流血、腿部骨折)
  • 按 B 键打开消耗品轮盘,选择合适物品:
    • 流血 → 使用止血带或绷带
    • 重伤 / 腹部伤口 / 骨折 → 使用绷带
    • 生命值低 → 使用医疗包或注射器
    • 需要持续战斗 → 使用止痛药(抑制效果)或兴奋剂(速度)
  • 您也可以使用止痛药临时抑制流血和骨折效果(注意反噬效果)

2. 负重管理

  • 打开物品栏,悬停在物品上查看其重量(千克)
  • 总重量超过 80 千克 → 负载(轻微减速)
  • 总重量超过 150 千克 → 超载(严重减速 + 跳跃高度降低)
  • 护甲重量不计入物品栏重量,但护甲独立减速玩家(更重的护甲减速更多)
  • 负重上限提升效果可临时提高阈值

3. 耐力管理

  • 跑步消耗耐力;耐力耗尽时,在恢复到 20 点以上之前无法跑步
  • 耐力条位于快捷栏上方;低于 20 时变红
  • 跳跃消耗 10 点耐力,滑铲消耗 20 点耐力

4. 消耗品使用流程

  1. 按 B 键打开轮盘
  2. 将鼠标移动到目标消耗品的扇区上(中心显示物品名称)
  3. 松开 B 键确认使用
  4. 使用期间:
    • 屏幕底部显示进度条和剩余时间
    • 玩家获得缓慢 II 效果
    • 禁用快捷栏切换、物品栏、射击和物品丢弃
    • 按 R 键取消(不消耗效果)
  5. 使用完成时,自动播放拔枪声音

配置

所有设置位于 config/vantagetaczcompat-common.toml。更改后需要重启游戏。主要部分:

负重

[Weight]
    weightMax = 200.0              # 最大负重上限
    heavyThreshold = 80.0          # 负载阈值
    overloadThreshold = 150.0      # 超载阈值
    armorSpeedPenaltyPerKg = 0.8   # 护甲减速系数(0.8 = 重量的 80%)
    overloadJumpReduction = 0.5    # 超载跳跃降低比例(0.5 = 高度降低 50%)
    weightLimitBoostAmount = 40.0  # 负重上限提升效果值
    # 物品重量覆盖,格式:mod:item,weight
    itemWeights = ["minecraft:iron_block,8.0", "minecraft:netherite_chestplate,16.0", ...]

伤口

[Damage Multipliers]
    headDamageMultiplier = 1.0       # 头部伤害倍率
    abdomenDamageMultiplier = 1.0    # 腹部伤害倍率
    limbDamageMultiplier = 0.3       # 四肢伤害倍率

[Bullet Wound Chances]
    headWoundChance = 0.20           # 头部 → 重伤概率
    abdomenWoundChance = 0.20        # 腹部 → 腹部伤口概率
    bleedingChance = 0.30            # 手臂 → 流血概率
    fractureChance = 0.20            # 腿部 → 骨折概率

[Fall Fracture]
    fallFractureChance = 0.50        # 基础骨折概率
    fallFractureMinDistance = 5.0    # 最小坠落高度
    fallFractureChancePerBlock = 0.10 # 每额外方块的骨折概率

耐力

[Stamina Values]
    staminaMax = 100.0            # 最大耐力
    staminaSprintDrain = 0.2      # 跑步每刻消耗
    staminaRegen = 0.3            # 静止每刻恢复
    staminaRegenDelay = 20        # 消耗后恢复延迟(刻)
    staminaJumpCost = 10.0        # 跳跃消耗
    staminaSlideCost = 20.0       # 滑铲消耗

消耗品使用

[Consumable Use]
    healIntervalTicks = 5          # 治疗循环间隔(刻)
    slowdownAmplifier = 1          # 减速效果等级(1 = 缓慢 II)
    slowdownExtraDuration = 20     # 动画结束后额外减速时间(刻)

新护甲机制

[New Armor Mechanic]
    enableNewArmorMechanic = true  # 开关
    armorDurabilityMultiplier = 4.0 # 非穿刺伤害 → 护甲耐久系数

自定义消耗品

本模组通过 TaCZ 扩展包机制加载消耗品。默认包位于 .minecraft/tacz/vtc_default_consumable/。

添加新消耗品

  1. 在扩展包目录中创建文件:

    vtc_default_consumable/
    └── assets/vantagetaczcompat/
        ├── consumable/my_item.json                  ← 定义文件
        ├── geo_models/consumable/my_item_geo.json   ← 3D 模型
        ├── animations/consumable/my_item.animation.json ← 使用动画
        └── textures/consumable/
            ├── model/my_item.png                    ← 3D 模型纹理
            └── slot/my_item.png                     ← 2D 物品栏图标
    
  2. 定义文件示例:

    {
      "name": "item.vantagetaczcompat.my_item",
      "model": "vantagetaczcompat:consumable/my_item_geo",
      "texture": "vantagetaczcompat:consumable/model/my_item",
      "slot_texture": "vantagetaczcompat:consumable/slot/my_item",
      "animation": "vantagetaczcompat:consumable/my_item_use",
      "animation_duration": 3.0,
      "heal_start_delay": 0.5,
      "durability": 4,
      "use_ticks": 60,
      "durability_mode": "fixed",
      "armor_repair_type": null,
      "armor_max_durability_reduction_percent": 0.0,
      "effects_to_apply": [
        { "id": "vantagetaczcompat:clear_wound", "duration": 1, "amplifier": 0 }
      ],
      "effects_to_remove": []
    }
    
  3. 在语言文件中添加翻译:

    { "item.vantagetaczcompat.my_item": "我的物品" }
    
  4. 按 F3+T 热重载资源——新消耗品将立即出现在创造模式标签页中

完整字段参考,请查看项目中的 docs/consumable_json_format.md。

自定义物品重量

在配置中添加 itemWeights 条目:

itemWeights = [
    "minecraft:iron_block,8.0",
    "mymod:my_item,15.5"
]

格式为 mod:item,weight。未列出的物品使用默认公式(基于堆叠比例)。

获取消耗品

打开创造模式物品栏,找到 Vantage TaCZ Compat 标签页。所有已加载的消耗品会动态显示。它们共享一个注册物品,通过 ConsumableId NBT 标签区分。

常见问题

问:消耗品不显示? 答:确保 .minecraft/tacz/vtc_default_consumable/ 存在且包含 consumable/ 目录。模组在首次启动时自动导出。如果缺失,删除该目录并重启以重新生成。

问:配置更改无效? 答:配置更改需要重启游戏。请注意,更改 gradle.properties 中的默认值不会自动更新现有的 toml 文件——要么删除 config/vantagetaczcompat-common.toml 以重新生成,要么直接编辑 toml 文件。

问:看不到第一人称动画? 答:确保您的主手为空或持有消耗品。消耗品模型会在使用期间自动隐藏武器并显示。

问:重新绑定按键后取消提示未更新? 答:HUD 会动态读取当前按键绑定并显示相应提示,包括鼠标按钮图标。更改会立即生效。

问:为什么护甲耐久为 0 时不会消失? 答:这是新护甲机制的设计。耐久为 0 的护甲失去保护效果,但会作为物品保留,为将来的修复消耗品做准备。

问:如何禁用滑铲? 答:在配置中将 enableSlide = false 设置(默认已禁用)。