- 版权类型
- 原创
- 语言支持
- 中文(简体)
- 适配版本(基岩)
- 最新版本
[MD]
# iHigherWorld
iHigherWorld 是适用于 LeviLamina 的世界高度模组,可以分别调整主世界和下界的最低、最高可放置方块高度。
> 请尽量不要降低主世界的最低高度。将 `min_height` 修改为小于默认值 `-64` 后,世界生成器可能出现严重异常甚至崩溃。确需修改时,请先完整备份世界,并在测试世界中确认能够正常生成新区块。
## 功能
- 分别配置主世界和下界的高度范围。
- 支持低于 Y=-512 或高于 Y=511 的世界。
- 高度边界自动按 16 格对齐,不会改写配置文件中的原始数值。
- 支持仅服务端安装,也支持服务端与客户端同时安装。
- 旧版配置可自动升级并保留已有的主世界高度。
## 运行环境
- Windows x64
- LeviLamina `26.20.x`
发布包分为:
- `iHigherWorld-server-windows-x64.zip`:服务端版本
- `iHigherWorld-client-windows-x64.zip`:客户端版本
## 选择安装方式
### 仅安装服务端
如果主世界和下界自动对齐后的范围都满足以下条件,只需安装服务端版本:
- 最低高度不小于 `-512`
- `max_height` 或 `nether_max_height` 不大于 `512`
普通客户端无需安装 iHigherWorld。非默认下界同样支持仅服务端使用,例如:
- 主世界:`-64~335`
- 下界:`0~223`
### 服务端和客户端同时安装
如果任一维度自动对齐后的最低高度小于 `-512`,或者最高边界大于 `512`:
1. 服务端安装服务端版本。
2. 每个连接的客户端安装客户端版本。
3. 服务端与所有客户端使用完全相同的 `config.json`。
如果只修改本地游戏世界,则安装客户端版本并编辑客户端配置即可。
## 安装
### 手动安装
服务端:
1. 解压 `iHigherWorld-server-windows-x64.zip`。
2. 将其中的 `iHigherWorld` 文件夹放入 LeviLamina 的 `plugins/`。
3. 启动一次服务端以生成配置文件。
客户端:
1. 解压 `iHigherWorld-client-windows-x64.zip`。
2. 将其中的 `iHigherWorld` 文件夹放入 LeviLamina 的 `mods/`。
3. 启动一次游戏以生成配置文件。
### 使用 Lip 安装
```powershell
# 服务端
lip install github.com/MiracleForest/iHigherWorld-Release
# 客户端
lip install github.com/MiracleForest/iHigherWorld-Release#client
```
## 配置文件位置
- 服务端:`plugins/iHigherWorld/config/config.json`
- 客户端:`mods/iHigherWorld/config/config.json`
首次启动后会生成默认配置:
```json
{
"version": 2,
"min_height": -64,
"max_height": 320,
"nether_min_height": 0,
"nether_max_height": 128
}
```
默认可放置范围为:
- 主世界:`-64~319`
- 下界:`0~127`
## 配置项
| 配置项 | 作用 | 默认值 |
| --- | --- | ---: |
| `version` | 配置文件版本,请保持为 `2` | `2` |
| `min_height` | 主世界最低可放置高度 | `-64` |
| `max_height` | 主世界最高可放置高度加 `1` | `320` |
| `nether_min_height` | 下界最低可放置高度 | `0` |
| `nether_max_height` | 下界最高可放置高度加 `1` | `128` |
最高高度配置需要比希望使用的最高 Y 坐标大 `1`。例如:
- 希望最高可放置到 Y=335,应填写 `"max_height": 336`
- 希望下界最高可放置到 Y=223,应填写 `"nether_max_height": 224`
## 配置步骤
1. 完全停止游戏或服务端。
2. 打开对应的 `config.json`。
3. 修改主世界和下界的高度。
4. 保存文件。
5. 如果当前范围需要客户端版本,将同一份配置复制到所有客户端。
6. 重新启动游戏或服务端。
7. 查看启动提示,确认最终生效的高度范围。
## 示例
### 示例一:仅服务端使用
以下配置对应主世界 `-64~335`、下界 `0~223`,客户端无需安装模组:
```json
{
"version": 2,
"min_height": -64,
"max_height": 336,
"nether_min_height": 0,
"nether_max_height": 224
}
```
### 示例二:扩展到 Y=2047
以下配置超出了仅服务端兼容范围,服务端和所有客户端都需要安装模组并使用同一份配置:
```json
{
"version": 2,
"min_height": -512,
"max_height": 2048,
"nether_min_height": 0,
"nether_max_height": 256
}
```
生效后的可放置范围为:
- 主世界:`-512~2047`
- 下界:`0~255`
## 高度对齐规则
世界高度以 16 格为一组。配置值不是 16 的倍数时,会自动向外扩展:
- 最低高度向下调整。
- 最高边界向上调整。
- `config.json` 中填写的原始数值保持不变。
例如:
```text
配置范围:[-63, 319)
生效范围:[-64, 320)
可放置范围:-64~319
```
可填写的数值及自动对齐后的结果都必须位于 `-32768~32767`。最高可用的对齐后 `max_height` 为 `32752`。
## 注意事项
- 修改已有世界前请先备份。
- 主世界最低高度建议保持默认值 `-64`;降低该数值可能导致世界生成异常或崩溃。
- 缩小范围不会立即删除范围外的区块数据,但这些区域会暂时无法访问。
- 需要客户端版本时,两端配置不一致可能导致区块显示、方块放置、传送或同步异常。
- 修改配置后必须完整重启,热重载不会更新世界高度。
- 无效配置会阻止模组加载,请根据控制台中文提示检查数值。
## 常见问题
### 为什么填写 336,显示的最高高度是 335?
`max_height` 表示最高可放置高度的下一个 Y 坐标。因此最高需要 335 时,应填写 336。
### 为什么实际范围和配置文件不同?
高度必须按 16 格对齐。模组会在运行时向外调整边界,但不会修改配置文件。
### 普通客户端可以进入服务器吗?
可以。只要主世界和下界自动对齐后的范围都没有低于 `-512`,并且两个最高边界都没有超过 `512`,客户端就不需要安装 iHigherWorld。
### 什么时候必须让所有客户端安装?
任一维度自动对齐后的范围超出上述限制时,所有客户端都必须安装客户端版本,并与服务端使用相同配置。
[/MD]