# 属性
# 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()