快速时间事件引擎 [QTEE]

快速时间事件引擎 [QTEE]

添加简单的快速反应事件,适用于整合包

杂项

一个适用于 NeoForge 1.21.1 的模组,提供服务器权威的快速反应事件,具有持久化定义和可配置的 HUD,适用于地图和整合包作者。(WIP)

命令

/qte create 1 hold space 2.5 "say @s succeed" "say @s failed" true true
/qte create test input_sequence "w,a,s,d" 6 "say @s succeed" "say @s failed" true false qte_engine:textures/gui/rune.png
/qte play 1 
/qte play test @a
/qte settings chase tracking_speed 0.35
/qte settings target aim_position -0.5 0.25

create、edit 和 remove、play 需要操作员权限等级 2。时长以秒为单位,且必须在 0.1 到 300 之间。

包含空格的命令必须用引号括起来。结果命令中可选的 / 前缀是可选的。无论是 @s 还是 %player% 都指向运行 QTE 的玩家。

  • exclusive_input: 在 QTE 激活时阻止正常的键盘和鼠标处理。默认值:false。
  • hide_hud: 暂时隐藏原版 HUD,同时保持 QTE 可见。默认值:false。
  • texture: 可选的 40×40 QTE 图片的资源位置。两个布尔参数必须在其之前提供。

示例

来自 0.4.22 的视觉效果
/qte create 1 hold space 2.5 "say @s succeed" "say @s failed" true true
/qte create test input_sequence "w,a,s,d" 6 "say @s succeed" "say @s failed" true false qte_engine:textures/gui/rune.png
/qte play 1 @s

输入接受短名称,例如 space、w 和 left_shift,或完整的 Minecraft 标识符,例如 key.keyboard.space 和 key.mouse.left。鼠标别名包括 m1、m2、m3、mouse1、mouse2 和 mouse3。

多个输入用逗号分隔。input_sequence、reaction_choice、memory 和 rhythm 至少需要两个输入;其他所有类型只接受一个输入。单个字母的输入会遵循玩家的键盘布局。

QTE 类型

  • observation: 在时间结束前按下预期的输入。
  • reaction_choice: 从显示的选项中选择第一个输入。(WIP!)
  • hold: 在持续时间的 60% 内按住配置的输入。
  • mash: 反复按下直到达到目标。
  • input_sequence: 按顺序输入每个输入。
  • balance: 当移动的标记到达中心时按下。
  • aim: 将光标移到固定目标内,然后按下配置的输入。(WIP)(新功能:你可以通过 qte settings [id] 配置标记在屏幕上的显示位置)
  • tracking: 在跟随移动目标时按住配置的输入。(WIP)

成功、失败和超时结果由服务器验证并执行。

UI 纹理

每个 QTE 都会显示一个平滑的径向倒计时,从 12 点方向开始,并随帧插值顺时针缩小。简单的 QTE 使用紧凑的 32×32 键帽;hold 和 mash 添加了内部进度环;balance 使用圆形的技能检查拨盘;aim 和 tracking 使用圆形的全屏目标。

键帽精灵图可以通过常规的 Minecraft 资源包替换:

  • qte_key.png: 未按下的键帽。
  • qte_key_pressed.png: 按下的键帽。
  • qte_mouse_left.png、qte_mouse_right.png 和 qte_mouse_mb3.png: 专用的 M1、M2 和 M3 提示。
  • qte_mouse_base.png: 中性的 32×32 鼠标模板。 鼠标提示在其中性和高亮纹理之间缓慢交叉淡化;按下请求的按钮会使其高亮完全可见。 一个可编辑的模板可在 examples/qte-engine-ui-template 中找到。按键标签使用可替换的 qte_engine:textures/font/ascii.png 位图图集:128×128 像素,排列为 16×16 个 8×8 像素的单元格。资源包可以替换 assets/qte_engine/textures/font/ascii.png 和 assets/qte_engine/font/qte_key_compact.json 以支持其他字符集。长按键名称仍会缩放以保持在键帽内。Aim 和 tracking 会在每个鼠标帧更新其视觉指针,而有界样本仍由服务器验证。

自定义 QTE 图片使用完整的资源位置,例如 my_pack:textures/gui/rune.png。