game_utils 库 - 高级游戏接口
获取方法
python
from tooldelta import game_utils
1
game_utils 库 提供了一些使得获取游戏内数据更便捷的方法。
获取符合选择器的玩家列表
python
def getTarget(target: str, timeout = 5) -> list[str]
1
获取符合目标选择器的所有玩家的玩家名列表。
参数:
参数名 类型 说明 target str 玩家目标选择器 timeout float 获取超时时间, 默认为 5 秒, 超时引发 TimeoutError
返回:
- list[str]:玩家名列表
获取详细坐标信息
python
def getPos(target: str) -> dict
1
获取单个玩家的坐标相关的详细信息。
参数:
参数 类型 说明 target str 玩家名 / 玩家目标选择器 timeout float 获取超时时间,默认为 5 秒,超时引发 TimeoutError
返回:
dict
表示坐标详细信息, 其键值如下:- "Position":
- "x" (float):玩家 x 坐标
- "y" (float):玩家 y 坐标(经过修正)
- "z" (float):玩家 z 坐标
- "dimension" (int):玩家所在维度 ID
- "yRot" (float):玩家水平视角
报错:
类型 说明 ValueError 当目标玩家不存在时抛出该异常 ValueError 当获取位置信息失败时抛出该异常 AttributeError 当获取玩家 UUID 失败时抛出该异常
获取简略坐标
python
def getPosXYZ(target: str) -> tuple[float, float, float]
1
获取玩家的简略坐标值,并以坐标三元元组返回。
参数:
参数 类型 说明 target str 玩家名 / 玩家目标选择器 返回:
类型 说明 tuple[int, int, int] :简略坐标三元元组
获取背包内物品数量
python
def getItem(
target: str,
itemName: str,
itemSpecialID: int = -1
) -> int
1
2
3
4
5
2
3
4
5
获取单个玩家背包内指定的物品的数量。
参数:
参数 类型 说明 target str 玩家名 / 玩家目标选择器 itemName str 物品的 Minecraft ID, 如 "minecraft:diamond" itemSpecialID int 物品的特殊值, 默认为 -1 返回:
类型 说明 int 玩家持有的该物品的数量
获取计分板分数
python
def getScore(
scb_name: str,
target: str,
timeout: float = 30
) -> int
1
2
3
4
5
2
3
4
5
获取目标项的计分板对应分数。
参数:
参数名 类型 说明 scb_name str 计分板名 target str 玩家名 / 目标选择器 / 计分板项名 timeout float 获取超时时间,默认为 30 秒,超时引发 TimeoutError
返回:
- int: 分数
异常:
- ValueError: 计分板名 / 对应计分板项不存在
判断命令是否执行成功
python
def isCmdSuccess(cmd: str, timeout: float = 30) -> bool
1
发送一条 Minecraft 指令并返回其执行成功与否。
参数:
参数名 类型 说明 cmd str Minecraft 指令 timeout float 获取返回的超时时间,默认为 30 秒 返回:
- bool: 指令是否执行成功
异常:
- TimeoutError: 等待指令返回值超时
判断玩家是否为管理员
python
def is_op(playername: str) -> bool
1
判断一个在线玩家是否为管理员。
参数:
参数名 类型 说明 playername str 玩家名 返回:
- bool: 是否为管理员
从展示框取出物品
python
def take_item_out_item_frame(pos: tuple[int, int, int]) -> None
1
从物品展示框取出物品。
- 参数:
- pos (tuple[int, int, int]):物品展示框的坐标