跳到主要内容

交互机制

交互机制处理玩家的点击、潜行等交互动作,支持物品过滤和冷却控制。你还可以通过视线锁定功能获取玩家正在注视的目标。

交互类型

类型说明
RIGHT_CLICK右键点击
LEFT_CLICK左键点击
SNEAK_RIGHT_CLICK潜行 + 右键
SNEAK_LEFT_CLICK潜行 + 左键
SNEAK_TOGGLE切换潜行状态

交互定义

每个交互通过 InteractDefinition 描述:

字段说明
id交互 ID,全局唯一
type交互类型(见上表)
materialFilter物品类型过滤,仅手持指定物品时触发
script触发时执行的脚本 ID
cooldownMs冷却时间(毫秒)
variables自定义变量(键值对)

materialFilter 可以限制交互只在玩家手持特定物品时生效。例如设置为 DIAMOND_SWORD 后,只有手持钻石剑时才会触发该交互。

视线锁定

InteractService 提供视线锁定功能,可以获取玩家当前注视的实体目标。

操作说明
getLookAtTarget获取玩家视线方向上的目标实体

getLookAtTarget 接受两个参数:

  • player:目标玩家
  • maxDistance:最大检测距离,默认 50.0

返回 LookAtResult,包含:

  • target:目标实体
  • distance:与目标的距离

交互服务

InteractService 提供交互的注册和管理:

操作说明
register注册一个交互定义
getLookAtTarget获取视线锁定目标
提示

交互的冷却是按玩家隔离的。同一个交互定义,不同玩家的冷却互不影响。