Skip to content
This repository has been archived by the owner on Feb 12, 2023. It is now read-only.

Listener

twoone-3 edited this page Feb 26, 2021 · 31 revisions

监听器注册机制

注:当只回传一个数据时,仅传递值而不传递字典

后台输入 | onConsoleInput

拦截可否:是
回传数据:

  • cmd – 指令数据

后台输出 | onConsoleOutput

拦截可否:是
回传数据:

  • output – 输出信息

加入游戏 | onPlyaerJoin

拦截可否:否
回传数据:

  • player - 玩家指针

离开游戏 | onPlyaerLeft

拦截可否:否
回传数据:

  • player - 玩家指针

玩家攻击 | onPlayerAttack

拦截可否:是
回传数据:

  • actor – 被攻击实体指针
  • player - 玩家指针

选择表单 | onPlayerAttack

拦截可否:是
回传数据:

  • formid – 表单ID
  • selected – 表单回传的选择项信息
  • player - 玩家指针

使用物品 | onUseItem

注:Win10客户端使用物品事件会在单次点击内触发多次
拦截可否:是
回传数据:

  • position – 操作方块所在位置
  • itemid – 物品ID
  • itemaux – 物品特殊值
  • itemname – 物品名称
  • player - 玩家指针

放置方块 | onPlaceBlock

拦截可否:是
回传数据:

  • position – 操作方块所在位置
  • blockid – 方块ID
  • blockname – 方块名称
  • player - 玩家指针

破坏方块 | onDestroyBlock

拦截可否:是
回传数据:

  • position – 操作方块所在位置
  • blockid – 方块ID
  • blockname – 方块名称
  • player - 玩家指针

打开箱子 | onOpenChest

拦截可否:是
回传数据:

  • position – 操作方块所在位置
  • player - 玩家指针

关闭箱子 | onCloseChest

拦截可否:否
回传数据:

  • position – 操作方块所在位置
  • player - 玩家指针

打开木桶 | onOpenBarrel

拦截可否:是
回传数据:

  • position – 操作方块所在位置
  • player - 玩家指针

关闭木桶 | onCloseBarrel

拦截可否:否
回传数据:

  • position – 操作方块所在位置
  • player - 玩家指针

放入取出 | onContainerChange

拦截可否:否
回传数据:

  • itemid – 物品ID
  • itemcount – 物品数量
  • itemname – 物品名字
  • itemaux – 物品特殊值
  • position – 操作方块所在位置
  • blockid – 方块ID
  • blockname – 方块名称
  • slot – 操作格子位置
  • player - 玩家指针

切换维度 | onChangeDimension

拦截可否:是
回传数据:

  • player - 玩家指针

生物死亡 | onMobDie

拦截可否:否
回传数据:

  • dmcase – 伤害具体原因ID
  • actor1 - 死亡实体指针
  • actor2 - 伤害源实体指针

生物受伤 | onMobHurt

注:此监听存在相关组件setDamage用于设置伤害值
拦截可否:是
回传数据:

  • dmcase – 伤害具体原因ID
  • actor1 - 死亡实体指针
  • actor2 - 伤害源实体指针
  • damage - 理论伤害值

玩家重生 | onRespawn

拦截可否:否
回传数据:

  • player - 玩家指针

聊天消息 | onChat

拦截可否:否
回传数据:

  • sender – 发送者名字
  • target – 接收者名字
  • msg – 接收到的信息
  • style – 聊天类型

输入文本 | onInputText

拦截可否:是
回传数据:

  • msg – 输入的文本
  • player - 玩家指针

更新命令方块 | onCommandBlockUpdate

拦截可否:是
回传数据:

  • player - 玩家指针
  • cmd – 将被更新的新指令
  • mode – 命令方块模式
  • condition – 是否有条件
  • redstone – 是否要红石
  • output – 上一次输出
  • rawname – 命令方块名字
  • delay – 延迟
  • position – 命令方块所在位置

输入指令 | onInputCommand

拦截可否:是
回传数据:

  • cmd – 玩家输入的指令
  • player - 玩家指针

命令方块执行 | onCommandBlockPerform

拦截可否:是
回传数据:

  • cmd – 将被执行的指令
  • rawname – 命令方块名称
  • position – 执行者所在位置
  • mode – 命令方块模式
  • condition – 是否有条件

世界爆炸 | onLevelExplode

拦截可否:是
回传数据:

  • actor – 爆炸者实体指针
  • position – 爆炸点所在位置
  • dimensionid – 爆炸者所处维度ID
  • power – 爆炸强度

玩家穿戴 | onSetArmor

拦截可否:否
回传数据:

  • player - 玩家指针
  • itemid – 物品ID
  • itemcount – 物品数量
  • itemname – 物品名字
  • itemaux – 物品特殊值
  • slot – 操作格子位置

耕地破坏 | onFallBlockTransform

拦截可否:是
回传数据:

  • player - 玩家指针
  • position – 方块所在位置
  • dimensionid – 所处维度ID

使用重生锚 | onUseRespawnAnchorBlock

拦截可否:是
回传数据:

  • player - 玩家指针
  • position – 方块所在位置
  • dimensionid – 所处维度ID

计分板改变 | onScoreChanged

注:此监听存在相关组件createScoreBoardId & getScoreBoardId
拦截可否:否
回传数据:

  • scoreboardid - 计分板ID
  • playersnum – 玩家分数
  • objectivename – 对象实际名称
  • objectivedisname - 对象显示名称

玩家移动 | onMove

拦截可否:否
回传数据:

  • player - 玩家指针
Clone this wiki locally