# 属性

# AddPlayerExperience

服务端

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

    增加玩家经验值

  • 参数

    参数名
    数据类型
    说明
    exp int 玩家经验值,可设置负数
  • 返回值

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

    • 如果设置的exp值为负数,且超过当前等级已有的经验值,调用接口后,该玩家等级不会下降但是经验值会置为最小值
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateExp(entityId)
comp.AddPlayerExperience(25)

# AddPlayerLevel

服务端

method in mod.server.component.levelCompServer.LevelComponentServer

  • 描述

    修改玩家等级

  • 参数

    参数名
    数据类型
    说明
    level int 玩家等级,可设置负数
  • 返回值

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

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateLv(playerId)
comp.AddPlayerLevel(2)

# CollectOnlineClientData

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    收集在线玩家客户端数据,用于判断玩家是否作弊

  • 参数

    参数名
    数据类型
    说明
    collectTypes list(str) 数据类型,不同类型收集到不同数据,具体说明参见备注。
    callback function 回调函数,用于分析数据并判断玩家是否作弊,包含两个参数,第一个参数是playerId,类型str;第二个参数表示收集到的数据,dict类型,内容由collectTypes决定的,具体参见备注,若数据收集失败则为None(比如玩家不在线)
    extraArgs dict 默认为None,根据collectTypes传入不同参数,具体说明参见备注。
  • 返回值

  • 备注

    • collectTypes中类型解释如下 game类型收集到的数据字典解释如下:

      关键字 数据类型 说明
      gameType int 游戏模式,含义:-1:获取失败,0:生存模式,1:创造模式,2:冒险模式,3:旁观者模式
      levelGravity float 世界的重力因子

      player类型收集到的数据字典解释如下:

      关键字 数据类型 说明
      playerHealth int 玩家生命值

      world类型收集到的数据字典解释如下:

      关键字 数据类型 说明
      blockName str 某一位置方块的名称,要求extraArgs参数包含pos参数
      blockAuxValue int 某一位置方块的附加值AuxValue,要求extraArgs参数字典中包含"pos",若缺少则没有数据

      entity类型收集到的数据字典解释如下:

      关键字 数据类型 说明
      entityPos tuple(float,float,float) 实体位置,具体参见客户端GetPos接口说明,要求extraArgs参数字典中包含"entityId",若缺少则没有数据
      entityGravity float 获取实体的重力因子,当生物重力因子为0时则应用世界的重力因子,要求extraArgs参数字典中包含"entityId",若缺少则没有数据
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(playerId)
def ProcessData(playerId, data):
    #正常返回实例:ProcessData 123 {'blockAuxValue': 0, 'blockName': 'minecraft:air', 'blockBoxSize': (-1.0, -1.0), 'gameType': 1, 'entityPos': (123,456,789), 'levelGravity': -0.08, 'playerHealth': 20, 'entityGravity': 0.0}
    #失败返回实例:ProcessData 123 None
    print 'ProcessData', playerId, data
comp.CollectOnlineClientData(['player', 'world', 'entity', 'game'], ProcessData, {'entityId' :'123', 'pos' : (123,456,789))})

# GetArmorValue

客户端

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

    获取玩家护甲值

  • 参数

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

    数据类型
    说明
    int 获取玩家护甲值
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
print(comp.GetArmorValue(playerId))

# GetEnchantmentSeed

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项

  • 参数

  • 返回值

    数据类型
    说明
    int 附魔种子
  • 备注

    • 该属性会自动存档
  • 示例

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

# GetPlayerCurLevelExp

客户端

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

    获取玩家当前等级需要的经验值

  • 参数

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

    数据类型
    说明
    int 玩家当前等级需要的经验值
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
print(comp.GetPlayerCurLevelExp(playerId))

# GetPlayerExp

服务端客户端

# 服务端接口

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

    获取玩家当前等级下的经验值

  • 参数

    参数名
    数据类型
    说明
    isPercent bool 是否为百分比
  • 返回值

    数据类型
    说明
    float 玩家经验值
  • 备注

    • 如果设置返回百分比为False,则返回玩家当前等级下经验的绝对值(非当前玩家总经验值)。
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateExp(entityId)
print(comp.GetPlayerExp(False))

# 客户端接口

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

    获取玩家当前等级下的经验值

  • 参数

    参数名
    数据类型
    说明
    playerId str 玩家id
    isPercent bool 是否为百分比, 如果设置返回百分比为False,则返回玩家当前等级下经验的绝对值(非当前玩家总经验值)。
  • 返回值

    数据类型
    说明
    float 玩家经验值
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
print(comp.GetPlayerExp(playerId, False))

# GetPlayerHealthLevel

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家健康临界值,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认值为18

  • 参数

  • 返回值

    数据类型
    说明
    int 健康临界值,-1表示获取失败
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
print(comp.GetPlayerHealthLevel())

