开启辅助访问     
收藏本站

站内搜索

搜索

Minecraft(我的世界)苦力怕论坛

[BE教程] 基岩技术教程:4.自定义超平坦层

 发表于 2024-8-14 13:24:01 来自手机|显示全部楼层|阅读模式 IP:山西省
本帖最后由 Cat_Anchor 于 2024-8-17 07:32 编辑

前言
这一期,我们来讲基岩版的平坦世界。众所周知,基岩版的平坦世界在最底部有一层基岩,然后是两层泥土,最顶部是一层草方块。在 Java 版中,超平坦世界的构成可以通过 UI 更改。基岩版中虽然没有自定义超平坦世界的 UI,但也能通过编辑 level.dat 中的 FlatWorldLayers 字段生成自定义平坦世界。
基本格式
FlatWorldLayers 字段位于 level.dat 中,需要填写字符串。这个字符串必须是有效的 JSON,否则不能成功加载。

使用这个字段的前提是同级的 Generator 字段设置为 2(平坦),否则这个字段无效。

这个字段的格式如下。
  1. {
  2.   "encoding_version": 6, //编码的版本,类似于格式版本
  3.   "world_version": "version.pre_1_18", //可选,指定世界是 1.18 以前生成的还是 1.18 以后生成的,更多信息见下
  4.   "biome_id": 0, //生物群系的数字 ID
  5.   "structure_options": null, //可选,结构生成选项
  6.   "block_layers": [ //指定方块层,每层的格式随着 encoding_version 的值变化,这里值是 6
  7.     { //一个方块层,首先生成这个
  8.       "block_name": "minecraft:bedrock", //方块的命名空间 ID
  9.       "block_data": 0, //可选,方块的旧版数据值
  10.       "count": 1 //方块的数量
  11.     },
  12.     { //又一个方块层,生成完上面那个就生成这个
  13.       "block_name": "minecraft:dirt",
  14.       "block_data": 0,
  15.       "count": 2
  16.     },
  17.     { //第三个方块层,在这里是最后生成的,也是最顶部的
  18.       "block_name": "minecraft:grass_block",
  19.       "block_data": 0,
  20.       "count": 1
  21.     }
  22.   ]
  23. }
复制代码

可以看出,方块层数组内的方块层是从底部开始生成的,数组内第一个元素反而是生成在世界底部的。

world_version 的值可以是 version.pre_1_18,意思是在 1.18 之前生成;也可以是 version.post_1_18 意思是在 1.18 及以后生成。

以下是不同 encoding_version 时 block_layers 的格式。



encoding_version = 6
  1. {
  2.   "block_layers": [
  3.     {
  4.       "block_name": "minecraft:bedrock", //方块的命名空间 ID
  5.       "block_data": 0, //可选,方块的旧版数据值,默认为 0,如果无效,方块将被替换为 minecraft:info_update
  6.       "count": 1 //方块的数量
  7.     }
  8.   ]
  9. }
复制代码
注:如果这个存档在 1.18 以前生成但在 1.18+ 加载,而且世界底部没有 64 格的空气层,那么会首先生成一个 64 格的空气层来维持旧版世界的样貌。



encoding_version = 5
  1. {
  2.   "block_layers": [
  3.     {
  4.       "block_name": "minecraft:bedrock", //方块的命名空间 ID
  5.       "block_data": 0, //可选,方块的旧版数据值,默认为 0,如果无效,方块将被替换为 minecraft:info_update
  6.       "count": 1 //方块的数量
  7.     }
  8.   ]
  9. }
复制代码
注:如果这个存档在 1.18+ 加载,那么会首先生成一个 64 格的空气层。



encoding_version = 4
  1. {
  2.   "block_layers": [
  3.     {
  4.       "block_name": "minecraft:bedrock", //方块的命名空间 ID,block_id 为 0 或未定义时使用这个字段
  5.       "block_id": 0, //方块的数字 ID,如果值为 0 且未定义 block_name,那么生成 minecraft:info_update
  6.       "block_data": 0, //可选,方块的旧版数据值,默认为 0,如果无效,方块将被替换为 minecraft:info_update
  7.       "count": 1 //方块的数量
  8.     }
  9.   ]
  10. }
复制代码
注:如果这个存档在 1.18+ 加载,那么会首先生成一个 64 格的空气层。



encoding_version < 4
encoding_version 为 0 或 1 或 2 或 3 时使用该结构。
  1. {
  2.   "block_layers": [
  3.     {
  4.       "block_id": 0, //方块的数字 ID
  5.       "block_data": 0, //可选,方块的数据值,默认为 0,如果无效,方块的数据值将被设为 0
  6.       "count": 1 //方块的数量
  7.     }
  8.   ]
  9. }
复制代码
注:如果这个存档在 1.18+ 加载,那么会首先生成一个 64 格的空气层。
后记
这一期,我们讲解了自定义超平坦层。下期有可能是移动的方块相关内容。


苦力怕论坛,感谢有您~
 发表于 2024-11-2 16:39:43 来自手机|显示全部楼层 IP:河北省
太好用了,高版本也可以用
4#2024-11-2 16:39:43回复收起回复
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-8-14 16:13:38 来自手机|显示全部楼层 IP:广西
能不能出个目录
3#2024-8-14 16:13:38收起回复
Cat_Anchor2024-8-14 16:24IP:山西省
回复举报
好主意
但是现在我有点忙
做好了之后我把它放在第一期开头
Cat_Anchor2024-8-14 19:10IP:山西省
回复举报
做好最基本的目录了,在第一期开头
Cat_Anchor2024-8-14 19:28IP:山西省
回复举报
哦!我悟了!应该把目录单独放进一个帖子里,但是我不知道这样的帖子要发到哪个分区里
苦力怕论坛,感谢有您~
回复支持

使用道具举报

 发表于 2024-8-14 15:10:23 来自手机|显示全部楼层 IP:山东省
第三期怎么没了
2#2024-8-14 15:10:23收起回复
Cat_Anchor2024-8-14 15:54IP:山西省
回复举报
还在审核
苦力怕论坛,感谢有您~
回复支持

使用道具举报

本版积分规则

本站
关于我们
联系我们
坛史纲要
官方
哔哩哔哩
技术博客
下载
网易版
安卓版
JAVA
反馈
意见建议
教程中心
更多
捐助本站
QQ群
QQ群

QQ群

访问手机版

访问手机版

手机版|小黑屋|系统状态|klpbbs.com

粤公网安备 44200002445329号 | 由 木韩网络 提供支持 | GMT+8, 2024-12-12 06:17

声明:本站与Mojang以及微软公司没有从属关系

Powered by Discuz! X3.4 粤ICP备2023071842号-3