---
sidebarDepth: 1
---
# 控制
# 索引
包括屏幕操作的相关接口
---
| 接口 |
| 描述 |
| --- | --- | --- |
| [AddPickBlacklist](控制.md#addpickblacklist) | 客户端 | 添加使用camera组件(例如GetChosen接口、PickFacing接口)选取实体时的黑名单,即该实体不会被选取到 |
| [ClearPickBlacklist](控制.md#clearpickblacklist) | 客户端 | 清除使用camera组件(例如GetChosen接口、PickFacing接口)选取实体的黑名单 |
| [GetChosen](控制.md#getchosen) | 客户端 | 获取屏幕点击位置的实体或方块信息,通常与GetEntityByCoordEvent配合使用 |
| [GetChosenEntity](控制.md#getchosenentity) | 客户端 | 获取屏幕点击位置的实体id,通常与GetEntityByCoordEvent配合使用 |
| [GetHoldTimeThresholdInMs](控制.md#getholdtimethresholdinms) | 客户端 | 获取长按判定时间,即按着屏幕多长时间会触发长按操作 |
| [GetInputVector](控制.md#getinputvector) | 客户端 | 获取方向键(移动轮盘)的输入 |
| [GetMousePosition](控制.md#getmouseposition) | 客户端 | 获取鼠标位置 |
| [GetTouchPos](控制.md#gettouchpos) | 客户端 | 获取点击的屏幕坐标。可以监听TapBeforeClientEvent或TapOrHoldReleaseClientEvent事件,调用本API获取点击坐标。 |
| [IsCanAttack](控制.md#iscanattack) | 客户端 | 获取玩家是否响应攻击 |
| [IsCanChat](控制.md#iscanchat) | 客户端 | 获取玩家是否响应聊天按钮 |
| [IsCanDrag](控制.md#iscandrag) | 客户端 | 获取玩家是否响应屏幕拖动 |
| [IsCanInair](控制.md#iscaninair) | 客户端 | 获取玩家是否响应打上升下降按钮 |
| [IsCanJump](控制.md#iscanjump) | 客户端 | 获取玩家是否响应跳跃(以及在水中浮起) |
| [IsCanMove](控制.md#iscanmove) | 客户端 | 获取玩家是否响应移动 |
| [IsCanOpenInv](控制.md#iscanopeninv) | 客户端 | 获取玩家是否响应打开背包按钮 |
| [IsCanPause](控制.md#iscanpause) | 客户端 | 获取玩家是否响应暂停按钮 |
| [IsCanPauseScreen](控制.md#iscanpausescreen) | 客户端 | 获取玩家是否可以打开暂停界面 |
| [IsCanPerspective](控制.md#iscanperspective) | 客户端 | 获取玩家是否响应切换视角 |
| [IsCanScreenShot](控制.md#iscanscreenshot) | 客户端 | 获取玩家是否响应截图按钮 |
| [IsCanWalkMode](控制.md#iscanwalkmode) | 客户端 | 获取玩家是否响应切换行走模式 |
| [IsTouchWithMouse](控制.md#istouchwithmouse) | 客户端 | 获取是否正在使用鼠标点击模拟触屏 |
| [LockInputVector](控制.md#lockinputvector) | 客户端 | 锁定本地玩家方向键(移动轮盘)的输入,可使本地玩家持续向指定方向前行,且不会再受玩家输入影响 |
| [LockVerticalMove](控制.md#lockverticalmove) | 客户端 | 模拟上升或下降,调用后一直上升或下降 |
| [PickFacing](控制.md#pickfacing) | 客户端 | 获取准星选中的实体或者方块 |
| [SetCanAll](控制.md#setcanall) | 客户端 | 同时设置SetCanMove,SetCanJump,SetCanAttack,SetCanWalkMode,SetCanPerspective,SetCanPause,SetCanChat,SetCanScreenShot,SetCanOpenInv,SetCanDrag,SetCanInair |
| [SetCanAttack](控制.md#setcanattack) | 客户端 | 设置是否响应攻击 |
| [SetCanChat](控制.md#setcanchat) | 客户端 | 设置是否响应聊天按钮 |
| [SetCanDrag](控制.md#setcandrag) | 客户端 | 设置是否响应屏幕拖动 |
| [SetCanInair](控制.md#setcaninair) | 客户端 | 设置是否响应上升下降按钮(飞在空中时右下角的三个按钮) |
| [SetCanJump](控制.md#setcanjump) | 客户端 | 设置是否响应跳跃(以及在水中浮起) |
| [SetCanMove](控制.md#setcanmove) | 客户端 | 设置是否响应移动 |
| [SetCanOpenInv](控制.md#setcanopeninv) | 客户端 | 设置是否响应打开背包按钮 |
| [SetCanPause](控制.md#setcanpause) | 客户端 | 设置是否响应暂停按钮 |
| [SetCanPauseScreen](控制.md#setcanpausescreen) | 客户端 | 设置是否可以打开暂停界面 |
| [SetCanPerspective](控制.md#setcanperspective) | 客户端 | 设置是否响应切换视角 |
| [SetCanScreenShot](控制.md#setcanscreenshot) | 客户端 | 设置是否响应截图按钮 |
| [SetCanWalkMode](控制.md#setcanwalkmode) | 客户端 | 设置是否响应切换行走模式 |
| [SetControlMode](控制.md#setcontrolmode) | 客户端 | 设置控制模式 |
| [SetControlModeLock](控制.md#setcontrolmodelock) | 客户端 | 设置控制模式是否可以被改变 |
| [SetDeviceVibrate](控制.md#setdevicevibrate) | 客户端 | 设置设备震动 |
| [SetGyroSensorReportRate](控制.md#setgyrosensorreportrate) | 客户端 | 设置陀螺仪传感器(上报/触发)频率 |
| [SetHoldTimeThreshold](控制.md#setholdtimethreshold) | 客户端 | 设置长按判定时间,即按着屏幕多长时间会触发长按操作 |
| [SetMoveLock](控制.md#setmovelock) | 客户端 | 设置是否锁住移动。实际上为是否响应十字键与遥感的操作。 |
| [SetShowRideUI](控制.md#setshowrideui) | 服务端 | 设置是否显示马匹的UI界面 |
| [SimulateTouchWithMouse](控制.md#simulatetouchwithmouse) | 客户端 | 模拟使用鼠标控制UI(PC F11快捷键) |
| [ToggleGyroSensor](控制.md#togglegyrosensor) | 客户端 | 开启或关闭陀螺仪传感器采集 |
| [UnLockVerticalMove](控制.md#unlockverticalmove) | 客户端 | 解除上升或下降状态 |
| [UnlockInputVector](控制.md#unlockinputvector) | 客户端 | 解锁本地玩家方向键(移动轮盘)的输入 |
## AddPickBlacklist
客户端
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
添加使用camera组件(例如GetChosen接口、PickFacing接口)选取实体时的黑名单,即该实体不会被选取到
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| entityId | str | 实体id |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
# 添加黑名单
comp.AddPickBlacklist(entityId)
```
## ClearPickBlacklist
客户端
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
清除使用camera组件(例如GetChosen接口、PickFacing接口)选取实体的黑名单
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
# 清除黑名单中所有实体
comp.ClearPickBlacklist()
```
## GetChosen
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取屏幕点击位置的实体或方块信息,通常与GetEntityByCoordEvent配合使用
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| dict | 选中目标的数据,详见[PickFacing接口](控制.md#pickfacing)的备注 |
- 备注
- 目前只有在第一人称视角才能准确获取
- 示例
```python
import mod.client.extraClientApi as clientApi
# 当玩家点击屏幕时获取点击位置的entityId
class MyClientSystem(ClientSystem):
def __init__(self, namespace, name):
ClientSystem.__init__(self, namespace, name)
self.ListenForEvent('Minecraft', 'Engine', 'GetEntityByCoordEvent', self, self.click)
def click(self, args):
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
pickData = comp.GetChosen()
```
## GetChosenEntity
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取屏幕点击位置的实体id,通常与GetEntityByCoordEvent配合使用
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| str | 实体id |
- 备注
- 目前只有在第一人称视角才能准确获取
- 示例
```python
# 当玩家点击屏幕时获取点击位置的entityId
import mod.client.extraClientApi as clientApi
class MyClientSystem(ClientSystem):
def __init__(self, namespace, name):
ClientSystem.__init__(self, namespace, name)
self.ListenForEvent('Minecraft', 'Engine', 'GetEntityByCoordEvent', self, self.click)
def click(self, args):
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
entityId = comp.GetChosenEntity()
```
## GetHoldTimeThresholdInMs
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取长按判定时间,即按着屏幕多长时间会触发长按操作
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| int | 时间,单位毫秒。默认为400 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
timeMs = comp.GetHoldTimeThresholdInMs()
```
## GetInputVector
客户端
method in mod.client.component.actorMotionCompClient.ActorMotionComponentClient
- 描述
获取方向键(移动轮盘)的输入
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float) | 返回一个单位向量,向量第一项为向左的大小,第二项为向前的大小 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorMotion(localPlayerId)
left, up = comp.GetInputVector()
```
## GetMousePosition
客户端
method in mod.client.component.actorMotionCompClient.ActorMotionComponentClient
- 描述
获取鼠标位置
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float) | 返回一个tuple,第一个元素为x坐标,第一个元素为y坐标,非PC会返回None |
- 备注
- 仅在PC有效果,非PC会返回None。仅在PushScreen时正常获取
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorMotion(localPlayerId)
comp.GetMousePosition()
```
## GetTouchPos
客户端
method in mod.client.extraClientApi
- 描述
获取点击的屏幕坐标。可以监听TapBeforeClientEvent或TapOrHoldReleaseClientEvent事件,调用本API获取点击坐标。
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| tuple(float,float) | 屏幕坐标 |
- 示例
```python
import mod.client.extraClientApi as clientApi
def GetTouchPosTest():
touchX, touchY = clientApi.GetTouchPos()
```
## IsCanAttack
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应攻击
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应攻击 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanAttack()
```
## IsCanChat
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应聊天按钮
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应聊天按钮 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanChat()
```
## IsCanDrag
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应屏幕拖动
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应屏幕拖动 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanDrag()
```
## IsCanInair
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应打上升下降按钮
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应打上升下降按钮 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanInair()
```
## IsCanJump
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应跳跃(以及在水中浮起)
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应跳跃(以及在水中浮起) |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanJump()
```
## IsCanMove
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应移动
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应移动 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanMove()
```
## IsCanOpenInv
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应打开背包按钮
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应打开背包按钮 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanOpenInv()
```
## IsCanPause
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应暂停按钮
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应暂停按钮 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanPause()
```
## IsCanPauseScreen
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否可以打开暂停界面
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否可以打开暂停界面 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanPauseScreen()
```
## IsCanPerspective
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应切换视角
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应切换视角 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanPerspective()
```
## IsCanScreenShot
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应截图按钮
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应截图按钮 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanScreenShot()
```
## IsCanWalkMode
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
获取玩家是否响应切换行走模式
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否响应切换行走模式 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.IsCanWalkMode()
```
## IsTouchWithMouse
客户端
method in mod.client.extraClientApi
- 描述
获取是否正在使用鼠标点击模拟触屏
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否在用鼠标模拟触屏 |
- 备注
- 该接口只适用于PC端
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.IsTouchWithMouse()
```
## LockInputVector
客户端
method in mod.client.component.actorMotionCompClient.ActorMotionComponentClient
- 描述
锁定本地玩家方向键(移动轮盘)的输入,可使本地玩家持续向指定方向前行,且不会再受玩家输入影响
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| inputVector | tuple(float,float) | 输入向量,第一项控制向左的大小,第二项控制向前的大小。传入(0, 0)时玩家将会被强制固定在原地,不允许移动。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否锁定成功,True:成功 False:失败 |
- 备注
- 传入的向量会被转化为单位向量,因此传入(10, 0)与传入(0.1, 0)效果相同
- 示例
```python
import mod.client.extraClientApi as clientApi
# 使玩家向左前方持续移动
localPlayerId = clientApi.GetLocalPlayerId()
rotComp = clientApi.GetEngineCompFactory().CreateRot(localPlayerId)
motionComp = clientApi.GetEngineCompFactory().CreateActorMotion(localPlayerId)
motionComp.LockInputVector((1, 1))
```
## LockVerticalMove
客户端
method in mod.client.component.actorMotionCompClient.ActorMotionComponentClient
- 描述
模拟上升或下降,调用后一直上升或下降
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| flag | bool | True 上升, False 下降 |
- 返回值
无
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorMotion(localPlayerId)
comp.LockVerticalMove(flag)
```
## PickFacing
客户端
method in mod.client.component.cameraCompClient.CameraComponentClient
- 描述
获取准星选中的实体或者方块
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| dict | 选中目标的数据,详见备注 |
- 备注
- 选中目标为实体时,返回值为:
```python
{
"type": "Entity",
"entityId": entityId,
"hitPosX" : x, #精准碰撞点的x轴坐标,类型为float
"hitPosY" : y, #精准碰撞点的y轴坐标,类型为float
"hitPosZ" : z #精准碰撞点的z轴坐标,类型为float
}
```
- 选中目标为方块时,返回值为:
```python
{
"type": "Block",
"x": x,
"y": y,
"z": z,
"face": face,
"hitPosX" : x, #精准碰撞点的x轴坐标,类型为float
"hitPosY" : y, #精准碰撞点的y轴坐标,类型为float
"hitPosZ" : z #精准碰撞点的z轴坐标,类型为float
}
```
- 没有选中目标时,返回值为:
```python
{
"type": "None"
}
```
- 备注:由于引擎限制,准星指向实体时候的hitPosXYZ依旧是实体脚底中心的坐标,而不是射线与碰撞箱实际的相交坐标。
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateCamera(levelId)
pickData = comp.PickFacing()
```
## SetCanAll
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
同时设置SetCanMove,SetCanJump,SetCanAttack,SetCanWalkMode,SetCanPerspective,SetCanPause,SetCanChat,SetCanScreenShot,SetCanOpenInv,SetCanDrag,SetCanInair
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| all | bool | True为全部响应 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 要在其他属性设置之前设置,不然在all之前设置的会被覆盖掉
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 全部设置为不响应
comp.SetCanAll(False)
```
## SetCanAttack
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应攻击
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| attack | bool | True为可攻击 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 触屏模式下,设置SetCanAttack(False)后,将屏蔽点击效果。 <攻击实体,放置方块,开关门,拉动拉杆,点击有UI界面的方块(如工作台)> 将失效。注意,不屏蔽点击交互按钮(例如交易、骑乘等按钮),不屏蔽破坏方块。
- PC的键鼠模式下,设置SetCanAttack(False)后, 将屏蔽鼠标左键效果。<攻击实体,破坏方块> 将失效。
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应攻击
comp.SetCanAttack(False)
```
## SetCanChat
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应聊天按钮
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| chat | bool | True为可打开聊天页面 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应聊天按钮
comp.SetCanChat(False)
```
## SetCanDrag
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应屏幕拖动
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| drag | bool | True为可拖动屏幕 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应屏幕拖动
comp.SetCanDrag(False)
```
## SetCanInair
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应上升下降按钮(飞在空中时右下角的三个按钮)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| inair | bool | True为可点击 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应空中控制按钮
comp.SetCanInair(False)
```
## SetCanJump
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应跳跃(以及在水中浮起)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| jump | bool | True为可跳跃 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应跳跃
comp.SetCanJump(False)
```
## SetCanMove
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应移动
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| move | bool | True为可移动 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 与SetMoveLock的区别:调用SetCanMove会清除当前Input Vector,例如玩家一直按着前进键,调用SetCanMove(False)会立即停下来,调用SetMoveLock(True)则不会。
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应移动
comp.SetCanMove(False)
```
## SetCanOpenInv
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应打开背包按钮
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| open | bool | True为可打开背包 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应打开背包按钮
comp.SetCanOpenInv(False)
```
## SetCanPause
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应暂停按钮
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| pause | bool | True为可打开暂停页面 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应暂停按钮
comp.SetCanPause(False)
```
## SetCanPauseScreen
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否可以打开暂停界面
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| pause | bool | True为可打开暂停页面 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应暂停按钮
comp.SetCanPauseScreen(False)
```
## SetCanPerspective
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应切换视角
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| persp | bool | True为可切换 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应切换视角
comp.SetCanPerspective(False)
```
## SetCanScreenShot
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应截图按钮
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| shot | bool | True为可截图 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应截图按钮
comp.SetCanScreenShot(False)
```
## SetCanWalkMode
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否响应切换行走模式
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| walkmode | bool | True为可切换 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 不响应切换行走模式
comp.SetCanWalkMode(False)
```
## SetControlMode
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置控制模式
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| mode | int | 控制模式,0:摇杆并点击互动, 1:摇杆并瞄准十字线, 2:方向键并点击互动 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置成功返回true,失败返回false |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.SetControlMode(mode)
```
## SetControlModeLock
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置控制模式是否可以被改变
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| lock | bool | true则控制模式锁定,无法打开对应设置界面,false则控制模式可以被改变 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置成功返回true,失败返回false |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.SetControlModeLock(lock)
```
## SetDeviceVibrate
客户端
method in mod.client.component.deviceCompClient.DeviceCompClient
- 描述
设置设备震动
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| milliSeconds | int | 震动时间(单位:毫秒),iOS设备该参数无效,无论传入多少均只震动一下,替代方案:可以通过高频调用实现长震动,如每秒调用本接口30次。 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 部分设备1分钟内累计震动时间过长会导致设置失败,请尽量不要设置过长的震动时间
- 设置震动失败(函数返回False)的可能原因:当前已经处于震动状态、设备不支持震动等
- 即使函数返回值为True,也有可能因为未正确判断设备是否支持震动、设备权限上禁止震动等原因未能真正震动
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateDevice(entityId)
comp.SetDeviceVibrate(1000)
```
## SetGyroSensorReportRate
客户端
method in mod.client.extraClientApi
- 描述
设置陀螺仪传感器(上报/触发)频率
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| reportRate | int | 上报/触发频率,默认为1hz,范围为1hz - 200hz |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 备注
- 注意: 设置的上报频率只是期望频率,由于硬件的实现,实际上的上报频率会比设置值高
- 该接口只适用于移动端
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.SetGyroSensorReportRate(reportRate)
```
## SetHoldTimeThreshold
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置长按判定时间,即按着屏幕多长时间会触发长按操作
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| time | int | 时间,单位毫秒。默认为400 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
comp.SetHoldTimeThreshold(100)
```
## SetMoveLock
客户端
method in mod.client.component.operationCompClient.OperationCompClient
- 描述
设置是否锁住移动。实际上为是否响应十字键与遥感的操作。
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| movelock | bool | True为锁住 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置是否成功 |
- 备注
- 与SetCanMove的区别:调用SetCanMove会清除当前Input Vector,例如玩家一直按着前进键,调用SetCanMove(False)会立即停下来,调用SetMoveLock(True)则不会。
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateOperation(levelId)
# 锁住移动
comp.SetMoveLock(True)
```
## SetShowRideUI
服务端
method in mod.server.component.rideCompServer.RideCompServer
- 描述
设置是否显示马匹的UI界面
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| tamedEntityId | str | 可骑乘生物id |
| isShowUI | bool | 是否显示UI |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 设置结果 |
- 示例
```python
import mod.server.extraServerApi as serverApi
comp = serverApi.GetEngineCompFactory().CreateRide(entityId)
comp.SetShowRideUI(entityId,False)
```
## SimulateTouchWithMouse
客户端
method in mod.client.component.gameCompClient.GameComponentClient
- 描述
模拟使用鼠标控制UI(PC F11快捷键)
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| touch | bool | True:进入鼠标模式,False:退出鼠标模式 |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 模拟结果 |
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateGame(levelId)
comp.SimulateTouchWithMouse(True)
```
## ToggleGyroSensor
客户端
method in mod.client.extraClientApi
- 描述
开启或关闭陀螺仪传感器采集
- 参数
| 参数名 | 数据类型
| 说明 |
| :--- | :--- | :--- |
| isOpen | bool | True开启,False关闭,默认False |
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否设置成功 |
- 备注
- 注意: 开启后需要重新设置一次上报频率
- 该接口只适用于移动端
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.ToggleGyroSensor(False)
# 开启后需要重新设置一次上报频率
clientApi.SetGyroSensorReportRate(10)
```
## UnLockVerticalMove
客户端
method in mod.client.component.actorMotionCompClient.ActorMotionComponentClient
- 描述
解除上升或下降状态
- 参数
无
- 返回值
无
- 示例
```python
import mod.client.extraClientApi as clientApi
comp = clientApi.GetEngineCompFactory().CreateActorMotion(localPlayerId)
comp.UnLockVerticalMove()
```
## UnlockInputVector
客户端
method in mod.client.component.actorMotionCompClient.ActorMotionComponentClient
- 描述
解锁本地玩家方向键(移动轮盘)的输入
- 参数
无
- 返回值
| 数据类型
| 说明 |
| :--- | :--- |
| bool | 是否解锁成功,True:成功 False:失败 |
- 示例
```python
import mod.client.extraClientApi as clientApi
# 解锁使用LockInputVector锁定的本地玩家方向键(移动轮盘)输入
comp = clientApi.GetEngineCompFactory().CreateActorMotion(localPlayerId)
motionComp.UnlockInputVector()
```