第9页:结构方块的文件格式
展开九、结构方块的文件格式
游戏内置的结构位于游戏jar中的assets/minecraft/structures文件夹中,而用户定义的结构存储于存档中的structures文件夹中。下面以igloo_bottom为例介绍一下结构方块的文件格式。
代码:【根标签
┣ blocks(List) - 方块列表
┣ entities(List) - 实体列表
┣ palette(List) - 方块状态模板列表
┣ size(List) - 结构大小
┣ author(String) - 结构作者
┗ version(Int) - 文件版本,当前为1】
先从简单的开始讲,version就不用说了,author是放置结构方块的玩家的名称,size是3个Int组成的List,存储了结构在xyz三个方向上的大小。
接下来是entities,这是由一系列实体组成的List。
代码:【实体
┣ nbt(List) - 实体NBT
┣ blockPos(List) - 实体所在方块位置
┗ pos(List) - 实体所在位置】
其中blockPos是由3个Int组成的List,储存的是实体所在方块的位置(简单地说就是整数)。pos是由3个Double组成的List,储存的是实体的确切位置(简单地说就是小数)。
下面就是最重要的blocks和palette了。它们都是List,互相配合来存储方块信息。下面是blocks中一个方块的格式:
代码:【方块
┣ nbt(List) - 方块NBT(可选)
┣ pos(List) - 方块位置
┗ state(Int) - 方块状态索引】
nbt和pos的意思是显而易见的,重要的是state的值,它代表了方块状态在palette中的索引值,从0开始。下面是palette中一个方块状态的格式:
代码:【方块状态模板
┣ Properties(List) - 方块状态(可选)
┗ Name(String) - 方块名称】
Name中存储的是方块的名称,例如minecraft:stone,而Properties中存储的是一系列方块状态(用String保存)的列表,标签名称是状态的名称,例如variant,而内容即是状态的内容,例如stone。
方块中的state的值就是在方块状态列表中的索引,例如state为4时对应palette中的第5个方块状态模板。
更多相关内容请关注:我的世界专区
责任编辑:Shy夏夏