CNPC TaCZ Fire

CNPC TaCZ Fire

这是Dochi的战争,一个提供广泛自定义选项来构建FPS地图和创建服务器的模组。

Dochi's Warfare

一个面向地图制作者、服务器创建者和遭遇战设计者的FPS/RPG创作工具包。

该项目最初名为 CNPC TACZ Fire,是一个专注于让CustomNPCs的NPC使用真实TACZ枪械战斗的附属模组。从 0.2.4 版本开始,该模组将更名为 Dochi's Warfare,以反映其更广泛的发展方向。

现有的枪械NPC系统仍将是该模组的重要组成部分,但项目将不再仅由CustomNPCs或TACZ集成来定义。其长期目标是成为一个可配置的工具包,用于构建FPS和FPS/RPG地图、遭遇战和服务器。

当前版本:0.2.3 — CNPC TACZ Fire
从0.2.4版本开始 — Dochi's Warfare

以下部分描述了0.2.3版本中当前可用的系统。编辑器物品、配置文件和相关内部系统的名称可能会保留现有的 CTF 或 cnpc_tacz_fire 标识符,直到在后续更新中迁移。

开发路线图

Dochi's Warfare将扩展到能够使用枪械的NPC之外,发展成为一个更广泛的FPS/RPG创作工具包。以下领域定义了当前的长期路线图。

1. 战场设计与交互方块

该模组将提供工具,将普通的Minecraft方块转变为适用于FPS地图和服务器的特殊游戏对象。

计划中的概念包括:

  • 将普通方块转换为可配置的诱杀陷阱方块
  • 为普通门添加密码或访问代码系统
  • 为其他普通方块分配特殊游戏功能
  • 扩展用于遭遇战、目标和地图交互的可配置战场设计工具范围

目标是让创作者能够构建交互式FPS环境,而无需为每个游戏功能都配备一个单独的自定义方块。

2. 载具模组集成

Dochi's Warfare将探索与适合FPS游戏玩法的载具模组的兼容性。

计划调查的领域包括:

  • 与多个FPS相关载具模组的集成
  • 为受支持的载具提供可配置的AI行为
  • 将NPC行为与载具系统连接
  • 在可行的情况下,允许NPC使用、搭乘、操作或以其他方式与受支持的载具交互

载具兼容性将针对每个受支持的模组单独实现,并取决于每个载具模组提供的API和实体结构。

3. 多枪械模组支持

枪械系统将不再专门围绕TACZ设计。

计划中的集成包括:

  • TACZ
  • Point Blank
  • Superb Warfare
  • 在技术上可行的情况下集成其他枪械模组

长期目标是为NPC战斗和配置提供一个共享框架,该框架可与来自多个受支持模组的枪械配合使用。TACZ将继续受支持,但项目架构将逐渐摆脱仅限单一枪械模组的限制。

这些路线图项目描述了预期的发展方向。它们不保证每个功能或兼容层都将在0.2.4版本本身中完成。

每NPC配置

在CustomNPCs的NPC上使用 CTF Npc Core 编辑器物品,打开其枪械配置界面。

编辑器提供以下专用页面:

  • 该NPC有效战斗设置的只读 Overview
  • 明确的原生、固定或随机范围RPM模式
  • 固定精度或移动玩家精度渐变
  • 射程、随机长度点射、压制火力和射击后警戒
  • 常规和高级姿态策略
  • 视觉侦测、近距离侦测、听觉、阵营防御和空闲行为
  • 换弹规则、虚拟弹药、弹药耗尽后备和自动重新武装
  • TACZ枪械和近战武器选择
  • Better Combat兼容性和有效武器速度行为
  • 随机武器、皮肤和护甲池
  • 目标实体、阵营和计分板标签规则
  • 警报图标、声音、语音文本和可选手榴弹
  • 每NPC实验性掩体触发、时机、搜索限制和窥视行为
  • 用于空闲、战斗、移动、换弹、近战和手榴弹动作的内置或自定义姿态映射

顶栏将 Save、Close、Load 和 Save As 与帮助工具及 TACZ Fire NPC Mode 开关分开分组。长配置页面包含 Quick View 导航、上下文帮助以及同时显示所选皮肤模型、护甲和武器的NPC预览。

快速构建和战斗预设

