可配置僵尸AI

可配置僵尸AI

一个用Kotlin编写的简单模组,为服务器管理员提供了多种选项来定制原版僵尸AI,包括一些全新的AI特性。同样适用于单人游戏!

怪物

可配置僵尸AI

可配置僵尸AI是一个适用于1.16.5的Minecraft Forge模组,旨在让原版僵尸更易于为高难度生存服务器和整合包进行调整。

该模组没有硬编码一种僵尸行为模式,而是为服务器管理员提供了运行时命令,使他们无需重启世界即可更改僵尸检测、获取、保持和切换目标的方式。设置会随世界一起保存,并立即应用于已加载的僵尸。

功能概述

  • 更改僵尸的追踪范围(可配置)。
  • 可选地让僵尸无视视线检测。
  • 可选地防止僵尸自然消失。
  • 用可配置的目标获取机制取代原版的“选择最近有效目标”行为。
  • 可选地让僵尸使用加权规则随时间重新评估和切换目标。
  • 添加易于使用的管理员命令,可在全局或指定半径内清除僵尸。

该模组保持原版目标类型不变。僵尸仍然只能瞄准原版通常允许的实体类型,但这些目标池内的选择逻辑变得可配置。

配置方式

  • 所有设置均可通过游戏内命令更改。
  • 命令根节点:czai 和 configurablezombieai
  • 权限级别:管理员级别 2
  • 设置保存在世界数据中,因此会在重启后保留。
  • 设置更改后,已加载的僵尸会立即刷新。

命令参考

以下示例使用短根命令,但每条命令也可以用 configurablezombieai 替代 czai 使用。

核心命令

命令 描述
czai enable 启用所有模组行为。
czai disable 禁用所有模组行为,并恢复已加载僵尸的原版追踪范围。
czai status 打印当前实时配置。
czai ignore_LOS <true|false> 让僵尸在选择有效目标时忽略视线检测。
czai despawn_prevention <true|false> 启用后防止僵尸自然消失。
czai visibility_range <方块数> 设置僵尸的追踪范围/检测距离。

获取调节

以下设置影响僵尸在目标目标目标(按原版判定)确定可运行后,如何选取初始目标。

命令 描述
czai acquisition distance_variability_from_closest_target <方块数> 在最近目标的基础上,按给定距离扩大初始候选目标池。
czai acquisition chance_to_auto-select_closest_target <百分比> 保证选择最近可用目标的概率。在 100 时,最近目标始终被选中。在 0 时,获取池中的任何候选目标都可能被选中。

切换调节

切换功能默认关闭。启用后,僵尸会定期在当前目标所属的目标类型内重新随机选择目标。

命令 描述
czai switching enabled <true|false> 开启或关闭加权目标切换功能。
czai switching interval <游戏刻> 每个僵尸评估目标切换的频率。
czai switching search_radius <方块数> 用于收集切换备选目标的搜索半径。
czai switching proximity_bias <数值> 正值更偏向较近的候选目标;负值更偏向较远的候选目标。
czai switching current_target_bias <数值> 正值使僵尸更倾向于保持当前目标。
czai switching closer_than_current_target_bias <数值> 正值奖励比当前目标更接近的候选目标。

实用命令

注意:使用这些命令需要2级权限(OP)。

命令 描述
czai kill all 杀死所有已加载维度中的所有已加载僵尸。
czai kill radius <方块数> 杀死以执行玩家为中心指定半径内的僵尸。

默认值

设置 默认值
模组启用 true
忽略视线 false
防止消失 false
可见范围 35.0 方块
获取距离可变性 0.0 方块
自动选择最近目标概率 100.0%
切换启用 false
切换间隔 40 游戏刻
切换搜索半径 16.0 方块
切换邻近度偏好 0.0
切换当前目标偏好 1.0
切换比当前目标更近的偏好 1.5

目标选择说明

  • 获取机制仍遵循原版目标类别,例如玩家、村民、铁傀儡和陆地上的幼年海龟。
  • 切换机制不会在不同目标类别间跳跃。如果僵尸当前正在追击村民,在切换过程中只会将该村民与其他村民候选目标进行比较。
  • 无视视线检测仍会遵循攻击有效性检查和已配置的可见范围。