# 玩家

# 索引

事件
描述
AddExpEvent 服务端 触发时机:当玩家增加经验时触发该事件。
AddLevelEvent 服务端 触发时机:当玩家升级时触发该事件。
CameraMotionStartClientEvent 客户端 相机运动器开始事件。相机添加运动器后,运动器开始运行时触发
CameraMotionStopClientEvent 客户端 相机运动器停止事件。相机添加运动器并开始运行后,运动器自动停止时触发
ChangeLevelUpCostServerEvent 服务端 触发时机:获取玩家下一个等级升级经验时,用于重载玩家的升级经验,每个等级在重置之前都只会触发一次
DimensionChangeClientEvent 客户端 玩家维度改变时客户端抛出
DimensionChangeFinishClientEvent 客户端 玩家维度改变完成后客户端抛出
DimensionChangeFinishServerEvent 服务端 玩家维度改变完成后服务端抛出
DimensionChangeServerEvent 服务端 玩家维度改变时服务端抛出
ExtinguishFireClientEvent 客户端 玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。
ExtinguishFireServerEvent 服务端 玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。
GameTypeChangedClientEvent 客户端 个人游戏模式发生变化时客户端触发。
GameTypeChangedServerEvent 服务端 个人游戏模式发生变化时服务端触发。
OnPlayerHitBlockClientEvent 客户端 触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。玩家着地时会触发OnGroundClientEvent,而不是该事件。客户端和服务端分别作碰撞检测,可能两个事件返回的结果略有差异。
OnPlayerHitBlockServerEvent 服务端 触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。监听玩家着地请使用客户端的OnGroundClientEvent。客户端和服务端分别作碰撞检测,可能两个事件返回的略有差异。
PerspChangeClientEvent 客户端 视角切换时会触发的事件
PlayerAttackEntityEvent 服务端 触发时机:当玩家攻击时触发该事件。
PlayerCheatSpinAttackServerEvent Apollo 触发时机:玩家开始/结束快速旋转攻击并且不符合发送快速旋转攻击条件时触发(装备激流附魔的三叉戟、在水中或雨中,且未骑乘)
PlayerDieEvent 服务端 触发时机:当玩家死亡时触发该事件。
PlayerDoInteractServerEvent 服务端 玩家与有minecraft:interact组件的生物交互时触发该事件,例如玩家手持空桶对牛挤奶、玩家手持打火石点燃苦力怕
PlayerEatFoodServerEvent 服务端 触发时机:玩家吃下食物时触发
PlayerFeedEntityServerEvent 服务端 玩家喂养生物时触发,例如玩家手持小麦喂养牛、玩家手持胡萝卜喂养幼年猪。
PlayerHungerChangeServerEvent 服务端 玩家饥饿度变化时触发该事件
PlayerHurtEvent 服务端 触发时机:当玩家受伤害前触发该事件。
PlayerInteractServerEvent 服务端 触发时机:玩家可以与实体交互时。如果是鼠标控制模式,则当准心对着实体时触发。如果是触屏模式,则触发时机与屏幕下方的交互按钮显示的时机相同。玩家真正与实体发生交互的事件见PlayerDoInteractServerEvent
PlayerNamedEntityServerEvent 服务端 玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。
PlayerRespawnEvent 服务端 触发时机:玩家复活时触发该事件。
PlayerRespawnFinishServerEvent 服务端 触发时机:玩家复活完毕时触发
PlayerSleepServerEvent 服务端 玩家使用床睡觉成功
PlayerSpinAttackServerEvent Apollo 触发时机:玩家开始/结束快速旋转攻击时触发
PlayerStopSleepServerEvent 服务端 玩家停止睡觉
PlayerTeleportEvent 服务端 触发时机:当玩家传送时触发该事件,如:玩家使用末影珍珠或tp指令时。
PlayerTrySleepServerEvent 服务端 玩家尝试使用床睡觉
ServerPlayerGetExperienceOrbEvent 服务端 触发时机:玩家获取经验球时触发的事件
StoreBuySuccServerEvent 服务端 触发时机:玩家游戏内购买商品时服务端抛出的事件