# GetPlayerHealthTick

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家自然恢复速度,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认值为80刻(即每4秒)恢复1点血量

  • 参数

  • 返回值

    数据类型
    说明
    int 自然恢复速度,-1表示获取失败
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
print(comp.GetPlayerHealthTick())

# GetPlayerHunger

服务端客户端

# 服务端接口

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)
    1)增加方法:吃食物。
    2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。

  • 参数

  • 返回值

    数据类型
    说明
    float 玩家饥饿度
  • 示例

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

# 客户端接口

method in mod.client.component.playerCompClient.PlayerCompClient

  • 描述

    获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)
    1)增加方法:吃食物。
    2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。

  • 参数

  • 返回值

    数据类型
    说明
    float 玩家饥饿度
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayer(playerId)
comp.GetPlayerHunger()

# GetPlayerLevel

服务端

method in mod.server.component.levelCompServer.LevelComponentServer

  • 描述

    获取玩家等级

  • 参数

  • 返回值

    数据类型
    说明
    int 玩家等级
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateLv(playerId)
comp.GetPlayerLevel()

# GetPlayerMaxExhaustionValue

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家foodExhaustionLevel的归零值,常量值,默认为4。消耗度(exhaustion)是指玩家当前消耗度水平,初始值为0,该值会随着玩家一系列动作(如跳跃)的影响而增加,当该值大于最大消耗度(maxExhaustion)后归零,并且把饱和度(saturation)减少1(为了说明饥饿度机制,我们将此定义为消耗事件

  • 参数

  • 返回值

    数据类型
    说明
    float 玩家foodExhaustionLevel的归零值
  • 示例

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

# GetPlayerStarveLevel

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家饥饿临界值,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为1

  • 参数

  • 返回值

    数据类型
    说明
    int 饥饿临界值 -1表示获取失败
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
print(comp.GetPlayerStarveLevel())

# GetPlayerStarveTick

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    获取玩家饥饿掉血速度,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为80刻(即每4秒)扣除1点血量

  • 参数

  • 返回值

    数据类型
    说明
    int 饥饿掉血速度,-1表示获取失败
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
print(comp.GetPlayerStarveTick())

# GetPlayerTotalExp

服务端客户端

# 服务端接口

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

    获取玩家的总经验值

  • 参数

  • 返回值

    数据类型
    说明
    int 总经验值,正整数。获取失败的情况下返回-1。
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateExp(entityId)
print(comp.GetPlayerTotalExp())

# 客户端接口

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

    获取玩家的总经验值

  • 参数

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

    数据类型
    说明
    int 总经验值,正整数。获取失败的情况下返回-1。
  • 示例

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
print(comp.GetPlayerTotalExp(playerId))

# IsPlayerNaturalRegen

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    是否开启玩家自然恢复,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认开启

  • 参数

  • 返回值

    数据类型
    说明
    bool True表示开启,False表示关闭,None表示获取失败
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
print(comp.IsPlayerNaturalRegen())

# IsPlayerNaturalStarve

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动恢复血量,开启饥饿值且开启饥饿掉血时有效。原版默认开启

  • 参数

  • 返回值

    数据类型
    说明
    bool True表示开启,False表示关闭,None表示获取失败
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
print(comp.IsPlayerNaturalStarve())

# SetEnchantmentSeed

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项

  • 参数

    参数名
    数据类型
    说明
    enchantmentSeed int 种子,随机数量多,开发者可使用GetEnchantmentSeed获取当前的随机种子,自行记录
  • 返回值

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

    • 该属性会自动存档
  • 示例

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

# SetPlayerHealthLevel

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家健康临界值,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效.原版默认值为18

  • 参数

    参数名
    数据类型
    说明
    healthLevel int 健康临界值
  • 返回值

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

    • 注:健康临界值始终大于等于饥饿临界值。如果设置的健康临界值小于饥饿临界值,饥饿临界值将被设置为当前的健康临界值
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.SetPlayerHealthLevel(16) # 饥饿值大于等于16就会进入自然恢复状态,默认每隔4秒恢复1点血量

# SetPlayerHealthTick

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家自然恢复速度,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效.原版默认值为80刻(即每4秒)恢复1点血量

  • 参数

    参数名
    数据类型
    说明
    healthTick int 自然恢复速度
  • 返回值

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

    • 注:最小值为1,即每秒恢复20点血量
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.SetPlayerHealthTick(40) # 自然恢复状态下每隔2(40/20)秒恢复1点血量

# SetPlayerHunger

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家饥饿度。

  • 参数

    参数名
    数据类型
    说明
    value float 饥饿度
  • 返回值

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

    • 该接口修改的饥饿度不能触发PlayerHungerChangeServerEvent事件
  • 示例

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

# SetPlayerMaxExhaustionValue

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家最大消耗度(maxExhaustion),通过调整 最大消耗度(maxExhaustion) 的大小,就可以调整 饥饿度(hunger) 的消耗速度,当 最大消耗度(maxExhaustion) 很大时,饥饿度可以看似一直不下降

  • 参数

    参数名
    数据类型
    说明
    value float 最大消耗度(maxExhaustion)
  • 返回值

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

    • 例如:当 最大消耗度(maxExhaustion) 为4时,玩家的饥饿消耗速度是 最大消耗度(maxExhaustion) 为8时的两倍
  • 示例

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

# SetPlayerNaturalRegen

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置是否开启玩家自然恢复,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效.原版默认开启

  • 参数

    参数名
    数据类型
    说明
    value bool True开启,False关闭
  • 返回值

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

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.SetPlayerNaturalRegen(False) # 关闭自然恢复,即使饥饿值大于健康临界值时也不会恢复血量

# SetPlayerNaturalStarve

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效.原版默认开启

  • 参数

    参数名
    数据类型
    说明
    value bool True开启,False关闭
  • 返回值

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

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.SetPlayerNaturalStarve(False) # 关闭饥饿掉血,即使饥饿值小于饥饿临界值时也不会扣除血量

# SetPlayerPrefixAndSuffixName

服务端

method in mod.server.component.nameCompServer.NameComponentServer

  • 描述

    设置玩家前缀和后缀名字

  • 参数

    参数名
    数据类型
    说明
    prefix str 前缀内容
    prefixColor str 前缀内容颜色描述,可以使用GenerateColor接口传入参数
    suffix str 后缀内容
    suffixColor str 后缀内容颜色描述,可以使用GenerateColor接口传入参数
    nameColor str 名字颜色描述,可以使用GenerateColor接口传入参数,默认为空
  • 返回值

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

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateName(playerId)
comp.SetPlayerPrefixAndSuffixName("红队",serverApi.GenerateColor('RED'),'肉盾',serverApi.GenerateColor('RED'), serverApi.GenerateColor('BLUE'))

# SetPlayerStarveLevel

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家饥饿临界值,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为1

  • 参数

    参数名
    数据类型
    说明
    starveLevel int 饥饿临界值
  • 返回值

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

    • 注:健康临界值始终大于等于饥饿临界值。如果设置的饥饿临界值大于健康临界值,将被设置为当前的健康临界值
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.SetPlayerStarveLevel(2) # 饥饿值小于等于2就会进入饥饿掉血状态,默认每隔4秒掉1点血量

# SetPlayerStarveTick

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

    设置玩家饥饿掉血速度,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效.原版默认值为80刻(即每4秒)扣除1点血量

  • 参数

    参数名
    数据类型
    说明
    starveTick int 饥饿掉血速度
  • 返回值

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

    • 注:最小值为1,即每秒扣20点血量
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreatePlayer(entityId)
comp.SetPlayerStarveTick(40) # 饥饿掉血状态下每隔2(40/20)秒扣除1点血量

# SetPlayerTotalExp

服务端

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

    设置玩家的总经验值

  • 参数

    参数名
    数据类型
    说明
    exp int 总经验值,正整数
  • 返回值

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

    • 根据总经验值会重新计算等级,该接口可引起等级的变化
    • 内部运算采用浮点数,数值较大时会出现误差
  • 示例

import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateExp(entityId)
comp.SetPlayerTotalExp(25)

# Swing

客户端

method in mod.client.component.playerCompClient.PlayerCompClient

  • 描述

    本地玩家播放原版攻击动作

  • 参数

  • 返回值

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

import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreatePlayer(clientApi.GetLevelId())
comp.Swing()

# getUid

客户端

method in mod.client.component.playerCompClient.PlayerCompClient

  • 描述

    获取本地玩家的uid

  • 参数

  • 返回值

    数据类型
    说明
    long或None 玩家uid
  • 备注

    • 不是客户端线程或者没有经过登录认证获取的uid为None。在当前机器上调用该接口获取的值为固定值,不依赖创建的player
    • getUid接口不能在加载mod过程中使用,推荐开发者在OnLocalPlayerStopLoading事件触发之后再使用
  • 示例

comp = clientApi.GetEngineCompFactory().CreatePlayer(entityId)
uid = comp.getUid()

AddPlayerExperience

AddPlayerLevel

CollectOnlineClientData

GetArmorValue

GetEnchantmentSeed

GetPlayerCurLevelExp

GetPlayerExp

服务端接口

客户端接口

GetPlayerHealthLevel

GetPlayerHealthTick

GetPlayerHunger

服务端接口

客户端接口

GetPlayerLevel

GetPlayerMaxExhaustionValue

GetPlayerStarveLevel

GetPlayerStarveTick

GetPlayerTotalExp

服务端接口

客户端接口

IsPlayerNaturalRegen

IsPlayerNaturalStarve

SetEnchantmentSeed

SetPlayerHealthLevel

SetPlayerHealthTick

SetPlayerHunger

SetPlayerMaxExhaustionValue

SetPlayerNaturalRegen

SetPlayerNaturalStarve

SetPlayerPrefixAndSuffixName

SetPlayerStarveLevel

SetPlayerStarveTick

SetPlayerTotalExp

Swing

getUid