game_utils 库 - 高级游戏接口
获取方法
python
from tooldelta import game_utils
1
game_utils 库 提供了一些使得获取游戏内数据更便捷的方法。
获取符合选择器的玩家列表
python
def getTarget(target: str, timeout = 5) -> list[str]
1
获取符合目标选择器的所有玩家的玩家名列表。
参数:
- target (str):玩家目标选择器
- timeout (int):获取超时时间, 默认为 5 秒, 超时引发
TimeoutError
返回:
- list[str]:玩家名列表
获取详细坐标信息
python
def getPos(target: str) -> dict
1
获取单个玩家的坐标相关的详细信息。
参数:
- target (str): 玩家名 / 玩家目标选择器
- timeout (float):获取超时时间, 默认为 5 秒, 超时引发
TimeoutError
返回:
- 坐标详细信息, 其键值如下:
- "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 秒
返回:
- 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]):物品展示框的坐标