伏击

伏击

一个由数据包驱动的遭遇战引擎。设计伏击,以自定义触发器追踪玩家,支持多波次进攻、Boss战、箭雨以及强化生物AI——纯JSON实现,并可选支持机械动力:航空学与机械动力:大炮。

 

打造让你的整合包奋起反击的遭遇战。

Ambush 是一个面向 Minecraft 1.21.1 NeoForge 的数据驱动遭遇战框架,专为希望完全掌控敌对事件的整合包作者而设计。

使用数据包 JSON 文件创建自定义遭遇战,无需编写 Java、维护 KubeJS 脚本,或在你想要更改时重新构建模组。

一次遭遇战可以简单到敌人在玩家视野之外接近,也可以复杂到拥有骷髅船员、炮火齐射、增援、迷雾、音效、奖励和共享生命值的多阶段舰队Boss。


为整合包作者而生

Ambush 让你掌控遭遇战的几乎每一个部分。

触发条件 可以使用生物群系、维度、结构、天气、时间、玩家高度、背包物品、生物击杀、村民交易、传送门、激活的机器等等。

生成行为 可以将敌人放置在玩家视野之外、玩家周围、洞穴内、开阔空中、陆地、海洋、水下或结构附近。

战斗行为 可以包括自定义装备、效果、属性、索敌范围、追击行为、投射物攻击、增援以及多个遭遇战阶段。

进度与稀有度 可以使用固定概率、加权选择、冷却组、失败后递增概率以及基于玩家的解锁条件。

定义可以通过数据包更新,并且无需重建模组即可重新加载。


自然流畅的遭遇战

敌人不必直接出现在玩家面前。

Ambush 可以将它们放置在玩家的视线之外,从选定方向派入,以多个小组包围玩家,或者让它们在检测到目标之前先接近某个结构。

飞行敌人可以在有效的开阔空中位置生成,并在长距离内持续追击分配的玩家。

水域遭遇战可以要求海洋表面或水下空间,而陆地遭遇战则可以完全拒绝水域。

放置仅使用已加载区块,并有界定的生成尝试次数。


波次与定向攻击

遭遇战可以包含多个阶段,这些阶段可以在延迟后开始、按间隔重复、在前一波敌人死亡时激活,或在Boss生命值达到阈值时触发。

定向攻击可以包括普通箭、光灵箭、药水箭、药水齐射、飞行攻击者、实体雨、兼容的模组投射物,以及 Create Big Cannons 的弹药。

你可以配置射击方向、发射高度、速度、散布、爆发次数、延迟、安全半径、射击范围、精确瞄准、弹道补偿,以及来自多个交错来源的攻击。


移动舰船与舰队战斗

安装兼容的 Create Aeronautics、Simulated 和 Sable 模组后,Ambush 可以将结构模板文件转变为移动的舰船和飞行器遭遇战。

舰船可以追踪玩家、根据其位置转向、前进或后退、保持射击距离,并选择正确的侧舷进行舷炮齐射。

骷髅船员和其他自定义船员可以主动获取目标、操作红石控制的武器,并从舰船的正确一侧进行炮火齐射。

舰船可以单独出现、以编队包围玩家、从上方攻击,或作为协调舰队抵达。

多艘舰船可以共享一个Boss生命条,呼叫增援,在不同生命值水平激活武器,并在受到伤害时开始毁灭序列。

舰船移动、转向、船员攻击范围、火炮时机、推进、气囊填充、引擎功率、编队、战利品和生命值事件均可配置。

这也支持汽车和小船。

Aeronautics 支持是可选的。标准生物遭遇战在未安装 Aeronautics 的情况下也能正常工作。


结构Boss

移动结构可以使用其剩余方块作为生命值,并用Boss栏显示该生命值。

单艘舰船可以作为Boss,或者整个舰队共享一个生命池。

基于生命值的事件可以触发炮火齐射、召唤增援、生成额外舰船、激活红石组件、施加迷雾或效果、播放定向音效、创建烟花、放置奖励结构、触发毁灭序列,或开始另一次伏击。

结构生命值使用有界的处理限制,以减少大型遭遇战期间的卡顿。


每玩家遭遇战跟踪

Ambush 为每个玩家分别跟踪遭遇战、冷却、目标、解锁和清理。

一个人触发伏击不会自动影响服务器上的其他所有人。

遭遇战状态可以跨服务器重启持久化,支持更高级的进度和长期运行的遭遇战系统。


内置创作者工具

Ambush 包含用于加载遭遇战、强制测试、验证数据包定义、查看稀有度权重、检查玩家状态、启用详细诊断、清除活跃遭遇战、控制自然生成,以及在开发期间解锁受限内容的命令。

外部数据包定义可以通过 /reload 更新。


要求

Minecraft: 1.21.1
NeoForge: 21.1.228 或更新版本
Java: 21

可选集成

Create
Create Aeronautics
Simulated
Sable
Create Big Cannons

数据包仅需要其引用的实体、物品、投射物、机器、舰船或其他内容所使用的模组。