# 玩家

# AddExpEvent

服务端

  • 描述

    触发时机:当玩家增加经验时触发该事件。

  • 参数

    参数名
    数据类型
    说明
    id str 玩家id
    addExp int 增加的经验值
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# AddLevelEvent

服务端

  • 描述

    触发时机:当玩家升级时触发该事件。

  • 参数

    参数名
    数据类型
    说明
    id str 玩家id
    addLevel int 增加的等级值
    newLevel int 新的等级
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# CameraMotionStartClientEvent

客户端

  • 描述

    相机运动器开始事件。相机添加运动器后,运动器开始运行时触发

  • 参数

    参数名
    数据类型
    说明
    motionId int 运动器id
  • 返回值

# CameraMotionStopClientEvent

客户端

  • 描述

    相机运动器停止事件。相机添加运动器并开始运行后,运动器自动停止时触发

  • 参数

    参数名
    数据类型
    说明
    motionId int 运动器id
    remove bool 是否移除该运动器,设置为False则保留,默认为True,即运动器停止后自动移除
  • 返回值

  • 备注

# ChangeLevelUpCostServerEvent

服务端

  • 描述

    触发时机:获取玩家下一个等级升级经验时,用于重载玩家的升级经验,每个等级在重置之前都只会触发一次

  • 参数

    参数名
    数据类型
    说明
    level int 玩家当前等级
    levelUpCostExp int 当前等级升级到下个等级需要的经验值,当设置升级经验小于1时会被强制调整到1
    changed bool 设置为True,重载玩家升级经验才会生效
  • 返回值

# 相关接口

# ClearDefinedLevelUpCost

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    接口用于重置升级经验。使用ChangeLevelUpCostServerEvent事件设置升级经验后,升级经验无法调整。需要调整升级经验时,可使用该接口。使用步骤如下:1、使用ClearDefineLevelUpconst,2、在升级抛出ChangeLevelUpCostServerEvent事件后重新设置经验。

  • 参数

    参数名
    数据类型
    说明
    level int 指定清理的等级,加入传入的数值小于0,则清理所有等级的升级经验值缓存
  • 返回值

    数据类型
    说明
    bool 是否清理成功。
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
suc = comp.ClearDefinedLevelUpCost(1)

# DimensionChangeClientEvent

客户端

  • 描述

    玩家维度改变时客户端抛出

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家实体id
    fromDimensionId int 维度改变前的维度
    toDimensionId int 维度改变后的维度
    fromX float 改变前的位置x
    fromY float 改变前的位置Y
    fromZ float 改变前的位置Z
    toX float 改变后的位置x
    toY float 改变后的位置Y
    toZ float 改变后的位置Z
  • 返回值

  • 备注

    • 当通过传送门从末地回到主世界时,toY值为32767,其他情况一般会比设置值高1.62

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# DimensionChangeFinishClientEvent

客户端

  • 描述

    玩家维度改变完成后客户端抛出

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家实体id
    fromDimensionId int 维度改变前的维度
    toDimensionId int 维度改变后的维度
    toPos tuple(float,float,float) 改变后的位置x,y,z,其中y值为脚底加上角色的身高值
  • 返回值

  • 备注

    • 当通过传送门从末地回到主世界时,toPos的y值为32767,其他情况一般会比设置值高1.62

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# DimensionChangeFinishServerEvent

服务端

  • 描述

    玩家维度改变完成后服务端抛出

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家实体id
    fromDimensionId int 维度改变前的维度
    toDimensionId int 维度改变后的维度
    toPos tuple(float,float,float) 改变后的位置x,y,z,其中y值为脚底加上角色的身高值
  • 返回值

  • 备注

    • 当通过传送门从末地回到主世界时,toPos的y值为32767,其他情况一般会比设置值高1.62

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# DimensionChangeServerEvent