当您希望编辑器通过引导式问题来组合战斗行为时,请使用 Easy Build。

  • Beginner 询问关于空闲行为、移动、射程、反应、开火和生存的七个宽泛问题
  • Intermediate 提供关于感知、交战、重新定位、火力控制、精度渐变、压制、掩体和弹药后备的分组选择
  • Expert 提供详细的距离、时机、速度、点射、压制和掩体数值
  • 在应用之前,审查界面会总结结果并警告冲突的选择
  • 生成的设置在常规编辑器中仍然可以完全编辑

Presets 应用五种现成的战斗战术之一:

  • 卫兵步枪手
  • 巡逻兵
  • 突击兵
  • 支援机枪手
  • 狙击手

Easy Build和预设会保留NPC已选择的武器、护甲、皮肤、目标、阵营、手榴弹、战斗特效、雇佣合同和当前虚拟弹药库存。

真实TACZ枪械战斗

NPC使用真实的TACZ枪械物品,而非模拟弹道或装饰性的远程攻击。

  • 原生TACZ开火和换弹状态
  • 一次仅一个明确的RPM来源:原生TACZ、固定值或随机范围
  • 固定或随机长度点射
  • 固定精度或移动玩家精度渐变,可独立配置常规和高级行为
  • 最大交战距离和最终视线检查
  • 原生TACZ子弹伤害或固定的每NPC远程伤害
  • TACZ枪械堆叠和弹匣状态处理
  • 根据距离或策略进行远程和近战武器切换
  • 可选的压制火力,瞄准NPC最后实际看到的位置
  • 可配置的射击后警戒,使NPC在压制结束后保持瞄准状态,而不消耗弹药

最终的可见性检查可防止NPC直接穿透掩体射击。短暂的交战记忆可防止NPC在目标短暂脱离视线后立即放弃活目标,而压制火力永远不会追踪隐藏目标的当前位置。精度渐变仅在可见玩家在其配置的范围内移动时推进,并在目标或活跃战斗档案更改时重置。

战术移动、掩体和巡逻

创建固定守卫、推进小队、防御射手、漫游巡逻队等。

战斗移动包括:

  • 坚守、分散、密集、推进和撤退战术模式
  • 坚守位置、接近距离和撤退距离交战规则
  • 移动射击、撤退射击和保持距离射击
  • 可配置的战斗速度、移动步数和友军间距
  • 固定或随机的战术重新定位间隔
  • 近战路径受阻侦测、移动目标路径刷新和分阶段接近重试
  • 自动水平分离,并在高度使近战目标无法触及自身时返回远程战斗

实验性的每NPC掩体包括:

  • 换弹、重伤、低生命值、连续受击或破片手榴弹威胁时寻找掩体
  • 有界的搜索半径和寻路工作
  • 可配置的掩体移动速度、保持时间、冷却时间和最大持续时间
  • 经过几何验证的窥视位置和可配置的窥视循环限制
  • 当有效的掩体路线被中断时快速恢复路径

全局 experimentalCover.enabled 设置和NPC自身的 Enable Cover 设置都必须允许掩体行为。

空闲移动包括:

  • 静止
  • 区域巡逻
  • 仅返回
  • 路线巡逻,使用直接坐标列表或自动路线
  • 可配置的巡逻速度和等待时间

巡逻使用A*寻路,保持有效路径活跃,绕过阻挡地形,解析附近可站立地面,并在有限次重试后跳过无法到达的路点,而不是持续撞墙。

感知、听觉和阵营防御

构建能够根据距离、方向、声音、伤害和阵营关系做出不同反应的守卫。

  • 侦测距离和水平侦测角度
  • 确认战斗前的可配置延迟
  • 即时正面角度反应
  • 可选的 Close Detection,在近距离忽略正常角度
  • 空闲视觉扫描、伤害警报和最后位置记忆
  • 声音调查模式:关闭、仅查看和移动到声源
  • TACZ枪声、TACZ换弹声、方块破坏和方块放置的独立听觉范围
  • 可选的阵营防御警报,呼叫附近同阵营的TACZ Fire NPC寻求援助

声音侦测会对玩家的明确行为做出反应。创造模式和旁观者模式的玩家不会为受管NPC产生听觉刺激,并且每个听觉范围都受NPC配置的侦测距离限制。

当受管CustomNPCs NPC的显式 Targets 列表为空时,它仍然可以获取真正阵营敌对的CustomNPCs NPC或玩家作为目标。空列表不会使被动或不相关的实体成为有效目标。

