# 索引

包括玩家属性与行为的接口,玩家的获取见世界/实体管理。玩家也属于实体,因此实体分类下的接口同样适用于玩家


# 属性

接口
描述
AddPlayerExperience 服务端 增加玩家经验值
AddPlayerLevel 服务端 修改玩家等级
CollectOnlineClientData 服务端 收集在线玩家客户端数据,用于判断玩家是否作弊
GetArmorValue 客户端 获取玩家护甲值
GetEnchantmentSeed 服务端 获取玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项
GetPlayerCurLevelExp 客户端 获取玩家当前等级需要的经验值
GetPlayerExp 服务端 获取玩家当前等级下的经验值
GetPlayerExp 客户端 获取玩家当前等级下的经验值
GetPlayerHealthLevel 服务端 获取玩家健康临界值,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认值为18
GetPlayerHealthTick 服务端 获取玩家自然恢复速度,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认值为80刻(即每4秒)恢复1点血量
GetPlayerHunger 服务端 获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)
1)增加方法:吃食物。
2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。
GetPlayerHunger 客户端 获取玩家饥饿度,展示在UI饥饿度进度条上,初始值为20,即每一个鸡腿代表2个饥饿度。 饱和度(saturation) :玩家当前饱和度,初始值为5,最大值始终为玩家当前饥饿度(hunger),该值直接影响玩家饥饿度(hunger)
1)增加方法:吃食物。
2)减少方法:每触发一次消耗事件,该值减少1,如果该值不大于0,直接把玩家 饥饿度(hunger) 减少1。
GetPlayerLevel 服务端 获取玩家等级
GetPlayerMaxExhaustionValue 服务端 获取玩家foodExhaustionLevel的归零值,常量值,默认为4。消耗度(exhaustion)是指玩家当前消耗度水平,初始值为0,该值会随着玩家一系列动作(如跳跃)的影响而增加,当该值大于最大消耗度(maxExhaustion)后归零,并且把饱和度(saturation)减少1(为了说明饥饿度机制,我们将此定义为消耗事件
GetPlayerStarveLevel 服务端 获取玩家饥饿临界值,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为1
GetPlayerStarveTick 服务端 获取玩家饥饿掉血速度,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为80刻(即每4秒)扣除1点血量
GetPlayerTotalExp 服务端 获取玩家的总经验值
GetPlayerTotalExp 客户端 获取玩家的总经验值
IsPlayerNaturalRegen 服务端 是否开启玩家自然恢复,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效。原版默认开启
IsPlayerNaturalStarve 服务端 是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动恢复血量,开启饥饿值且开启饥饿掉血时有效。原版默认开启
SetEnchantmentSeed 服务端 设置玩家的附魔种子,该种子会决定附魔台上准备附魔的装备的附魔项
SetPlayerHealthLevel 服务端 设置玩家健康临界值,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效.原版默认值为18
SetPlayerHealthTick 服务端 设置玩家自然恢复速度,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效.原版默认值为80刻(即每4秒)恢复1点血量
SetPlayerHunger 服务端 设置玩家饥饿度。
SetPlayerMaxExhaustionValue 服务端 设置玩家最大消耗度(maxExhaustion),通过调整 最大消耗度(maxExhaustion) 的大小,就可以调整 饥饿度(hunger) 的消耗速度,当 最大消耗度(maxExhaustion) 很大时,饥饿度可以看似一直不下降
SetPlayerNaturalRegen 服务端 设置是否开启玩家自然恢复,当饥饿值大于等于健康临界值时会自动恢复血量,开启饥饿值且开启自然恢复时有效.原版默认开启
SetPlayerNaturalStarve 服务端 设置是否开启玩家饥饿掉血,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效.原版默认开启
SetPlayerPrefixAndSuffixName 服务端 设置玩家前缀和后缀名字
SetPlayerStarveLevel 服务端 设置玩家饥饿临界值,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效。原版默认值为1
SetPlayerStarveTick 服务端 设置玩家饥饿掉血速度,当饥饿值小于饥饿临界值时会自动扣除血量,开启饥饿值且开启饥饿掉血时有效.原版默认值为80刻(即每4秒)扣除1点血量
SetPlayerTotalExp 服务端 设置玩家的总经验值
Swing 客户端 本地玩家播放原版攻击动作
getUid 客户端 获取本地玩家的uid

# 行为

接口
描述
AddPlayerAroundEntityMotion 服务端 给玩家添加对实体环绕运动器
AddPlayerAroundPointMotion 服务端 给玩家添加对点环绕运动器
AddPlayerTrackMotion 服务端 给玩家添加轨迹运动器
AddPlayerVelocityMotion 服务端 给玩家添加速度运动器
BeginSprinting 客户端 使本地玩家进入并保持向前疾跑/冲刺状态
ChangePlayerDimension 服务端 传送玩家
ChangePlayerFlyState 服务端 给予/取消飞行能力, 并根据enterFly参数确定是否进入飞行状态
EnableKeepInventory 服务端 设置玩家死亡不掉落物品
EndSprinting 客户端 使本地玩家结束向前疾跑/冲刺状态
GetEntityRider 服务端 获取骑乘者正在骑乘的实体的id。
GetEntityRider 客户端 获取骑乘者正在骑乘的实体的id。
GetInteracteCenterOffset 服务端 获取玩家服务端交互中心的偏移
GetIsBlocking 服务端 获取玩家激活盾牌状态
GetPickCenterOffset 客户端 获取玩家设置的第三人称下客户端交互中心的偏移
GetPickRange 客户端 获取玩家客户端的交互距离
GetPlayerExhaustionRatioByType 服务端 获取玩家某行为饥饿度消耗倍率
GetPlayerInteracteRange 服务端 获取玩家服务端的交互距离
GetPlayerMotions 服务端 获取玩家身上的所有运动器
GetPlayerRespawnPos 服务端 获取玩家复活点
GetRelevantPlayer 服务端 获取附近玩家id列表
IsEntityRiding 服务端 检查玩家是否骑乘。
IsPlayerCanFly 服务端 获取玩家能否飞行
IsPlayerFlying 服务端 获取玩家是否在飞行
OpenWorkBench 服务端 在玩家当前位置打开工作台UI,不依赖于工作台方块
PickUpItemEntity 服务端 某个Player拾取物品ItemEntity
PlayerAttackEntity 服务端 玩家使用手持武器攻击某个生物
PlayerDestoryBlock 服务端 使用手上工具破坏方块
PlayerUseItemToEntity 服务端 玩家使用手上物品对某个生物使用
PlayerUseItemToPos 服务端 模拟玩家对某个坐标使用物品
RemovePlayerMotion 服务端 移除玩家身上的运动器
SetBanPlayerFishing 服务端 设置是否屏蔽玩家钓鱼功能,屏蔽后玩家可以正常抛甩鱼竿,但无法钓起任何物品
SetInteracteCenterOffset 服务端 设置玩家服务端交互中心的偏移
SetPickCenterOffset 客户端 设置第三人称下,玩家客户端交互中心的偏移
SetPickRange 客户端 设置玩家客户端的交互距离
SetPickUpArea 服务端 设置玩家的拾取物品范围,设置后该玩家的拾取物品范围会在原版拾取范围的基础上进行改变。
SetPlayerAttackSpeedAmplifier 服务端 设置玩家攻击速度倍数,1.0表示正常水平,1.2表示速度减益20%,0.8表示速度增益20%
SetPlayerExhaustionRatioByType 服务端 设置玩家某行为饥饿度消耗倍率
SetPlayerInteracteRange 服务端 设置玩家服务端的交互距离
SetPlayerJumpable 服务端 设置玩家是否可跳跃
SetPlayerMotion 服务端 设置玩家的瞬时移动方向向量(可解决SetMotion闪现问题)
SetPlayerMovable 服务端 设置玩家是否可移动
SetPlayerRespawnPos 服务端 设置玩家复活的位置与维度
SetPlayerRideEntity 服务端 设置玩家骑乘生物(或者船与矿车)
StartPlayerMotion 服务端 启动玩家身上的某个运动器
StopEntityRiding 服务端 强制骑乘者下坐骑。
StopPlayerMotion 服务端 停止玩家身上的某个运动器
isGliding 客户端 是否鞘翅飞行
isInWater 客户端 是否在水中
isMoving 客户端 是否在行走
isRiding 客户端 是否骑乘
isSneaking 服务端 获取玩家是否处于潜行状态
isSneaking 客户端 是否潜行
isSprinting 客户端 是否在疾跑
isSwimming 服务端 获取玩家是否处于游泳状态。
isSwimming 客户端 是否游泳
setMoving 客户端 设置是否行走,只能设置本地玩家(只适用于移动端)
setSneaking 客户端 设置是否潜行,只能设置本地玩家(只适用于移动端)
setSprinting 客户端 设置行走模式为疾跑/冲刺,只能设置本地玩家(只适用于移动端)
setUsingShield 客户端 激活盾牌状态

# 渲染

接口
描述
AddPlayerAnimation 客户端 增加玩家渲染动画
AddPlayerAnimationController 客户端 增加玩家渲染动画控制器
AddPlayerAnimationIntoState 客户端 在玩家的动画控制器中的状态添加动画或者动画控制器
AddPlayerGeometry 客户端 增加玩家渲染几何体
AddPlayerParticleEffect 客户端 增加玩家特效资源
AddPlayerRenderController 客户端 增加玩家渲染控制器
AddPlayerRenderMaterial 客户端 增加玩家渲染需要的材质
AddPlayerScriptAnimate 客户端 在玩家的客户端实体定义(minecraft:client_entity)json中的scripts/animate节点添加动画/动画控制器
AddPlayerSoundEffect 客户端 增加玩家音效资源
AddPlayerTexture 客户端 增加玩家渲染贴图
RebuildPlayerRender 客户端 重建玩家的数据渲染器
RemovePlayerAnimationController 客户端 移除玩家渲染动画控制器
RemovePlayerGeometry 客户端 删除玩家渲染几何体
RemovePlayerRenderController 客户端 删除玩家渲染控制器
ResetSkin 客户端 还原默认皮肤
SetPlayerItemInHandVisible 客户端 设置是否隐藏玩家的手持物品模型显示
SetSkin 客户端 更换原版自定义皮肤

# 背包

接口
描述
AddEnchantToInvItem 服务端 给物品栏的物品添加附魔信息
AddModEnchantToInvItem 服务端 给物品栏中物品添加自定义附魔信息
ChangePlayerItemTipsAndExtraId 服务端 修改玩家物品的自定义tips和自定义标识符
ChangeSelectSlot 服务端 设置玩家当前选中快捷栏物品的index
GetCarriedItem 客户端 获取右手物品的信息
GetInvItemEnchantData 服务端 获取物品栏的物品附魔信息
GetInvItemModEnchantData 服务端 获取物品栏的物品自定义附魔信息
GetOffhandItem 客户端 获取左手物品的信息
GetPlayerAllItems 服务端 获取玩家指定的槽位的批量物品信息
GetPlayerAllItems 客户端 获取玩家指定的槽位的批量物品信息,支持获取盔甲栏,副手以及主手物品,背包物品仅支持本地玩家
GetPlayerItem 服务端 获取玩家物品,支持获取背包,盔甲栏,副手以及主手物品
GetPlayerItem 客户端 获取玩家物品,支持获取背包(本地玩家),盔甲栏,副手以及主手物品
GetSelectSlotId 服务端 获取玩家当前选中槽位
GetSlotId 客户端 获取当前手持的快捷栏的槽id
RemoveEnchantToInvItem 服务端 给物品栏的物品移除附魔信息
RemoveModEnchantToInvItem 服务端 给物品栏中物品移除自定义附魔信息
SetInvItemExchange 服务端 交换玩家背包物品
SetInvItemNum 服务端 设置玩家背包物品数目
SetPlayerAllItems 服务端 添加批量物品信息到指定槽位
SpawnItemToPlayerCarried 服务端 生成物品到玩家右手
SpawnItemToPlayerInv 服务端 生成物品到玩家背包

# 摄像机

接口
描述
AddCameraAroundEntityMotion 客户端 给相机添加对实体环绕运动器
AddCameraAroundPointMotion 客户端 给相机添加对点环绕运动器
AddCameraTrackMotion 客户端 给相机添加轨迹运动器
AddCameraVelocityMotion 客户端 给相机添加速度运动器
DepartCamera 客户端 分离玩家与摄像机
GetCameraAnchor 客户端 获取相机锚点
GetCameraMotions 客户端 获取相机上的所有运动器
GetCameraOffset 客户端 获取摄像机偏移量
GetCameraPitchLimit 客户端 获取摄像机上下角度限制值
GetCameraRotation 客户端 获取摄像机的朝向
GetForward 客户端 返回相机向前的方向
GetFov 客户端 获取视野大小
GetFpHeight 客户端 获取本地玩家当前状态下,第一人称视角时的摄像机高度偏移量。游泳时,滑翔时以及普通状态下会有所不同
GetPerspective 客户端 获取当前的视角模式
GetPosition 客户端 返回相机中心
IsModCameraLockPitch 客户端 是否锁定摄像机上下角度
IsModCameraLockYaw 客户端 是否锁定摄像机左右角度
LockCamera 客户端 锁定摄像机
LockModCameraPitch 客户端 锁定摄像机上下角度(第三人称下生效,锁定后不能上下调整视角)
LockModCameraYaw 客户端 锁定摄像机左右角度(第三人称下生效,锁定后不能通过鼠标左右调整视角)
LockPerspective 客户端 锁定玩家的视角模式
RemoveCameraMotion 客户端 移除相机上的某个运动器
ResetCameraBindActorId 客户端 将摄像机重新绑定回主角身上
SetCameraAnchor 客户端 设置相机锚点
SetCameraBindActorId 客户端 将摄像机绑定到目标实体身上(调用者与目标必须在同一个dimension,同时需要在加载范围之内,若绑定后目标离开了范围或者死亡,则会自动解除绑定)
SetCameraDistanceFixed 客户端 设置相机弹簧臂固定,即设置当相机遇到阻挡时是否压缩与人物之间的距离
SetCameraOffset 客户端 设置摄像机偏移量
SetCameraPitchLimit 客户端 设置摄像机上下角度限制值,默认是(-90,90)
SetCameraPos 客户端 设置相机中心的位置
SetCameraRotation 客户端 设定摄像机的朝向
SetFov 客户端 设置视野大小
SetPerspective 客户端 设置视角模式
SetSpeedFovLock 客户端 是否锁定相机视野fov,锁定后不随速度变化而变化
StartCameraMotion 客户端 启动相机上的某个运动器
StopCameraMotion 客户端 停止相机上的某个运动器
UnDepartCamera 客户端 绑定玩家与摄像机
UnLockCamera 客户端 解除摄像机锁定

# 动画

接口
描述
PlayTpAnimation 客户端 第三人称视角播放玩家通用动作
StopAnimation 客户端 停止播放玩家通用动作

# 游戏模式

接口
描述
GetPlayerGameType 服务端 获取指定玩家的游戏模式
GetPlayerGameType 客户端 获取指定玩家的游戏模式
SetPlayerGameType 服务端 设置玩家个人游戏模式

# 权限

接口
描述
GetPlayerAbilities 服务端 获取玩家具体权限
GetPlayerOperation 服务端 获取玩家权限类型信息
SetAttackMobsAbility 服务端 设置玩家能否攻击生物
SetAttackPlayersAbility 服务端 设置玩家能否攻击其他玩家
SetBuildAbility 服务端 设置玩家能否放置方块,该接口的设置会存档,且只影响生存模式
SetMineAbility 服务端 设置玩家能否摧毁方块,该接口的设置会存档,且只影响生存模式
SetOpenContainersAbility 服务端 设置玩家能否打开容器
SetOperateDoorsAndSwitchesAbility 服务端 设置玩家能否与门和开关交互
SetOperatorCommandAbility 服务端 设置玩家是否具有操作员命令权限
SetPermissionLevel 服务端 设置玩家权限等级
SetPlayerMute 服务端 设置玩家是否禁言,该接口的设置不存档
SetTeleportAbility 服务端 设置玩家能否使用TP指令

# 导航

接口
描述
GetNavPath 客户端 获取本地玩家到目标点的寻路路径,开发者可以通过该接口定制自定义的导航系统。
StartNavTo 客户端 我们提供了一个基于GetNavPath的导航系统实现,做法是在路径上生成序列帧以引导玩家通向目标点,并且当玩家偏离路径会重新进行导航。
StopNav 客户端 终止当前的导航