服务端

  • 描述

    玩家维度改变时服务端抛出

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家实体id
    fromDimensionId int 维度改变前的维度
    toDimensionId int 维度改变后的维度
    fromX float 改变前的位置x
    fromY float 改变前的位置Y
    fromZ float 改变前的位置Z
    toX float 改变后的位置x
    toY float 改变后的位置Y
    toZ float 改变后的位置Z
  • 返回值

  • 备注

    • 当通过传送门从末地回到主世界时,toY值为32767,其他情况一般会比设置值高1.62

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# ExtinguishFireClientEvent

客户端

  • 描述

    玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。

  • 参数

    参数名
    数据类型
    说明
    pos tuple(float,float,float) 火焰方块的坐标
    playerId str 玩家id
    cancel bool 修改为True时,可阻止玩家扑灭火焰。需要与ExtinguishFireServerEvent一起修改。
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# ExtinguishFireServerEvent

服务端

  • 描述

    玩家扑灭火焰时触发。下雨,倒水等方式熄灭火焰不会触发。

  • 参数

    参数名
    数据类型
    说明
    pos tuple(float,float,float) 火焰方块的坐标
    playerId str 玩家id
    cancel bool 修改为True时,可阻止玩家扑灭火焰。需要与ExtinguishFireClientEvent一起修改。
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# GameTypeChangedClientEvent

客户端

  • 描述

    个人游戏模式发生变化时客户端触发。

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家Id
    oldGameType int 切换前的游戏模式
    newGameType int 切换后的游戏模式
  • 返回值

  • 备注

    • 游戏模式:GetMinecraftEnum().GameType.*:Survival,Creative,Adventure分别为0~2 默认游戏模式发生变化时最后反映在个人游戏模式之上。

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# GameTypeChangedServerEvent

服务端

  • 描述

    个人游戏模式发生变化时服务端触发。

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家Id,SetDefaultGameType接口改变游戏模式时该参数为空字符串
    oldGameType int 切换前的游戏模式
    newGameType int 切换后的游戏模式
  • 返回值

  • 备注

    • 游戏模式:GetMinecraftEnum().GameType.*:Survival,Creative,Adventure分别为0~2 默认游戏模式发生变化时最后反映在个人游戏模式之上。

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# OnPlayerHitBlockClientEvent

客户端

  • 描述

    触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。玩家着地时会触发OnGroundClientEvent,而不是该事件。客户端和服务端分别作碰撞检测,可能两个事件返回的结果略有差异。

  • 参数

    参数名
    数据类型
    说明
    playerId str 碰撞到方块的玩家Id
    posX int 碰撞方块x坐标
    posY int 碰撞方块y坐标
    posZ int 碰撞方块z坐标
    blockId str 碰撞方块的identifier
    auxValue int 碰撞方块的附加值
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# 相关接口

# OpenPlayerHitBlockDetection

method in mod.client.component.playerCompClient.PlayerCompClient

  • 描述

    开启碰撞方块的检测,开启后碰撞时会触发OnPlayerHitBlockClientEvent事件

  • 参数

    参数名
    数据类型
    说明
    precision float 碰撞检测精度,参数需要在区间[0, 1),值越小,表示碰撞检测精度越高(可以理解为轻轻碰一下就能触发)
  • 返回值

    数据类型
    说明
    bool 是否设置成功
  • 备注

    • 注:该碰撞检测会屏蔽草、空气、火、高草四种方块
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.OpenPlayerHitBlockDetection(0.0001)

# ClosePlayerHitBlockDetection

method in mod.client.component.playerCompClient.PlayerCompClient

  • 描述

    关闭碰撞方块的检测,关闭后将不会触发OnPlayerHitBlockClientEvent事件

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置成功
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.ClosePlayerHitBlockDetection()

# OnPlayerHitBlockServerEvent