姿态和战斗策略

选择简单姿态或创建条件战斗角色。

  • Idle、Ranged、Melee、Auto 和 Auto Hidden
  • 基于NPC生命值、目标实体ID、目标阵营或目标标签的高级规则
  • 适用于应在目标存在前激活的行为的、与目标无关的 Always 和生命值规则
  • 当高级规则不匹配时的可选常规后备
  • 空手近战支持
  • 每NPC Better Combat兼容性开关
  • 当Better Combat和Mob Player Animator可用时,播放真实的Better Combat武器动画
  • 当动画集成不可用时,回退到原版主手挥动
  • 基于武器或固定的近战伤害
  • 基于武器或固定的近战击退
  • 当Better Combat兼容性禁用时,基于武器或固定的近战攻击速度
  • 当Better Combat兼容性启用时,基于手持物品有效 ATTACK_SPEED 的时机

受管近战攻击遵循所选的CNPC TACZ Fire策略,而不会被CustomNPCs的默认近战伤害覆盖。Better Combat和TACZ动作来自其真实集成;该附属模组不会模仿缺失的内置动画。

弹药和换弹系统

NPC的备用弹药作为附属模组数据进行管理,使其既适用于无限守卫,也适用于基于资源的遭遇战。

  • 无限或有限的 Ammo Stock
  • 最大备用库存和定时恢复
  • TACZ原生或自定义换弹时长
  • 换弹移动速度控制
  • 空仓时正常换弹
  • 在成功射击选定次数后固定强制换弹
  • 在配置范围内随机强制换弹阈值
  • 当已装填弹药和备用弹药均耗尽时的可选近战或徒手后备
  • 当枪械战斗再次可用时,稳定自动返回远程武器
  • 耗尽的NPC在持续丢失目标后,可选延迟满弹匣重新武装

NPC不得在副手持有TACZ弹药或弹匣物品。换弹通过 Ammo Stock、换弹状态和TACZ枪械堆叠状态进行管理。

自动重新武装使用TACZ换弹状态,绝不会生成物理弹药或弹匣物品。重新获取目标会取消待处理的丢失目标重新武装。

目标和遭遇战规则

精确控制每个枪械NPC被允许攻击的目标。

  • 实体注册表ID选择
  • 搜索、选中/未选中视图、实体类型过滤器和模组过滤器
  • 必需和拒绝的计分板标签
  • 通过必需标签实现可选的同阵营目标锁定
  • 高级目标阵营、标签和实体条件
  • CustomNPCs阵营敌对继承
  • 用于完整NPC战斗设置档案的 Load 和 Save As

这支持普通敌对守卫、阵营战斗、仅事件目标、Boss阶段和脚本化遭遇战标签,而无需更改世界中的每个CustomNPCs NPC。

武器、皮肤和护甲池

在受支持的初始化事件运行时,随机化NPC装备和外观。

  • 加权的TACZ枪械池
  • 加权的近战武器池
  • 使用CustomNPCs纹理路径的加权皮肤池
  • 为每个皮肤条目显式选择Steve或Alex模型
  • 使用真实头、胸、腿和脚槽位的加权全套护甲
  • 用于加权装备和外观池的内联概率编辑和均衡化
  • 针对NPC初始化、重生、克隆恢复、魂石恢复和受支持的区块加载流程等事件的池抽取

CNPC TACZ Fire使用提供的皮肤纹理,不会替换或修正它。克隆和魂石模板生成会在其NBT恢复后初始化一次,而不会将普通的区块加载视为新的生成。

雇佣合同和命令HUD

将选定的TACZ Fire NPC转变为服务器权威的、可雇佣的佣兵。

创作者在创造模式中使用单独的 CTF Mercenary Core 编辑器物品来配置:

  • NPC是否可供雇佣
  • 雇佣物品ID和数量
  • 合同持续时间
  • 召唤和召回施法时间
  • 所有者攻击后的阵营敌对响应
  • 独立的自动合同中断阈值
  • 所有者被击中重置窗口

玩家可以在确认雇佣前查看确切条款。每个玩家最多可以维持五个活跃的雇佣合同。

按住默认的 J 键打开运行时命令HUD。命令包括:

  • 跟随、前/后编队、保持位置和重新集结
  • 停火和自由开火
  • 防御性和侵略性姿态
  • 召唤和召回
  • 基于选择或所有佣兵的命令
  • 带确认且不退还的合同解除

