自定义维度¶
这篇教程只做“能落地验证的最小练习”。目前的国际版维度JSON资料主要来自自动导出参考,存在根对象命名不一致和字段说明缺失的问题,所以这里不把它当作稳定生产方案。
不要混用中国版字段
国际版维度文件位于行为包dimensions/目录,使用minecraft:命名空间字段。中国版netease:dimension_info、netease:biome_source和模组SDK接口属于另一套体系,不能写进国际版维度文件。
第一步:准备目录¶
先在行为包创建dimensions/目录:
demo_BPdimensionsdemo_dimension.json
第二步:写一个最小文件¶
先用minecraft:dimension形态做最小验证:
demo_BP/dimensions/demo_dimension.json
{
"format_version": "1.20.0",
"minecraft:dimension": {
"description": {
"identifier": "demo:sky_dimension"
},
"components": {
"minecraft:dimension_bounds": {
"min": 0,
"max": 256
},
"minecraft:generation": {
"generator_type": "需要按目标版本参考确认"
}
}
}
}
当前能确认的核心字段只有三组:
description.identifier使用namespace:name格式。minecraft:dimension_bounds定义维度垂直边界。minecraft:generation.generator_type指定生成器类型。
生成器取值仍缺资料
缺少generator_type的官方完整取值清单。本教程无法给出“所有版本都可用”的枚举表,实际项目请在目标版本中逐项验证。
第三步:了解另一种根对象记载¶
同一批自动导出资料还记录了minecraft:dimension_type形态,结构与上面的minecraft:dimension非常接近:
demo_BP/dimensions/demo_dimension_alt.json
{
"format_version": "1.20.0",
"minecraft:dimension_type": {
"description": {
"identifier": "demo:sky_dimension_alt"
},
"components": {
"minecraft:dimension_bounds": {
"min": 0,
"max": 256
},
"minecraft:generation": {
"generator_type": "待目标版本验证"
}
}
}
}
这表示当前资料存在命名差异。维护时应优先相信“目标版本是否实际可加载”,而不是只看自动导出的字段名。
第四步:把验证做完整¶
建议按下面顺序检查:
- 开启内容日志并导入包,确认维度文件被解析。
- 新建测试世界,确认不会出现维度定义报错。
- 如果目标玩法依赖真实新维度传送与运行时逻辑,再评估是否改用脚本API方案。