获取位置

这个模块致力于提供用于定位任意真实玩家位置的 API。

要使用此处的 API,你必须已经在你的环境中设置好了 MCDReforged

location_api.pos.get_dimension_from_server_reply(content: str, player: str | None = None, regex: str | None = None) str | None[源代码]

从像这样的文本内容中解析出一个维度字符串:

CleMooling has the following entity data: minecraft:overworld

参数:
  • content -- 要用于解析维度的文本内容。

  • player -- 玩家的名字,默认为 None

  • regex -- 用于匹配维度的正则表达式,默认为 None

返回:

解析出的维度字符串,如果没找到则为 None

location_api.pos.get_point3d_from_server_reply(content: str, player_name: str | None = None, regex: str | None = None) Point3D | None[源代码]

从像这样的文本内容中解析出一个 Point3D 实例:

CleMooling has the following entity data: [-524.5d, 71.0d, -66.5d]

参数:
  • content -- 要用于解析出三维点的文本内容:

  • player_name -- 玩家的名字,默认为 None

  • regex -- 要用于匹配三维点的正则表达式,默认为 None

返回:

  • None -- 若匹配 No entity was found 或者给出了玩家名,但在日志内容中找不到。

  • Point3D -- 若匹配到像示例中的格式。

抛出:

TypeError -- 若三维点无法解析。

location_api.pos.safe_parse_dim(dim_str: str, player: str) str[源代码]

一个包装器,用于从字符串(服务器回复的 RCON 命令结果)中获取维度字符串。

实际上调用 get_dimension_from_server_reply

参数:
  • dim_str -- 要解析的字符串。

  • player -- 玩家的名字。

返回:

解析后的维度字符串,实际上是一个 Result 对象。

location_api.pos.safe_parse_pos(pos_str: str, player: str) Point3D[源代码]

一个包装器,用于从字符串(服务器回复的 RCON 命令结果)中获取一个 Point3D 实例。

实际上调用 get_point3d_from_server_reply

参数:
  • pos_str -- 要解析的字符串。

  • player -- 玩家的名字。

返回:

解析后的 Point3D 结果,实际上是一个 Result 对象。

async location_api.pos.get_player_pos(player: str) Result[MCPosition, Exception][源代码]

获取玩家的位置。

参数:

player -- 玩家的名字。

返回:

玩家的位置或异常。