CNPC+ 生命条插件

CNPC+ 生命条插件

适用于Minecraft 1.7.10中CustomNPC+ NPC的可配置、阵营感知血量条。

CNPC+ 血条扩展模组

一个为 Minecraft 1.7.10 的 CustomNPC+ 专门设计的可自定义血条扩展模组。

它增加了精美的世界空间 NPC 血条、派系默认设置、单个 NPC 覆盖、自定义 Boss 血条、流畅的战斗反馈、护盾、Boss 阶段、同名血条链接、客户端布局控制以及一个公共脚本 API。


功能特性

  • 在 CustomNPC+ NPC 上方显示血条。
  • 主要世界血条显示模式:
    • 派系
    • 显示
    • 隐藏
    • 受击时显示
  • 基于派系的血条配置。
  • 完整的 单个 NPC 血条编辑器,支持基于属性的覆盖。
  • 未更改的单个 NPC 属性可以继续继承自该 NPC 的派系。
  • 生命值颜色 可以使用派系调色板,或使用完全独立的 自定义 调色板。
  • 当启用 生命值颜色:自定义 时,NPC 的自定义调色板优先于派系颜色。
  • 血条链接:同名 可以同步具有完全相同显示名称的 NPC 的血条配置。
  • NPC 类别:
    • 普通
    • 精英
    • 小 Boss
    • Boss 兼容快捷键,用于脚本化的自定义 Boss 血条。
  • 两种视觉样式:
    • 默认
    • 现代
  • 生命值文本直接显示在血条内。
  • 生命值文本模式:
    • 百分比
    • 当前生命值
    • 当前 / 最大生命值
  • 可自定义的 生命值文本颜色。
  • 可调整的缩放和垂直位置。
  • 可配置的最大渲染距离和距离淡出。
  • 平滑伤害尾迹。
  • 平滑治疗动画。
  • 平滑、插值的受击闪烁。
  • 大额伤害反馈。
  • 护盾显示,带有平滑延迟的护盾损失尾迹。
  • 多种颜色预设和完全可自定义的 RGB 颜色。
  • 更丰富的仅渲染器颜色处理,同时保留已保存的配置 RGB 值。

样式

世界 / NPC 血条支持两种视觉样式:

  • 默认 — 经典的血条呈现方式。
  • 现代 — 更简洁、更轻盈的视觉效果,带有紧凑的轮廓和减少的厚重背景。

颜色自定义

血条可以为以下部分设置不同的颜色:

  • 生命值
  • 伤害尾迹
  • 治疗
  • 背景
  • 边框
  • 护盾
  • 生命值文本

可用的预设包括:

  • 经典绿色
  • 绯红
  • 血色
  • 蔚蓝
  • 奥术紫
  • 剧毒
  • 金色
  • 寒冰
  • 暗黑
  • 亡灵
  • 自定义 RGB

生命值颜色优先级

单个 NPC 的颜色模式可以是:

  • 派系 — 使用 NPC 派系调色板。
  • 自定义 — 使用 NPC 自己保存的调色板。

启用 自定义 后,派系颜色将不会替换 NPC 的主色、伤害尾迹、治疗、背景、边框、护盾或生命值文本颜色。

不相关的血条设置仍可正常从派系继承。


血条链接 — 同名

血条链接 可以直接在 NPC 显示面板中启用。

可用的模式:

  • 关闭
  • 同名

当启用 同名 时:

  • 同一世界中具有完全相同显示名称的现有 NPC 将接收到链接的血条配置。
  • 稍后加载的匹配 NPC 可以自动继承链接的配置文件。
  • 链接的生命值调色板将作为 自定义 同步,使用源 NPC 的颜色。
  • 由扩展模组存储的世界血条和 Boss 血条配置可以作为链接配置文件的一部分共享。
  • 诸如当前护盾吸收量或当前 Boss 阶段等运行时战斗状态,仍然是脚本/游戏状态,而非链接的配置。

这对于重复的敌人、守卫、克隆体、遭遇变体或任何应始终使用相同血条呈现方式的 NPC 组非常有用。


Boss 血条

该扩展模组扩展了现有的 CustomNPC+ Boss 血条 系统,支持 Minecraft 风格和完全自定义的 Boss 血条。

可用的 Boss 血条模式:

  • 派系
  • 隐藏
  • 显示
  • 攻击时显示
  • 自定义

Minecraft 风格 Boss 血条

原始的 Minecraft 风格 Boss 血条可以被重新着色,而非总是使用紫色。

可用的颜色包括:

  • 紫色
  • 绯红
  • 绿色
  • 蓝色
  • 金色
  • 白色
  • 自定义 RGB

自定义 Boss 血条

自定义 Boss 血条支持:

  • 独立的可见性模式:
    • 派系
    • 始终
    • 受击时
    • 瞄准时
    • 攻击时
  • 自定义宽度和高度。
  • 可调整的屏幕 Y 轴位置。
  • 生命值文本。
  • 完整或紧凑的 K/M 生命值数字格式。
  • Boss 名称显示在血条上方或下方。
  • 平滑伤害尾迹。
  • 治疗动画。
  • 平滑受击闪烁和大额伤害脉冲。
  • 护盾。
  • 护盾布局:
    • 关闭
    • 下方
    • 覆盖
  • Boss 阶段。
  • 颜色预设和完全自定义的 RGB 颜色。
  • 针对非常大的生命池的自动高生命值分段。
  • 近期伤害位置标记,提供更清晰的战斗反馈。