服务端

  • 描述

    触发时机:通过OpenPlayerHitBlockDetection打开方块碰撞检测后,当玩家碰撞到方块时触发该事件。监听玩家着地请使用客户端的OnGroundClientEvent。客户端和服务端分别作碰撞检测,可能两个事件返回的略有差异。

  • 参数

    参数名
    数据类型
    说明
    playerId str 碰撞到方块的玩家Id
    posX int 碰撞方块x坐标
    posY int 碰撞方块y坐标
    posZ int 碰撞方块z坐标
    blockId str 碰撞方块的identifier
    auxValue int 碰撞方块的附加值
    dimensionId int 维度id
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# 相关接口

# OpenPlayerHitBlockDetection

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    开启碰撞方块的检测,开启后碰撞时会触发OnPlayerHitBlockServerEvent事件

  • 参数

    参数名
    数据类型
    说明
    precision float 碰撞检测精度,参数需要在区间[0, 1),值越小,表示碰撞检测精度越高(可以理解为轻轻碰一下就能触发)
  • 返回值

    数据类型
    说明
    bool 是否设置成功
  • 备注

    • 注:该碰撞检测会屏蔽草、空气、火、高草四种方块
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
comp.OpenPlayerHitBlockDetection(0.0001)

# ClosePlayerHitBlockDetection

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    关闭碰撞方块的检测,关闭后将不会触发OnPlayerHitBlockServerEvent事件

  • 参数

  • 返回值

    数据类型
    说明
    bool 是否设置成功
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
comp.ClosePlayerHitBlockDetection()

# PerspChangeClientEvent

客户端

  • 描述

    视角切换时会触发的事件

  • 参数

    参数名
    数据类型
    说明
    from int 切换前的视角
    to int 切换后的视角
  • 返回值

  • 备注

    • 视角数字代表含义 0: 第一人称 1: 第三人称背面 2: 第三人称正面

# PlayerAttackEntityEvent

服务端

  • 描述

    触发时机:当玩家攻击时触发该事件。

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
    victimId str 受击者id
    damage int 伤害值:引擎传过来的值是0 允许脚本层修改为其他数
    isValid int 脚本是否设置伤害值:1表示是;0 表示否
    cancel bool 是否取消该次攻击,默认不取消
    isKnockBack bool 是否支持击退效果,默认支持,当不支持时将屏蔽武器击退附魔效果
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerCheatSpinAttackServerEvent

仅Apollo可用

  • 描述

    触发时机:玩家开始/结束快速旋转攻击并且不符合发送快速旋转攻击条件时触发(装备激流附魔的三叉戟、在水中或雨中,且未骑乘)

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家的entityId
    isStart bool True时代表开始快速旋转攻击;False时代表结束快速旋转攻击
  • 返回值

  • 备注

    • 假如没有自定义类似三叉戟/激流附魔的物品,那么触发此事件说明此有很大可能此玩家使用了【杀戮光环】外挂

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerDieEvent

服务端

  • 描述

    触发时机:当玩家死亡时触发该事件。

  • 参数

    参数名
    数据类型
    说明
    id str 玩家id
    attacker str 伤害来源id
    customTag str 使用Hurt接口传入的自定义伤害类型
    cause str 伤害来源,详见Minecraft枚举值文档的ActorDamageCause
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerDoInteractServerEvent

服务端

  • 描述

    玩家与有minecraft:interact组件的生物交互时触发该事件,例如玩家手持空桶对牛挤奶、玩家手持打火石点燃苦力怕

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
    itemDict dict 交互时使用物品的物品信息字典
    interactEntityId str 交互的生物entityId
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerEatFoodServerEvent

服务端

  • 描述

    触发时机:玩家吃下食物时触发

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家Id
    itemDict dict 食物物品的物品信息字典
    hunger int 食物增加的饥饿值,可修改
    nutrition float 食物的营养价值,回复饱和度 = 食物增加的饥饿值 * 食物的营养价值 * 2,饱和度最大不超过当前饥饿值,可修改
  • 返回值

  • 备注

    • 由于牛奶本身并没有饱食度的概念,因此,当喝牛奶触发该事件时,饥饿度、营养价值字段无效并始终为0

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerFeedEntityServerEvent

服务端

  • 描述

    玩家喂养生物时触发,例如玩家手持小麦喂养牛、玩家手持胡萝卜喂养幼年猪。

  • 参数

    参数名
    数据类型
    说明
    playerId str 主动喂养生物的玩家的唯一ID
    entityId str 被喂养生物的唯一ID
    itemDict dict 当前玩家手持物品的物品信息字典
    cancel bool 是否取消触发,默认为False,若设为True,可阻止触发后续的生物喂养逻辑
  • 返回值

  • 备注

    • 1.对于幼年生物,用对应的物品喂养后就可以触发事件,例如用小麦喂养幼年牛、用生鲑鱼喂养幼年猫; 2.对于成年生物,用对应的物品喂养后,该生物要进入“求爱模式”(持续散发红心粒子),才可以触发事件。特殊的成年生物列举如下: a.可骑乘生物,例如马,玩家要驯服马后,再给它喂养食物(例如金苹果、金萝卜),才可以触发事件;已驯服的马受伤后,用金苹果喂养时会治疗马,不触发事件,马的血量回满时,再喂养金苹果,才会触发事件; b.可驯服生物,例如狼,玩家要用骨头驯服狼后,再给它喂养肉类物品(例如熟猪排),才可以触发事件; c.需要在特定环境下才能繁殖的生物,例如熊猫,玩家用竹子喂养熊猫时,熊猫的5格内至少要有8根竹子,喂养后才可以触发事件。

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerHungerChangeServerEvent

服务端

  • 描述

    玩家饥饿度变化时触发该事件

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
    hungerBefore float 变化前的饥饿度
    hunger float 变化后的饥饿度
    cancel bool 是否取消饥饿度变化
  • 返回值

  • 备注

    • 当通过setplayerhunger接口设置饥饿度时,不会触发服务端对应的事件
    • 当通过/hunger等指令设置饥饿度设置时,hunger字段值可能会超过最大饥饿度

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerHurtEvent

服务端

  • 描述

    触发时机:当玩家受伤害前触发该事件。

  • 参数

    参数名
    数据类型
    说明
    id str 受击玩家id
    attacker str 伤害来源实体id,若没有实体攻击,例如高空坠落,id为-1
    customTag str 使用Hurt接口传入的自定义伤害类型
    cause str 伤害来源,详见Minecraft枚举值文档的ActorDamageCause
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerInteractServerEvent

服务端

  • 描述

    触发时机:玩家可以与实体交互时。如果是鼠标控制模式,则当准心对着实体时触发。如果是触屏模式,则触发时机与屏幕下方的交互按钮显示的时机相同。玩家真正与实体发生交互的事件见PlayerDoInteractServerEvent

  • 参数

    参数名
    数据类型
    说明
    cancel bool 是否取消触发,默认为False,若设为True,可阻止触发后续的实体交互事件
    playerId str 主动与实体互动的玩家的唯一ID
    itemDict dict 当前玩家手持物品的物品信息字典
    victimId str 被动的实体的唯一ID
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerNamedEntityServerEvent

服务端

  • 描述

    玩家用命名牌重命名实体时触发,例如玩家手持命名牌对羊修改名字、玩家手持命名牌对盔甲架修改名字。

  • 参数

    参数名
    数据类型
    说明
    playerId str 主动命名实体的玩家的唯一ID
    entityId str 被命名实体的唯一ID
    preName str 实体当前的名字
    afterName str 实体重命名后的名字
    cancel bool 是否取消触发,默认为False,若设为True,可阻止触发后续的实体命名逻辑
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerRespawnEvent

服务端

  • 描述

    触发时机:玩家复活时触发该事件。

  • 参数

    参数名
    数据类型
    说明
    id str 玩家id
  • 返回值

  • 备注

    • 该事件为玩家点击重生按钮时触发,但是触发时玩家可能尚未完成复活,此时请勿对玩家进行切维度或设置生命值等操作 一般情况下推荐使用PlayerRespawnFinishServerEvent

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerRespawnFinishServerEvent

