339 lines
8.6 KiB
Markdown
339 lines
8.6 KiB
Markdown
---
|
||
sidebarDepth: 1
|
||
---
|
||
# 天气
|
||
|
||
## GetDimensionLocalWeatherInfo
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
获取独立维度天气信息(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| dimension | int | 维度id |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| dict | 独立维度天气信息(下雨强度,下雨时间,打雷强度,打雷时间,是否开启天气循环) |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.GetDimensionLocalWeatherInfo(0)
|
||
```
|
||
|
||
|
||
|
||
## GetDimensionUseLocalWeather
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
获取某个维度是否拥有自己的天气规则
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| dimension | int | 维度id |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否使用了独立天气规则 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.GetDimensionUseLocalWeather(0)
|
||
```
|
||
|
||
|
||
|
||
## IsRaining
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
获取是否下雨
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否下雨 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.IsRaining()
|
||
```
|
||
|
||
|
||
|
||
## IsThunder
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
获取是否打雷
|
||
|
||
- 参数
|
||
|
||
无
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否打雷 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.IsThunder()
|
||
```
|
||
|
||
|
||
|
||
## SetDimensionLocalDoWeatherCycle
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
设置某个维度是否开启天气循环(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| dimension | int | 维度id |
|
||
| value | bool | 是否开启天气循环 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否设置成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.SetDimensionLocalDoWeatherCycle(0, True)
|
||
```
|
||
|
||
|
||
|
||
## SetDimensionLocalRain
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
设置某个维度下雨(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| dimension | int | 维度id |
|
||
| rainLevel | float | 下雨强度,范围0-1 |
|
||
| rainTime | int | 下雨的持续时间,单位为帧,一秒20帧。持续时间结束后会自动转换为相反的天气 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否设置成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.SetDimensionLocalRain(0, 0.5, 180)
|
||
```
|
||
|
||
|
||
|
||
## SetDimensionLocalThunder
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
设置某个维度打雷(必须先使用SetDimensionUseLocalWeather接口设置此维度拥有自己的独立天气)
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| dimension | int | 维度id |
|
||
| thunderLevel | float | 打雷强度,范围0-1 |
|
||
| thunderTime | int | 打雷的持续时间,单位为帧,一秒20帧。持续时间结束后会自动转换为相反的天气 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否设置成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.SetDimensionLocalThunder(0, 0.5, 180)
|
||
```
|
||
|
||
|
||
|
||
## SetDimensionUseLocalWeather
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
设置某个维度拥有自己的天气规则,开启后该维度可以拥有与其他维度不同的天气和天气更替的规则
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| dimension | int | 维度id |
|
||
| value | bool | 是否开启独立天气 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 是否成功 |
|
||
|
||
- 备注
|
||
- 我们对主世界以及自定义维度新增了“局部天气”的概念。在此之前,所有的维度会共享一个“全局天气”,即设置天气或天气循环规则时,会对所有维度生效。
|
||
现在,我们可以将某个维度使用局部天气规则,并且单独设置它的下雨强度,下雨时间,打雷强度,打雷时间,是否开启天气循环(见[SetDimensionLocalRain](#setdimensionlocalrain)、[SetDimensionLocalThunder](#setdimensionlocalthunder)、[SetDimensionLocalDoWeatherCycle](#setdimensionlocaldoweathercycle))。
|
||
在下文中,我们会将使用局部天气规则的维度称为“局部维度”,而使用全局天气的维度称为“全局维度”。默认情况下,维度都是全局维度。
|
||
原版的weather指令,接口[SetRaining](#setraining)、[SetThunder](#setthunder)均不会对局部维度产生影响
|
||
- 启用局部天气规则时,默认继承全局的天气强度和时间,局部维度天气循环默认开启
|
||
- 天气规则对原版的下界与末地无效,这两个维度并没有天气系统
|
||
- 建议统一在游戏启动时调用
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.SetDimensionUseLocalWeather(0, True)
|
||
```
|
||
|
||
|
||
|
||
## SetRaining
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
设置是否下雨
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| level | float | 下雨强度,范围为0-1 |
|
||
| time | int | 天气的持续时间,单位为帧,一秒20帧。持续时间结束后会自动转换为相反的天气。注意,需要在游戏设置中开启天气更替后该参数才会生效。 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 设置是否成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.SetRaining(0.5,1000)
|
||
```
|
||
|
||
|
||
|
||
## SetThunder
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
method in mod.server.component.weatherCompServer.WeatherComponentServer
|
||
|
||
- 描述
|
||
|
||
设置是否打雷
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| level | float | 打雷强度,范围为0-1 |
|
||
| time | int | 打雷持续时间,单位为帧,一秒20帧。注意,需要在游戏设置中开启天气更替后该参数才会生效。 |
|
||
|
||
- 返回值
|
||
|
||
| <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- |
|
||
| bool | 设置是否成功 |
|
||
|
||
- 示例
|
||
|
||
```python
|
||
import mod.server.extraServerApi as serverApi
|
||
comp = serverApi.GetEngineCompFactory().CreateWeather(levelId)
|
||
comp.SetThunder(0.5,1000)set_lightning
|
||
```
|
||
|
||
|
||
|