护盾

NPC 和 Boss 可以显示一个次要的护盾值。

护盾可以通过脚本 API 控制,允许创作者构建自己的:

  • 护盾吸收系统。
  • 再生护盾。
  • 护盾破裂。
  • 临时免疫。
  • 基于阶段的护盾。

护盾损失也可以使用与生命值伤害相同的平滑延迟尾迹行为。

扩展模组显示护盾状态;实际的伤害吸收仍由你的 NPC 脚本控制。


Boss 阶段

Boss 血条可以在脚本化遭遇战中动态变化。

Boss 阶段可以修改或显示:

  • 当前阶段。
  • 总阶段数。
  • 阶段名称。
  • Boss 血条颜色。
  • 护盾状态。
  • 视觉反馈。

将此功能与常规的 CustomNPC+ 脚本结合使用,可以创建变形、新攻击、AI 变更以及多阶段 Boss 战。


平滑动画与视觉反馈

伤害和治疗过渡使用渲染时插值进行评估,而非仅依赖 Minecraft 正常的 20 TPS 视觉步进。

包括:

  • 平滑延迟伤害。
  • 平滑护盾损失尾迹。
  • 平滑治疗。
  • 插值受击闪烁。
  • 调色板感知的受击反馈。
  • 治疗高亮。
  • 大额伤害脉冲。
  • 自定义 Boss 血条的近期伤害标记。

生命值填充也获得了仅渲染器的颜色优化,使颜色看起来更丰富,而不会更改 NPC 或预设中保存的 RGB 值。


客户端配置

额外的客户端布局和渲染器选项存储在:

config/CNPC-Health-Bars-Addon-client.properties

可配置的选项包括:

  • 世界/NPC 生命值文本缩放。
  • 世界/NPC 生命值文本 X/Y 偏移。
  • 世界/NPC 生命值文本颜色。
  • 自定义 Boss 血条生命值文本缩放。
  • 自定义 Boss 血条生命值文本 X/Y 偏移。
  • 自定义 Boss 血条生命值文本颜色。
  • Boss NPC 名称缩放。
  • Boss NPC 名称 X/Y 偏移。
  • Boss NPC 名称颜色。
  • Boss NPC 名称阴影。
  • 着色器安全模式。
  • 高生命值分段启用/禁用。
  • 每段表示的生命值。
  • 最大分段数量。
  • 近期伤害标记启用/禁用。

当扩展模组重写或补全配置文件时,现有属性值会被保留。


脚本 API

为 CustomNPC+ JavaScript / Nashorn 脚本 包含了一个公共脚本 API。

推荐的入口点:

var HealthBars = Java.type("com.dad.npchealthbars.api.HealthBars");

它可以控制:

  • 世界空间血条。
  • 可见性。
  • 类别。
  • 缩放和垂直位置。
  • 样式。
  • 生命值文本。
  • 渲染距离和淡出。
  • 伤害/治疗反馈。
  • 护盾。
  • Boss 阶段。
  • 自定义 Boss 血条。
  • Boss 可见性和布局。
  • Boss 护盾布局。
  • 单个 NPC 颜色。
  • Boss 血条颜色。
  • Minecraft 风格 Boss 血条颜色。
  • 血条链接 / 同名 行为。
  • 重置 / 继承行为。

链接配置文件的方法包括:

HealthBars.setLinkedByName(npc, true);
HealthBars.isLinkedByName(npc);
HealthBars.refreshLinked(npc);

旧的 BossBarAPI 仍然可用,以向后兼容旧脚本。

完整的 API 文档可另行获取。

点击此处查看完整的脚本 API 文档


性能与兼容性

专为 NPC 密集型地图和模组化的 1.7.10 客户端设计。

功能包括:

  • 基于事件驱动的 NPC 缓存,而非每隔几刻重复扫描整个已加载实体列表。
  • 当 NPC 死亡或卸载时进行缓存/状态清理。
  • 切换世界/维度或断开连接时进行完整的渲染器状态清理。
  • 距离检查和陈旧 NPC 修剪。
  • 缓存的配置数据。
  • 减少不必要的渲染工作。
  • 着色器安全 模式默认启用。
  • 着色器安全模式下的不透明背景行为。
  • 在受保护的渲染路径上进行严格的 OpenGL 状态隔离/恢复。
  • 可配置的高生命值分段,以保持大型 Boss 生命池的可读性。
  • 用于单个 NPC 调色板和链接配置文件的多玩家同步。

前置要求

  • Minecraft 1.7.10
  • Minecraft Forge
  • CustomNPC+

CustomNPC+ 是必需的。

对于多人游戏,服务器和客户端应使用相同版本的扩展模组。


致谢

由 Bacon_Saboroso 创建。

作为 CustomNPC+ 的扩展模组制作。