服务端

  • 描述

    触发时机:玩家复活完毕时触发

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
  • 返回值

  • 备注

    • 该事件触发时玩家已重生完毕,可以安全使用切维度等操作
    • 通过末地传送门回到主世界时也算重生,同样也会触发该事件

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerSleepServerEvent

服务端

  • 描述

    玩家使用床睡觉成功

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerSpinAttackServerEvent

仅Apollo可用

  • 描述

    触发时机:玩家开始/结束快速旋转攻击时触发

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家的entityId
    isInWaterOrRain bool 是否在水中或雨中
    isRiding bool 是否骑乘状态
    isStart bool True时代表开始快速旋转攻击;False时代表结束快速旋转攻击
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerStopSleepServerEvent

服务端

  • 描述

    玩家停止睡觉

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerTeleportEvent

服务端

  • 描述

    触发时机:当玩家传送时触发该事件,如:玩家使用末影珍珠或tp指令时。

  • 参数

    参数名
    数据类型
    说明
    id str 玩家id
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# PlayerTrySleepServerEvent

服务端

  • 描述

    玩家尝试使用床睡觉

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
    cancel bool 是否取消(开发者传入)
  • 返回值

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# ServerPlayerGetExperienceOrbEvent

服务端

  • 描述

    触发时机:玩家获取经验球时触发的事件

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
    experienceValue int 经验球经验值
    cancel bool 是否取消(开发者传入)
  • 返回值

  • 备注

    • cancel值设为True时,捡起的经验球不会增加经验值,但是经验球一样会消失。

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

# StoreBuySuccServerEvent

服务端

  • 描述

    触发时机:玩家游戏内购买商品时服务端抛出的事件

  • 参数

    参数名
    数据类型
    说明
    playerId str 购买商品的玩家实体id
  • 返回值

  • 示例

import mod.server.extraServerApi as serverApi
self.ListenForEvent(serverApi.GetEngineNamespace(),serverApi.GetEngineSystemName(),
    "StoreBuySuccServerEvent",
    self, self.OnStoreBuySucc)
def OnStoreBuySucc(self, args):
    entityId = args['playerId']
    print 'Ship Item.EntityId:', playerId

在零件中直接声明一个同名函数,即可完成监听,详情参考零件事件

AddExpEvent

AddLevelEvent

CameraMotionStartClientEvent

CameraMotionStopClientEvent

ChangeLevelUpCostServerEvent

相关接口

ClearDefinedLevelUpCost

DimensionChangeClientEvent

DimensionChangeFinishClientEvent

DimensionChangeFinishServerEvent

DimensionChangeServerEvent

ExtinguishFireClientEvent

ExtinguishFireServerEvent

GameTypeChangedClientEvent

GameTypeChangedServerEvent

OnPlayerHitBlockClientEvent

相关接口

OpenPlayerHitBlockDetection

ClosePlayerHitBlockDetection

OnPlayerHitBlockServerEvent

相关接口

OpenPlayerHitBlockDetection

ClosePlayerHitBlockDetection

PerspChangeClientEvent

PlayerAttackEntityEvent

PlayerCheatSpinAttackServerEvent

PlayerDieEvent

PlayerDoInteractServerEvent

PlayerEatFoodServerEvent

PlayerFeedEntityServerEvent

PlayerHungerChangeServerEvent

PlayerHurtEvent

PlayerInteractServerEvent

PlayerNamedEntityServerEvent

PlayerRespawnEvent

PlayerRespawnFinishServerEvent

PlayerSleepServerEvent

PlayerSpinAttackServerEvent

PlayerStopSleepServerEvent

PlayerTeleportEvent

PlayerTrySleepServerEvent

ServerPlayerGetExperienceOrbEvent

StoreBuySuccServerEvent