Files
netease-modsdk-wiki/docs/mcdocs/1-ModAPI/接口/通用/数学.md
2025-06-27 23:59:47 +08:00

342 lines
7.0 KiB
Markdown

---
sidebarDepth: 1
---
# 数学
## GetDirFromRot
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
通过旋转角度获取朝向
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| rot | tuple(float,float) | 俯仰角度及绕竖直方向的角度,单位是角度 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | 玩家朝向的单位向量 |
- 示例
```python
import mod.server.extraServerApi as serverApi
direction = serverApi.GetDirFromRot((0, 0))
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
通过旋转角度获取朝向
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| rot | tuple(float,float) | 俯仰角度及绕竖直方向的角度,单位是角度 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | 玩家朝向的单位向量 |
- 示例
```python
import mod.client.extraClientApi as clientApi
direction = clientApi.GetDirFromRot((0, 0))
```
## GetIntPos
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
获取坐标所在方块的位置,即浮点数坐标向下取整后的整数坐标。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 坐标元组 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(int,int,int) | 坐标所在方块的位置 |
- 示例
```python
import mod.server.extraServerApi as serverApi
serverApi.GetIntPos((1.2,1.3,1.4))
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
获取坐标所在方块的位置,即浮点数坐标向下取整后的整数坐标。
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 坐标元组 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(int,int,int) | 坐标所在方块的位置 |
- 示例
```python
import mod.client.extraClientApi as clientApi
clientApi.GetIntPos((1.2,1.3,1.4))
```
## GetLocalPosFromWorld
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
获取基于实体的世界坐标对应的局部坐标
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 基于实体的世界坐标 |
| entityId | str | 实体id |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | 世界坐标对应的局部坐标 |
- 备注
- 可能存在精度差
- 示例
```python
import mod.server.extraServerApi as serverApi
position = serverApi.GetLocalPosFromWorld((90, 65, -95), entityId)
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
获取基于实体的世界坐标对应的局部坐标
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 基于实体的世界坐标 |
| entityId | str | 实体id |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | 世界坐标对应的局部坐标 |
- 备注
- 可能存在精度差
- 示例
```python
import mod.client.extraClientApi as clientApi
position = clientApi.GetLocalPosFromWorld((90, 65, -95), entityId)
```
## GetRotFromDir
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
通过朝向获取旋转角度
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| dir | tuple(float,float,float) | 玩家朝向的单位向量 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float) | 俯仰角度及绕竖直方向的角度,单位是角度 |
- 示例
```python
import mod.server.extraServerApi as serverApi
rot = serverApi.GetRotFromDir((1, 0, 1))
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
通过朝向获取旋转角度
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| dir | tuple(float,float,float) | 玩家朝向的单位向量 |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float) | 俯仰角度及绕竖直方向的角度,单位是角度 |
- 示例
```python
import mod.client.extraClientApi as clientApi
rot = clientApi.GetRotFromDir((1, 0, 1))
```
## GetWorldPosFromLocal
<span style="display:inline;color:#ff5555">服务端</span><span style="display:inline;color:#7575f9">客户端</span>
### 服务端接口
<span id="s0"></span>
method in mod.server.extraServerApi
- 描述
获取基于实体的局部坐标对应的世界坐标
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 基于实体的局部坐标 |
| entityId | str | 实体id |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | 局部坐标对应的世界坐标 |
- 备注
- 可能存在精度差
- 示例
```python
import mod.server.extraServerApi as serverApi
position = serverApi.GetWorldPosFromLocal((0, 0, 1), entityId)
```
### 客户端接口
<span id="c0"></span>
method in mod.client.extraClientApi
- 描述
获取基于实体的局部坐标对应的世界坐标
- 参数
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- | :--- |
| pos | tuple(float,float,float) | 基于实体的局部坐标 |
| entityId | str | 实体id |
- 返回值
| <div style="width: 4em">数据类型</div> | 说明 |
| :--- | :--- |
| tuple(float,float,float) | 局部坐标对应的世界坐标 |
- 备注
- 可能存在精度差
- 示例
```python
import mod.client.extraClientApi as clientApi
position = clientApi.GetWorldPosFromLocal((0, 0, 1), entityId)
```