已存储和正在召唤的佣兵会暂停其合同计时器;已部署和正在召回的佣兵继续消耗活跃合同时间。HUD报告合同状态、剩余时间、移动/开火/姿态模式以及所有者被击中阈值。

相反的命令共享状态感知按钮。跟随/保持、前/后编队、防御/进攻、自由开火/停火以及召唤/召回会根据所选佣兵的当前状态而变化。当命令待处理时,命令保持视觉活跃状态,但额外的输入会被锁定,直到该命令完成。

姿态编辑器和动作映射

在创造模式中使用 CTF Pose Core 为 Steve/Alex CustomNPCs玩家模型创建可复用的姿态。

  • 按轴编辑头部、身体、手臂和腿部
  • 保持选定的轴由普通动画控制,或用自定义值覆盖它们
  • 调整TACZ枪械的位置、旋转和缩放
  • 为所有枪械存储一个后备变换,或为NPC当前枪械存储一个单独的变换
  • 从低姿戒备或高姿戒备开始,然后保存可复用的JSON档案
  • 在应用之前预览站立和行走姿态

CTF Npc Core 中的 Pose 页面将内置或已保存的姿态映射到空闲站立、空闲行走、警戒、战斗瞄准、开火、移动射击、战术推进、撤退、换弹、武器切换、近战和手榴弹动作。当您不想使用自定义覆盖时,TACZ Default 会将瞄准、开火和换弹动作交还给TACZ处理。

战斗反馈和可选手榴弹

当NPC变得可疑或进入战斗时,为玩家提供清晰的反馈。

  • 视觉警报图标
  • 可配置的侦测事件和射击事件声音
  • 可选的侦测和射击语音文本
  • 编辑器内的声音预览
  • 带有物品预览的可选手榴弹选择
  • 手榴弹投掷距离、目标搜索半径、生命值触发、冷却、引信、威力和投掷角度控制
  • 可选的实验性掩体响应,以应对附近的LR Tactical破片手榴弹

投掷手榴弹需要兼容的可投掷内容,并且仍然是可选的。手榴弹威胁掩体仅追踪破片手榴弹;烟雾弹和闪光弹被排除在外。

需求

  • Minecraft 1.20.1
  • Forge 47 或更新版本
  • TACZ 1.1.8 或更新版本
  • CustomNPCs 1.20.1 或更新版本,用于NPC创建和配置工作流程

可选集成:

  • playerAnimator
  • Better Combat
  • Mob Player Animator,用于在NPC上播放真实的 Better Combat 武器动画
  • 兼容的可投掷内容,用于手榴弹行为
  • LR Tactical,用于破片手榴弹威胁掩体

在常规模组多人游戏环境中,请在客户端和服务器端均安装 CNPC TACZ Fire。

快速开始

  1. 在测试世界中创建一个CustomNPCs NPC。
  2. 进入创造模式并获取 CTF Npc Core。
  3. 使用编辑器物品右键点击NPC。
  4. 启用 TACZ Fire NPC Mode 和 Enabled。
  5. 在 Gun 中选择一把真实的TACZ枪械。
  6. 从 Easy Build、一个战斗预设或一个简单的 Ranged/Auto 姿态配合 Ammo Stock: -1 开始。
  7. 保存并在开阔区域对一个可见目标进行测试。
  8. 在基础开火循环正常工作后,添加移动、有限弹药、高级目标、池、特效、掩体、手榴弹或雇佣条款。

配置和数据

每NPC GUI是主要的设置路径。全局默认值生成于:

config/cnpc_tacz_fire-common.toml

NPC设置档案存储于:

config/cnpc_tacz_fire/target_entities/

档案包含完整的TACZ Fire战斗设置,而不仅仅是目标列表,因此 Save As 可以存储一个NPC的设置,而 Load 可以将其应用于另一个NPC。

可复用的姿态档案存储于:

config/cnpc_tacz_fire/poses/

脚本和持久的CustomNPCs数据仍然可用于高级遭遇战逻辑,包括战斗控制、姿态、移动、弹药、换弹、射程、RPM和TACZ枪械查询。

特别感谢

  • Flowdrei
  • Im_a_scrub335

社区

Discord: https://discord.gg/ryvWyRkr4c