Files
netease-modsdk-wiki/docs/mcguide/20-玩法开发/15-自定义游戏内容/4-自定义维度/1-自定义维度.md
2025-03-17 13:24:39 +08:00

84 lines
6.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
front:
hard: 入门
time: 分钟
---
# 自定义维度
## 声明新维度
<span id="jump_to_custom_dimension"></span>
引擎中默认带有overworldnetherthe end三个原生维度以及编号为3到20的自定义维度可以直接使用。
此外还可以通过配置添加编号为22到2147483647的新自定义维度
1. addon目录中的`behavior`目录下新增`netease_dimension`文件夹
2. 添加一个以维度id命名的json文件
如dm23333.json
```json
{
"format_version": "1.14.0",
"netease:dimension_info": {
"components": { //必须有这个字段
}
}
}
```
可以使用以下python代码来生成一个随机的维度id
```python
import random, sys
print random.randint(22, sys.maxint)
```
对于三个原生维度以及18个自带的自定义维度也可以配置相应文件名的json三个原生维度对应的文件名分别为overworld.jsonnether.jsonthe end.json请勿使用维度id命名编写components字段来修改他们的属性但是一些属性无法对原生维度修改详见下面的说明。
## 维度配置
components中可以配置的组件如下
| 组件 | 类型 | 默认值 | 说明 |
| ----------------------------------------------------- | ------------- | ------------------------------------------------------------ | ------------------------------------------------------------ |
| netease:dimension_type | string | minecraft:overworld | 维度的类型,可以选择以下值:<br>minecraft:overworld主世界<br>minecraft:nether下界<br>minecraft:the_end末地<br>(对三个原生维度无效) |
| netease:generator_noise | 空object | | 噪声生成器,用于生成随机凹凸的地面<br>如果没有配置任何生成器,则默认使用该生成器<br>(对三个原生维度无效) |
| netease:generator_flat | 空object | | 超平坦生成器,仅主世界和下界类型可用<br>(对三个原生维度无效) |
| netease:generator_legacy | 空object | | 旧世界/经典(有限地图)生成器,仅主世界类型可用<br>(对三个原生维度无效) |
| netease:ban_vanilla_feature | 空object | | 清除原版feature可解决类似空岛玩法天空悬浮结构问题 |
| netease:spawn_biomes | array(string) | 该维度下的forest, forest_hills, plains, taiga, taiga_hills, jungle, jungle_hills | 该维度下可供玩家出生的群系名称的列表。<br>请确保列表的群系会生成在该维度。 |
| [netease:biome_source](./2-群系地貌.md#7-4.群系源节点类型) | array(dict) | | 该维度下的群系源,仅主世界类型可用<br>(对三个原生维度无效) |
| netease:ban_vanilla_mineshaft | 空object | | 屏蔽废弃矿井 |
| netease:ban_vanilla_monument | 空object | | 屏蔽海底遗迹 |
| netease:ban_vanilla_mansion | 空object | | 屏蔽林地府邸 |
| netease:ban_vanilla_temple | 空object | | 屏蔽神庙 |
| netease:ban_vanilla_pillageroutpost | 空object | | 屏蔽掠夺者前哨 |
| netease:ban_vanilla_ruinedportal | 空object | | 屏蔽破坏的传送门 |
| netease:ban_vanilla_ruins | 空object | | 屏蔽水下遗迹 |
| netease:ban_vanilla_shipwreck | 空object | | 屏蔽沉船 |
| netease:ban_vanilla_stronghold | 空object | | 屏蔽要塞 |
| netease:ban_vanilla_village | 空object | | 屏蔽村庄 |
例如CustomBiomesMod中的dm23333.json
```json
{
"format_version": "1.14.0",
"netease:dimension_info": {
"components": {
"netease:dimension_type": "minecraft:overworld", //类型为主世界
"netease:generator_noise": {}, //使用噪声生成器
"netease:spawn_biomes": ["dm23333_ice_plains"] //玩家会在冰原下出生
}
}
}
```
注:
- 自定义末地推荐在群系中配置不生成末影龙及相关逻辑(参考:[群系地貌](./2-群系地貌.md#jump_to_no_spawn_dragon)),即使开了末影龙逻辑也不会生成传送门,有需要可以搭配自定义传送门使用。
- 如果已经进入过某个维度该维度地形已被存档那么再配置维度类型可能会出现存档地形和生成地形融合的奇怪现象可以在进入维度前通过UpgradeMapDimensionVersion接口提升该维度版本号废弃原本的存档信息。