Skip to content

属性

AddPlayerExperience

服务端

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

    增加玩家经验值

  • 参数

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

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

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

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

AddPlayerLevel

服务端

method in mod.server.component.levelCompServer.LevelComponentServer

  • 描述

    修改玩家等级

  • 参数

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

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

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

CollectOnlineClientData

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

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

  • 备注

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

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

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

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

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

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

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

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

python
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

  • 描述

    获取玩家护甲值

  • 参数

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

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

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

GetEnchantmentSeed

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

  • 返回值

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

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

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

GetPlayerCurLevelExp

客户端

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

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

  • 参数

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

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

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

GetPlayerExp

服务端客户端

服务端接口

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

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

  • 参数

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

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

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

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

客户端接口

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

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

  • 参数

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

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

python
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表示获取失败
  • 示例

python
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表示获取失败
  • 示例

python
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玩家饥饿度
  • 示例

python
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玩家饥饿度
  • 示例

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

GetPlayerLevel

服务端

method in mod.server.component.levelCompServer.LevelComponentServer

  • 描述

    获取玩家等级

  • 参数

  • 返回值

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

python
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的归零值
  • 示例

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

GetPlayerStarveLevel

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

  • 返回值

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

python
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表示获取失败
  • 示例

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

GetPlayerTotalExp

服务端客户端

服务端接口

method in mod.server.component.expCompServer.ExpComponentServer

  • 描述

    获取玩家的总经验值

  • 参数

  • 返回值

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

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

客户端接口

method in mod.client.component.gameCompClient.GameComponentClient

  • 描述

    获取玩家的总经验值

  • 参数

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

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

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

IsPlayerNaturalRegen

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

  • 返回值

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

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

IsPlayerNaturalStarve

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

  • 返回值

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

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

SetEnchantmentSeed

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

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

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

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

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

SetPlayerHealthLevel

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

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

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

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

python
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点血量

  • 参数

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

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

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

python
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

  • 描述

    设置玩家饥饿度。

  • 参数

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

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

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

python
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) 很大时,饥饿度可以看似一直不下降

  • 参数

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

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

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

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

SetPlayerNaturalRegen

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

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

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

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

SetPlayerNaturalStarve

服务端

method in mod.server.component.playerCompServer.PlayerCompServer

  • 描述

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

  • 参数

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

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

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

SetPlayerPrefixAndSuffixName

服务端

method in mod.server.component.nameCompServer.NameComponentServer

  • 描述

    设置玩家前缀和后缀名字

  • 参数

    参数名
    数据类型
    说明
    prefixstr前缀内容
    prefixColorstr前缀内容颜色描述,可以使用GenerateColor接口传入参数
    suffixstr后缀内容
    suffixColorstr后缀内容颜色描述,可以使用GenerateColor接口传入参数
    nameColorstr名字颜色描述,可以使用GenerateColor接口传入参数,默认为空
  • 返回值

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

python
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

  • 参数

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

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

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

python
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点血量

  • 参数

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

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

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

python
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

  • 描述

    设置玩家的总经验值

  • 参数

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

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

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

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

Swing

客户端

method in mod.client.component.playerCompClient.PlayerCompClient

  • 描述

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

  • 参数

  • 返回值

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

python
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事件触发之后再使用
  • 示例

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