区块(Chunks)以16×384×16立方块为单位存储地形和实体信息。区块也会同时储存预先计算好的光照、高度图数据及其他元数据信息,以加快游戏处理。
NBT结构[]
区块是储存在Anvil文件中的各种标签,这些Anvil文件以r.x.z.mca
的形式命名。区块使用NBT格式储存,遵循以下结构组成。
- 根标签。
- below_zero_retrogen:用于在升级为1.18的世界时,原区块负值高度上重新生成方块的数据。可能不存在。
- missing_bedrock:每个二进制位代表了此位置上是否缺失基岩,用于决定是否重新生成此位置下的方块。一共256个二进制位,即4个long整数,位置编码从(0,0)开始横向扫描到(15,15)结束。
- target_status:重新生成方块时区块的目标状态,可选值与 Status相同,但不包含
empty
。
- blending_data:用于新旧区块平滑过渡的混合数据信息。可能不存在。
- heights:混合数据中元胞的高度值,共16个数值。
- :一个高度值。
- max_section:混合数据中最高子区块的索引。
- min_section:混合数据中最低子区块的索引。
- heights:混合数据中元胞的高度值,共16个数值。
- block_entities:储存区块内所有方块实体信息。
- :一个方块实体。
- 见方块实体格式。
- :一个方块实体。
- block_ticks:区块中的方块计划刻列表。
- :一项方块计划刻。
- 见计划刻格式。
- :一项方块计划刻。
- CarvingMasks:区块雕刻时的标记,当区块生成完毕后此项会被删除。
- DataVersion:数据版本。
- entities:区块生成时的初始实体信息,当区块生成完毕后此项会被删除。
- :一个实体。
- 见实体格式。
- :一个实体。
- fluid_ticks:区块中的流体计划刻列表。
- :一项流体计划刻。
- 见计划刻格式。
- :一项流体计划刻。
- HeightMaps:区块的高度图信息,存储方式见高度图格式。
- MOTION_BLOCKING:最高的能阻挡移动或含有液体的方块。
- MOTION_BLOCKING_NO_LEAVES:最高的阻挡移动、含有液体或在
minecraft:leaves
标签里的方块。 - OCEAN_FLOOR:最高的既不是空气也不包含液体的方块。
- OCEAN_FLOOR_WG:最高的既不是空气也不包含液体的方块。此值用于世界生成,生成完毕后此值被删除。
- WORLD_SURFACE:最高的非空气方块。
- WORLD_SURFACE_WG:最高的非空气方块。此值用于世界生成,生成完毕后此值被删除。
- InhabitedTime:所有玩家在此区块停留的总刻数,如果有多个玩家在这个区块停留过则分别计时并相加。用于区域难度的计算,当此值大于3600000游戏刻(150游戏日)时区域难度达到最大值。
- isLightOn:表示区块是否已经正常完成光照计算。
- LastUpdate:此区块最后一次保存时的游戏时间。
- PostProcessing:存储区块生成完毕后需要进行更新的位置。
- :一个子区块内需要更新的位置。保存顺序为从最低的子区块开始到最高子区块结束。
- :一个需要更新的方块的位置,按照ZYX编码存储。
- :一个子区块内需要更新的位置。保存顺序为从最低的子区块开始到最高子区块结束。
- sections:区块中所有子区块的信息。
- :一个子区块的信息。
- biome:子区块内的生物群系信息。
- data:记录子区块内64个生物群系,编码格式见方块存储格式。如果子区块内只存在一种生物群系,则此项不存在。
- palette:生物群系的集合,用于记录int与生物群系的映射。
- :生物群系的命名空间ID。
- block_states:子区块内的方块状态信息。
- data:记录子区块内4096个方块状态,编码格式见方块存储格式。如果子区块内只存在一个方块状态,则此项不存在。
- palette:方块状态的集合,用于记录int与方块状态的映射。
- :一个方块状态。
- 方块状态
- :一个方块状态。
- BlockLight:存储子区块内4096个方块光照亮度信息,含有2048个byte,编码格式见亮度格式。可能不存在。
- SkyLight:存储子区块内4096个天空光照亮度信息,含有2048个byte,编码格式见亮度格式。可能不存在。
- Y:子区块的索引。
- biome:子区块内的生物群系信息。
- :一个子区块的信息。
- Status:定义了该区块当前在世界生成中的状态。是这些值的其中之一:
empty
(尚未进行区块生成)、structure_starts
(生成结构范围)、structure_references
(生成结构标记)、biomes
(填充生物群系)、noise
(填充初始噪声地形)、surface
(应用地表规则)、carvers
(进行洞穴雕刻)、features
(生成地物)、initialize_light
(初始化光照计算)、light
(计算光照)、spawn
(生成初始实体)和full
(区块生成完毕)。 - structures:此区块中的结构数据。
- References:包含 starts中结构的区块坐标。
- <结构的命名空间ID>:包含此结构的区块坐标。每一个long都是一个区块位置,其中X坐标储存在低32位,Z坐标储存在高32位。
- starts:按类型储存的还没有生成完毕的结构,完全生成好的结构会被从这个标签中移除。
- <结构的命名空间ID>:一项结构和它生成时需要的数据。
- Children:组成此结构的、还未被生成的结构片段。
- :结构片段数据。如果此片段已经生成,则被删除。
- 见结构片段格式。
- :结构片段数据。如果此片段已经生成,则被删除。
- ChunkX:结构的起始区块X坐标。如果结构已经生成则无此标签。
- ChunkZ:结构的起始区块Z坐标。如果结构已经生成则无此标签。
- id:结构的命名空间ID。如果结构已经生成,则为
INVALID
。 - references:与此结构关联的标记信息。
- Children:组成此结构的、还未被生成的结构片段。
- <结构的命名空间ID>:一项结构和它生成时需要的数据。
- References:包含 starts中结构的区块坐标。
- UpgradeData:区块升级数据。可能不存在。
- xPos:此区块的X坐标。
- yPos:此区块中最低子区块的索引。
- zPos:此区块的Z坐标。
- below_zero_retrogen:用于在升级为1.18的世界时,原区块负值高度上重新生成方块的数据。可能不存在。
方块位置编码[]
在Anvil文件格式中,区块被进一步划分为“子区块”。子区块是一个16x16x16大小的区域,含有4096个方块。方块在子区块中的位置被按照YZX来排序以此达到压缩的目的。
坐标系如下:
- X 向东增加,向西减少;
- Y 向上增加,向下减少;
- Z 向南增加,向北减少。
下面的代码给出了方块的子区块位置与其YZX编码的转换关系:
public static int toYZX(int x, int y, int z) {
return y << 8 | z << 4 | x;
}
方块存储格式[]
在子区块中每个方块都有它们对应的方块状态。在扁平化后,方块状态与数字形式ID被拆离,也就不能像之前直接使用 Blocks和 Add数组进行直接的方块状态ID表示。因此,在扁平化后,子区块保存方块状态使用了“调色板”用于保存方块状态与数字的映射,并将数字按照YZX编码按顺序保存到 data中。
“调色板”,即 palette标签,使用元素的索引作为对应方块状态的ID。这个ID仅在本子区块有效,在其他子区块可能代表其它的方块状态。调色板内的元素数量决定了最终ID的长度,影响最终储存方块状态的 data标签的长度。如果调色板内的方块状态只有一个,代表整个子区块内只包含一种方块状态,此时 data标签不存在,用来节省空间。如果调色板内方块状态小于等于16个,那么编码长度为4比特,每个long中最多储存16个方块状态;如果调色板内方块状态大于16个,那么编码长度为比特,每个long中最多储存个方块状态。方块状态写入到 data标签时,按照YZX编码逐一写入,尽量填满每一个long,但是编码不能横跨两个数字进行储存。因此,如果调色板中方块状态的数量小于等于16,那么 data标签的长度就是256;如果数量为17~32, data标签的长度就是342,以此类推。
和方块状态类似,生物群系单元也使用类似的方式进行储存。生物群系单元与方块状态存储的区别在于,它的编码长度统一为比特,而其它部分都是相同的流程。
亮度格式[]
子区块内的亮度数据也保存在字节数组中。因为亮度为0~15,所以只需要4比特就能记录一个方块的亮度,每个字节都能存储两个方块的亮度。在写入亮度数据时,每个方块的亮度都按照YZX编码的顺序逐一写入,组成一个2048长度的字节数组。下方的代码给出了从子区块方块位置获取亮度的方法:
public static int getLight(int x, int y, int z) {
int yzx = toYZX(x, y, z);
return (data[yzx >> 1] >> (4 * (yzx & 1))) & 0xF;
}
高度图格式[]
高度图存储类似方块状态存储,但是它只保存水平方向上16x16的256个高度信息。高度图中高度是以世界最低高度极限开始计算的,所以不会有负值,要将高度正确的进行编码,需要比特,其中h代表世界的总高度。对于主世界来说,总高度是384,需要使用9比特,每个long中可以保存7个高度;对于下界和末地,总高度是256,需要使用8比特,每个long中可以保存8个高度。类似于方块状态存储,保存高度是尽量放在一个long中,但是不能跨数字保存一个高度,因此主世界的高度表数组长度为37,下界和末地的高度表数组长度为32。高度存储从区块水平坐标(0,0)开始,横向扫描一整行方块然后开始扫描下一行,最终到(15,15)结束。
计划刻格式[]
计划刻代表方块更新,它的作用是用于解释在区块保存前的事情。事实上它是用于在重新加载世界时再次更新它们(包括红石机械的更新,水、熔岩的流动,沙砾检查坠落等等)。但是计划刻不会用于像检查树叶腐烂,农作物生长等需要随机刻来更新的方块,因为它们的更新不需要随着区块的载入而更新。对于地图制作者来说,计划刻可以用于在加载区块的同时更新方块。
- 一个计划刻
- i:方块的命名空间ID,用于激活正确的方块更新步骤。
- p:计划刻的处理优先级。如果多个计划刻被安排入同一刻中,那么p值较小的计划刻会被优先处理。一共有7个优先级:-3(最高优先级,只用于红石比较器和红石中继器)、-2(极高优先级,只用于红石比较器和红石中继器)、-1(高优先级,只用于红石比较器和红石中继器)、0(普通优先级)、1(低优先级,没有任何方块使用)、2(极低优先级,没有任何方块使用)、3(最低优先级,没有任何方块使用)。
- t:距离此计划刻将要执行的倒计时。
- x:X坐标。
- y:Y坐标。
- z:Z坐标。
方块实体格式[]
方块实体是对方块状态有穷集合的补充。所有方块实体都有下面的标签:
- 一个方块实体
- id:方块实体ID。
- keepPacked:表示此方块实体是否已经无效,关系到区块将如何保存这个方块实体。此项不能通过
/data
获取。 - x:当前方块实体的X坐标。
- y:当前方块实体的Y坐标。
- z:当前方块实体的Z坐标。
下面为Java版中所有的方块实体。
方块实体ID | 名称 |
---|---|
banner | 旗帜 |
barrel | 木桶 |
beacon | 信标 |
bed | 床 |
beehive | 蜂巢、蜂箱 |
bell | 钟 |
blast_furnace | 高炉 |
brewing_stand | 酿造台 |
brushable_block | 可疑的方块 |
calibrated_sculk_sensor | 校频幽匿感测体 |
campfire | 营火 |
chest | 箱子 |
chiseled_bookshelf | 雕纹书架 |
command_block | 命令方块 |
comparator | 红石比较器 |
conduit | 潮涌核心 |
crafter |
合成器 |
daylight_detector | 阳光探测器 |
decorated_pot | 饰纹陶罐 |
dispenser | 发射器 |
dropper | 投掷器 |
enchanting_table | 附魔台 |
end_gateway | 末地折跃门 |
end_portal | 末地传送门 |
ender_chest | 末影箱 |
furnace | 熔炉 |
hanging_sign | 悬挂式告示牌 |
hopper | 漏斗 |
jigsaw | 拼图方块 |
jukebox | 唱片机 |
lectern | 讲台 |
mob_spawner | 刷怪笼 |
piston | 移动的活塞 |
sculk_catalyst | 幽匿催发体 |
sculk_sensor | 幽匿感测体 |
sculk_shrieker | 幽匿尖啸体 |
shulker_box | 潜影盒 |
sign | 告示牌 |
skull | 生物头颅 |
smoker | 烟熏炉 |
structure_block | 结构方块 |
trapped_chest | 陷阱箱 |
- 方块实体数据
- 方块实体共通标签
- CustomName:(可选)旗帜的自定义名称,是一个JSON文本。当旗帜掉落成一个物品时,会被存储并重新使用。
- Patterns:按照顺序的旗帜图案列表。
- :一个独立的图案。
- Color:图案的颜色。
- Pattern:图案的类型。
- :一个独立的图案。
基岩版:
图案类型
基岩版:
- 方块实体数据
- 方块实体共通标签
- forceunpair:(可能不存在)箱子并排放置时不合并成大箱子时为true。
- pairlead:(可能不存在)配对后形成的大箱子的前部。
- pairx:(可能不存在)箱子的X轴位置配对。
- pairz:(可能不存在)箱子的Z轴位置配对。
- Findable:未知。
- LootTable:(可能不存在)用于在下次打开时填充物品栏的战利品表,或者以其他方式与之交互的物品。
- LootTableSeed:生成战利品表所需的种子号,0表示随机生成。
- Items:容器内物品的列表。
- :单个物品及其槽位标签。
- Slot:物品所在槽位的编号。
- 物品堆叠共通标签
- :单个物品及其槽位标签。
基岩版:
- 方块实体数据
- FlowerPos:(可选)储存花的位置,以便其他蜜蜂能够找到。
- X:花的X坐标。
- Y:花的Y坐标。
- Z:花的Z坐标。
- Bees:巢内目前存在的实体。
- :巢内的单个实体。
- MinOccupationTicks:该实体会在巢内滞留的最短时间(刻)。
- TicksInHive:该实体在巢内已滞留的时间(刻)。
- EntityData:巢内该实体的NBT数据。
- 见实体格式,不包含 UUID标签。
- :巢内的单个实体。
- FlowerPos:(可选)储存花的位置,以便其他蜜蜂能够找到。
基岩版:
- 方块实体数据
- 方块实体共通标签
- ShouldSpawnBees:生成新蜜蜂时值为true。
- Occupants:(可能不存在)蜂巢或蜂箱内的实体。
- :蜂巢或蜂箱内的具体实体。
- ActorIdentifier:蜂巢或蜂箱蜂箱内的具体单个实体。在原版游戏下总会是
minecraft:bee<>
。[需要更多信息] - TicksLeftToStay:实体离开蜂巢或蜂箱蜂箱前的时间(刻)。
- SaveData:蜂巢或蜂箱蜂箱内实体的NBT数据。
- 实体共通标签
- 此实体种类独有的标签。
- ActorIdentifier:蜂巢或蜂箱蜂箱内的具体单个实体。在原版游戏下总会是
- :蜂巢或蜂箱内的具体实体。
- 方块实体数据
- 方块实体共通标签
- CustomName:(可选)表示当前高炉名称的JSON文本,会取代默认名称出现在高炉的界面中。
- Items:当前高炉内物品的列表。
- :一个物品。槽位0代表正在烧炼的物品;槽位1代表作为燃料的物品;槽位2代表成品。
- 物品共通标签
- :一个物品。槽位0代表正在烧炼的物品;槽位1代表作为燃料的物品;槽位2代表成品。
- Lock:(可选)如果不为空,会阻止高炉被“未持有名称与此项相符的物品”的玩家打开。
- BurnTime:在当前的燃料耗尽之前,剩下的游戏刻。
- CookTime:该物品已被冶炼的游戏刻。当该值达到 CookTimeTotal时,物品完成烧制,此值重置为0。如果 BurnTime为0,此值每刻减少2。
- CookTimeTotal:该物品需要多少游戏刻才能完成烧制。
- RecipesUsed:高炉从最后一次成品被玩家取出到现在已经烧制的配方数,用于计算经验值。
- <一个配方的命名空间ID>:此配方烧制成功的数量。
基岩版:
- 方块实体数据
- 方块实体共通标签
- BurnTime:燃料在耗尽前的时间(刻)。
- CookTime:烹饪时间(刻)。在值达到200刻(10秒)时烹饪完成,且在
BurnTime
达到0时自动设置为0。[需要测试] - BurnDuration:使用的燃料允许的总燃烧时间(刻)。
- StoredXPInt:储存的经验值数量。
- Items:容器内物品的列表。
- :物品及其槽位标签。
- Slot:物品所在槽位的编号。
- 物品堆叠共通标签
- :物品及其槽位标签。
- 方块实体值
- 方块实体共通标签
- CustomName:(可选)表示当前酿造台名称的JSON文本,会取代默认名称出现在酿造台的界面中。
- Items:当前酿造台内物品的列表。
- :一个物品。槽位0代表左边的药水槽;槽位1代表中间的药水槽;槽位2代表右边的药水槽;槽位3代表酿造物品槽;槽位4代表燃料(烈焰粉)槽。
- 物品共通标签
- :一个物品。槽位0代表左边的药水槽;槽位1代表中间的药水槽;槽位2代表右边的药水槽;槽位3代表酿造物品槽;槽位4代表燃料(烈焰粉)槽。
- Lock:(可选)如果不为空,会阻止酿造台被“未持有名称与此项相符的物品”的玩家打开。
- BrewTime:酿造药水剩余的所需时间的刻数。
- Fuel:酿造台的剩余能量。每开始一次酿造减1。
基岩版:
- 方块实体数据
- 方块实体共通标签
- FuelTotal:燃料的最大值。
- CookTime:完成酿造前的剩余时间(刻)。
- FuelAmount:燃料的剩余量。
- Items:放进酿造台内的物品列表。
- :酿造台内的物品,以及其槽位标签。
- Slot:物品所在的槽位编号。
- 物品堆叠共通标签
- :酿造台内的物品,以及其槽位标签。
基岩版:
- 方块实体值
- 方块实体共通标签
- LootTable:所调用的战利品表json文件的路径。
- LootTableSeed:战利品表的种子码。
- brush_count:刷扫次数。
- brush_direction:清刷的方向,决定物品渲染的位置。可选值1-6,分别对应下上北南西东。
- type:用于指示该可疑的方块的种类,值为
minecraft:suspicious_gravel
(可疑的沙砾)或minecraft:suspicious_sand
(可疑的沙子)。
- 方块实体数据
- 方块实体共通标签
- last_vibration_frequency:上次触发幽匿感测体的游戏事件的振动频率。
- listener:振动监听器的数据。
- 振动监听器
- 方块实体数据
- 方块实体共通标签
- auto:表示此命令方块是否保持开启。
- Command:命令方块中的命令。
- conditionMet:表示受条件制约的命令方块是否满足条件。如果此命令方块不受制约,此值为true。
- CustomName:表示当前命令方块名称的JSON文本,默认为“@”。
- LastOutput:上一条命令的输出,是一个JSON文本。游戏规则
commandBlockOutput
为false时依旧会储存。当 TrackOutput为false时不存在。 - LastExecution:上一条命令执行的时间戳。当 UpdateLastExecution为false时不存在。
- powered:表示命令方块是否已被激活。
- SuccessCount:表示用红石比较器输出的模拟信号强度。只在命令方块激活后更新。
- TrackOutput:表示是否储存上一条命令的输出。可以在GUI中点击"上一个输出"文本框旁的按钮进行开关。按钮上的标志指示出目前的状态:O为true,X为false。
- UpdateLastExecution:表示是否储存上一条命令执行的时间戳。
基岩版:
- 方块实体数据
- 方块实体共通标签
- Command:命令方块内的命令。
- Version:数据版本。
- SuccessCount:成功次数,表示红石比较器输出的信号强度。
- CustomName:命令方块的自定义名称,显示在方块顶部以及GUI内。
- LastOutput:由命令方块最新的一行输出的本地化键名。在游戏规则
commandBlockOutput
被设置为false时仍会储存。在命令方块的GUI中显示。 - LastOutputParams:输出的本地化字符串的参数列表。
- :具体参数。
- TrackOutput:用于决定是否储存
LastOutput
。可以在命令方块UI内的“上一个输出”旁边的按钮进行控制。 - LastExecution:存储命令方块最后一次执行命令的时间。
- TickDelay:执行每次命令的间隔时间(刻)。
- ExecuteOnFirstTick:在保存或激活后在首个刻执行命令时为true。
- 方块实体数据
- 方块实体共通标签
- CustomName:(可选)表示当前合成器名称的JSON文本,会取代默认名称出现在合成器的界面中。
- Items:当前合成器内物品的列表。
- :一个物品。物品槽位编号为0-8,左上角为第0格,右下角为第8格。
- 物品共通标签
- :一个物品。物品槽位编号为0-8,左上角为第0格,右下角为第8格。
- Lock:(可选)如果不为空,会阻止合成器被“未持有名称与此项相符的物品”的玩家打开。
- LootTable:(可选)决定合成器第一次被打开时,生成战利品所用的战利品表的命名空间ID。此项将在战利品生成之后被删除。
- LootTableSeed:(可选)生成战利品使用的种子,0或不输入将使用随机序列。此项将在战利品生成之后被删除。
- crafting_ticks_remaining:合成器取消合成状态倒计时。当合成器成功合成物品后,此值被设置为6游戏刻(0.3秒),并将方块属性
crafting
设置为true。当此值降低为0时,crafting
设置为false。 - disabled_slots:合成器内禁用的槽位,槽位编号与存放物品列表内的槽位编号顺序相同。
- triggered:表示合成器是否被红石信号激活,与方块属性
triggered
同步。
基岩版:
- 方块实体数据
- 方块实体共通标签
- tag
- sherds:饰纹陶罐各个面的陶片样式,4个面按照后左右前排列。
- :陶片的命名空间ID。如果此面没有陶片样式,则此值为
minecraft:brick
(红砖)。
- :陶片的命名空间ID。如果此面没有陶片样式,则此值为
- sherds:饰纹陶罐各个面的陶片样式,4个面按照后左右前排列。
基岩版:
- 方块实体值
- 方块实体共通标签
- LootTable:(可能不存在)用于在下次打开时填充物品栏的战利品表,或者以其他方式与之交互的物品。
- LootTableSeed:生成战利品表所需的种子号,0表示随机生成。
- Items:容器内物品的列表。
- :物品及其槽位标签。
- Slot:物品所在槽位的编号。
- 物品堆叠共通标签
- :物品及其槽位标签。
- 方块实体数据
- 方块实体共通标签
- Age:末地折跃门方块的年龄,单位为刻,用于控制光柱的产生。当低于200时,如果此时折跃门刚刚生成,它会发出一束品红色光柱,否则生成紫色光柱。
- ExactTeleport:(可选)表示是否把实体准确传送到 ExitPortal指定的坐标而不是传送到这个坐标附近的位置。
- ExitPortal:(可选)当进入末地折跃门方块要把实体传送到的位置。
- X:目标位置的X坐标。
- Y:目标位置的Y坐标。
- Z:目标位置的Z坐标。
基岩版:
- 方块实体数据
- 方块实体共通标签
- Age:末地折跃门的“年龄”(刻),用于控制光柱的产生。
- ExitPortal:实体进入折跃门后传送的地点坐标。
- :X轴坐标。
- :Y轴坐标。
- :Z轴坐标。
- 方块实体数据
- 方块实体共通标签
- CustomName:(可选)表示当前熔炉名称的JSON文本,会取代默认名称出现在熔炉的界面中。
- Items:当前熔炉内物品的列表。
- :一个物品。槽位0代表被烧炼的物品;槽位1代表要作为下个燃料源使用的物品;槽位2代表烧炼完成所得出的物品。
- 物品共通标签
- :一个物品。槽位0代表被烧炼的物品;槽位1代表要作为下个燃料源使用的物品;槽位2代表烧炼完成所得出的物品。
- Lock:(可选)如果不为空,会阻止熔炉被“未持有名称与此项相符的物品”的玩家打开。
- BurnTime:在当前的燃料耗尽之前,剩下的游戏刻。
- CookTime:该物品已被冶炼的游戏刻。当该值达到 CookTimeTotal时,物品完成烧制,此值重置为0。如果 BurnTime为0,此值每刻减少2。
- CookTimeTotal:该物品需要多少游戏刻才能完成烧制。
- RecipesUsed:熔炉从最后一次成品被玩家取出到现在已经烧制的配方数,用于计算经验值。
- <一个配方的命名空间ID>:此配方烧制成功的数量。
基岩版:
- 方块实体数据
- 方块实体共通标签
- 基岩版世界格式/方块实体格式
- 方块实体数据
- 方块实体共通标签
- back_text:告示牌背面的文字信息。
- front_text:告示牌正面的文字信息。
- is_waxed:表示告示牌是否被涂蜡。涂蜡后告示牌的文字不能被修改,但允许告示牌文本中的命令执行。
基岩版:
- 方块实体数据
- 方块实体共通标签
- CustomName:(可选)表示当前漏斗名称的JSON文本,会取代默认名称出现在漏斗的界面中。
- Items:当前漏斗内物品的列表。
- :一个物品。漏斗的物品槽位编号为0-4,从左边槽位开始到右边槽位结束。
- 物品共通标签
- :一个物品。漏斗的物品槽位编号为0-4,从左边槽位开始到右边槽位结束。
- Lock:(可选)如果不为空,会阻止漏斗被“未持有名称与此项相符的物品”的玩家打开。
- LootTable:(可选)决定漏斗第一次被打开时,生成战利品所用的战利品表的命名空间ID。此项将在战利品生成之后被删除。
- LootTableSeed:(可选)生成战利品使用的种子,0或不输入将使用随机序列。此项将在战利品生成之后被删除。
- TransferCooldown:传输物品的冷却时间。此值为0时物品会被传输,并将此值设置为8游戏刻(0.4秒)。
基岩版:
- 方块实体数据
- 方块实体共通标签
- TransferCooldown:在进行下次物品传输时剩余时间(刻),0-8的值表示不会传送。
- Items:容器内物品的列表。
- :物品及其槽位标签。
- Slot:物品所在槽位的编号。
- 物品堆叠共通标签
- :物品及其槽位标签。
- 方块实体数据
- 方块实体共通标签
- name:拼图方块的名称。
- final_state:这个拼图方块将变成的方块。
- joint:拼接类型,只能是
rollable
(可旋转)和aligned
(固定)。 - placement_priority:放置优先级。当放置拼图方块所对应的结构时,系统以放置优先级从大到小的顺序依次放置各个结构。如果两个结构具有相同的放置优先级,则以默认顺序放置。
[新增:JE 1.20.3] - pool:拼图方块的目标池,用于从中选择结构。
- target:当结构从目标池中生成时要对接的拼图方块名称。
- selection_priority:选择优先级。当父级结构生成时,决定子级拼图方块的选择次序,按选择优先级从大到小排序依次选择。如果两个拼图方块具有相同的选择优先级,则以随机顺序选择。
[新增:JE 1.20.3]
基岩版:
- 方块实体数据
- 方块实体共通标签
- name:拼图方块的名称。此拼图方块会和其他结构中目标标签里具有此值的拼图方块对齐。
- target:拼图方块的目标名称。此拼图方块会和其他结构中目标标签里具有此值的拼图方块对齐。
- target_pool:拼图方块的目标池,用于从中选择结构。
- final_state:这个拼图方块将变成的方块。
- joint:拼图方块所展示的一个结构的连接类型,只能是
rollable
和aligned
。
- 方块实体数据
- 方块实体共通标签
- 刷怪笼共通标签
基岩版:
- 方块实体数据
- 方块实体共通标签
- EntityIdentifier:将要生成的实体的ID。
[需要更多信息] - Delay:在下次生成前的冷却时间(刻)。设为0会导致玩家进入刷怪范围后立即生成实体。
- MinSpawnDelay:下一次生成冷却时间的最小随机冷却时间值。
- MaxSpawnDelay:下一次生成冷却时间的最大随机冷却时间值。
- SpawnCount:每次生成的实体数。
- MaxNearbyEntities:允许的附近相同实体的最大数量(
SpawnRange
* 2 + 1 ×SpawnRange
* 2 + 1 × 8的范围,以刷怪笼为中心[需要测试])。 - RequiredPlayerRange:当玩家激活此刷怪笼时覆盖的球形范围。
- SpawnRange:刷怪笼尝试随机放置生物的范围半径。范围是方形的,且中心定于为刷怪笼的X和Z坐标的随机附近,而不是刷怪笼的位置。
[需要测试]默认值为4。 - DisplayEntityWidth:刷怪笼内显示的实体的宽度。
- DisplayEntityHeight:刷怪笼内显示的实体的高度。
- DisplayEntityScale:刷怪笼内显示的实体的大小。
- SpawnData:(可能不存在)包含在生成后复制到下一个生成的实体的标签。
- Properties:属性组件。
- TypeId:实体的命名空间ID。
- Weight:与其他生成权重相比,该生成被选中的概率。必须为正且至少为1。
- SpawnPotentials:(可能不存在)允许生成的实体的列表。
- :下一次生成。
- Properties:属性组件。
- TypeId:实体的命名空间ID。
- Weight:与其他生成权重相比,该生成被选中的概率。必须为正且至少为1。
- :下一次生成。
- 方块实体数据
- 方块实体共通标签
- blockState:所代表的被推动的方块。
- 方块状态
- extending:表示方块是否已被推动。
- facing:将要推动方块的方向,从0到5分别对应下上北南西东。
- progress:方块已经移动的距离。
- source:表示方块是否为活塞头本身。
基岩版:
- 方块实体数据
- 方块实体共通标签
- Progress:方块被移动的距离,值为0.0、0.5或1.0。
- LastProgress:未知。
- State:未知。
- NewState:未知。
- Sticky:是黏性活塞时为true。
- AttachedBlocks:需要移动的方块的坐标。
- :第一个方块的X轴坐标。
- :第一个方块的Y轴坐标。
- :第一个方块的Z轴坐标。
- :第二个方块的X轴坐标。
- :第二个方块的Y轴坐标。
- :第二个方块的Z轴坐标。
- :以此类推。
- BreakBlocks:需要被破坏(而不能被正常移动)的方块的坐标。
- :第一个方块的X轴坐标。
- :第一个方块的Y轴坐标。
- :第一个方块的Z轴坐标。
- :第二个方块的X轴坐标。
- :第二个方块的Y轴坐标。
- :第二个方块的Z轴坐标。
- :以此类推。
- movingBlock:被移动的方块。
- 方块共通标签
- movingBlockExtra:被移动的方块(额外值)。
- 方块共通标签
- pistonPosX:活塞基底的X轴坐标。
- pistonPosY:活塞基底的Y轴坐标。
- pistonPosZ:活塞基底的Z轴坐标。
- movingEntity:该移动的方块储存的方块实体数据。
- 方块实体共通标签
- 方块实体数据
- 方块实体共通标签
- cursors:包含储存蔓延信号的方块的列表。
- 方块实体数据
- 方块实体共通标签
- listener:振动监听器的数据。
- 振动监听器
- warning_level:警告等级。如果幽匿尖啸体在上一次收到信号后没有被成功激活,此值为0;如果上一次被成功激活,则设置为激活幽匿尖啸体的玩家的警告等级。
- 方块实体数据
- 方块实体共通标签
- back_text:告示牌背面的文字信息。
- front_text:告示牌正面的文字信息。
- is_waxed:表示告示牌是否被涂蜡。涂蜡后告示牌的文字不能被修改,但允许告示牌文本中的命令执行。
基岩版:
- 方块实体数据
- 方块实体共通标签
- 基岩版世界格式/方块实体格式
- 方块实体数据
- 方块实体共通标签
- ExtraType:通过此值可以修改生物头颅方块的拥有者,但此值无法被
/data
获取。如果 SkullOwner存在,则此值无效。 - note_block_sound:玩家的头放置在音符盒上时,敲击音符盒会发出的音效的命名空间ID。
- SkullOwner:对于头颅拥有者的定义。如果是
player_head
或player_wall_head
,显示玩家的皮肤;如果缺失,显示默认的Steve皮肤。- Id:(可选)拥有者的UUID。
- Name:(可选)拥有者的用户名。
- Properties:玩家配置属性。
基岩版:
- 方块实体数据
- 方块实体共通标签
- CustomName:(可选)表示当前烟熏炉名称的JSON文本,会取代默认名称出现在烟熏炉的界面中。
- Items:当前烟熏炉内物品的列表。
- :一个物品。槽位0代表正在烧炼的物品;槽位1代表下一个作为燃料的物品;槽位2代表成品。
- 物品共通标签
- :一个物品。槽位0代表正在烧炼的物品;槽位1代表下一个作为燃料的物品;槽位2代表成品。
- Lock:(可选)如果不为空,会阻止烟熏炉被“未持有名称与此项相符的物品”的玩家打开。
- BurnTime:在当前的燃料耗尽之前,剩下的游戏刻。
- CookTime:该物品已被冶炼的游戏刻。当该值达到 CookTimeTotal时,物品完成烧制,此值重置为0。如果 BurnTime为0,此值每刻减少2。
- CookTimeTotal:该物品需要多少游戏刻才能完成烧制。
- RecipesUsed:烟熏炉从最后一次成品被玩家取出到现在已经烧制的配方数,用于计算经验值。
- <一个配方的命名空间ID>:此配方烧制成功的数量。
基岩版:
- 方块实体数据
- 方块实体共通标签
- 基岩版世界格式/方块实体格式
- 方块实体数据
- 方块实体共通标签
- author:结构方块的创建者。如果为加载模式且结构有效,通常为“?”;其他情况下为放置此方块的玩家名称。
- ignoreEntities:表示结构中的实体是否会被忽略。
- integrity:结构完整度。
- metadata:元数据,在数据模式时有效。
- mirror:结构进行镜像的方法。只会是
NONE
(无)、LEFT_RIGHT
(左/右)或FRONT_BACK
(前/后)中的一个。 - mode:此结构方块当前的模式。只会是
SAVE
(保存)、LOAD
(加载)、CORNER
(角落)或DATA
(数据)中的一个。 - name:结构的名称。
- posX:结构起始X坐标。
- posY:结构起始Y坐标。
- posZ:结构起始Z坐标。
- powered:表示结构方块是否被红石激活。
- rotation:结构的旋转角度。只会是
NONE
(无)、CLOCKWISE_90
(顺时针旋转90°)、CLOCKWISE_180
(顺时针旋转180°)或COUNTERCLOCKWISE_90
(逆时针旋转90°)中的一个。 - seed:加载结构使用的种子。
- sizeX:该结构在X方向上的大小,即结构的长度。
- sizeY:该结构在Y方向上的大小,即结构的高度。
- sizeZ:该结构在Z方向上的大小,即结构的宽度。
- showair:表示是否显示隐形方块。
- showboundingbox:表示是否在创造模式中显示结构边框。
基岩版:
- 方块实体数据
- 方块实体共通标签
- isPowered:结构方块被红石信号激活时为true。
- data:储存的数据。
- redstoneSaveMode:结构方块的模式。
[需要更多信息] - xStructureOffset:结构的X轴偏移量坐标。
- yStructureOffset:结构的Y轴偏移量坐标。
- zStructureOffset:结构的Z轴偏移量坐标。
- xStructureSize:结构的X轴大小坐标。
- yStructureSize:结构的Y轴大小坐标。
- zStructureSize:结构的Z轴大小坐标。
- structureName:结构的名称。
- dataField:未知。
- ignoreEntities:结构内的实体是否被忽略。
- includePlayers:结构内的玩家是否被忽略。
- removeBlocks:结构内的方块是否被忽略。
- showBoundingBox:结构方块是否为创造模式下的玩家展示边界框。
- rotation:结构的旋转角度。
[需要更多信息] - mirror:结构的对称情况。
[需要更多信息] - animationMode:动画模式。
[需要更多信息] - animationSeconds:动画的持续时间。
[需要更多信息] - integrity:放置的结构的完整度。
- seed:用于结构完整性的种子,0表示随机。
[需要测试]
结构片段格式[]
结构片段是区块生成时进行结构放置的单元。对于不同的结构,有不同的结构片段数据进行不同的结构放置。所有结构片段数据都有下面的标签:
- 结构片段数据根标签。
- BB:结构片段的范围。此数组一共有6个int,分别代表了最小X、Y、Z坐标和最大X、Y、Z坐标。
- GD:生成深度,用于正确生成结构片段的位置与方向。
- id:结构片段的命名空间ID。
- O:结构片段的方向,从0到3分别对应南西北东。
目前Minecraft中有56种结构片段,其中24种没有额外的标签,它们分别是:
minecraft:nebcr
(Nether Fortress Bridge Crossing,下界要塞中的露天的桥梁交叉口)minecraft:nebs
(Nether Fortress Bridge Straight,下界要塞中的桥)minecraft:neccs
(Nether Fortress Castle Corridor Stairs,下界要塞中的走廊楼梯)minecraft:nectb
(Nether Fortress Castle Corridor T Balcony,下界要塞中的走廊阳台)minecraft:nece
(Nether Fortress Castle Corridor Entrance,下界要塞中的熔岩井房间)minecraft:nescsc
(Nether Fortress Castle Small Corridor Crossing,下界要塞中的走廊的十字路口)minecraft:nesc
(Nether Fortress Castle Small Corridor,下界要塞中的直走廊)minecraft:necsr
(Nether Fortress Castle Stalk Room,下界要塞中的下界疣农场)minecraft:nerc
(Nether Fortress Room Crossing,下界要塞中的封闭的桥梁交叉口)minecraft:nesr
(Nether Fortress Stairs Room,下界要塞中的封闭的桥间楼梯)minecraft:nestart
(Nether Fortress Start,下界要塞的起始片段)minecraft:omb
(Ocean Monument Building,海底神殿的起始片段)minecraft:omcr
(Ocean Monument Core Room,海底神殿中的核心藏宝室)minecraft:omdxr
(Ocean Monument Double X Room,海底神殿中的DX房间)minecraft:omdxyr
(Ocean Monument Double XY Room,海底神殿中的DXY房间)minecraft:omdyr
(Ocean Monument Double Y Room,海底神殿中的DY房间)minecraft:omdyzr
(Ocean Monument Double YZ Room,海底神殿中的DYZ房间)minecraft:omdzr
(Ocean Monument Double Z Room,海底神殿中的DZ房间)minecraft:omentry
(Ocean Monument Entry Room,海底神殿中的入口间)minecraft:ompenthouse
(Ocean Monument Penthouse,海底神殿中的顶层房间)minecraft:omsimple
(Ocean Monument Simple Room,海底神殿中的十字形房间、细支柱房间和暗海晶石小房间)minecraft:omsimplet
(Ocean Monument Simple Top Room,海底神殿中的海绵房)minecraft:omwr
(Ocean Monument Wing Room,海底神殿中的侧翼)minecraft:btp
(Buried Treature Piece,埋藏的宝藏)
其余结构片段的额外标签在下文列出。
minecraft:mscorridor[]
此结构片段表示废弃矿井中的铁轨区域与刷怪笼区域(Mine Shaft Corridor) 。
- 结构片段数据根标签。
- hps:表示此走廊是否有洞穴蜘蛛刷怪笼。
- hr:表示此走廊是否有铁轨。
- Num:走廊长度。
- MST:废弃矿井的类型,0代表普通类型,1代表恶地类型。
- sc:表示此走廊是否有蜘蛛网。
minecraft:mscrossing[]
此结构片段表示废弃矿井中的交叉区域(Mine Shaft Crossing) 。
- 结构片段数据根标签。
- D:此交叉区域的建构时的方向,从0到3分别对应南西北东,防止重复创建一块结构片段。
- MST:废弃矿井的类型,0代表普通类型,1代表恶地类型。
- tf:表示此交叉区域是否有两层。
minecraft:msroom[]
此结构片段表示废弃矿井中的房间区域(Mine Shaft Room) 。
- 结构片段数据根标签。
- Entrances:房间的入口。
- :房间入口的范围。此数组一共有6个int,分别代表了最小X、Y、Z坐标和最大X、Y、Z坐标。
- MST:废弃矿井的类型,0代表普通类型,1代表恶地类型。
- Entrances:房间的入口。
minecraft:msstairs[]
此结构片段表示废弃矿井中的楼梯区域(Mine Shaft Stairs) 。
- 结构片段数据根标签。
- MST:废弃矿井的类型,0代表普通类型,1代表恶地类型。
minecraft:nebef[]
此结构片段表示下界要塞桥梁的尽头(Nether Fortress Bridge End Filler)。
- 结构片段数据根标签。
- Seed:生成结构片段时使用的种子。
minecraft:nesclt和minecraft:nescrt[]
此结构片段表示下界要塞中的弯走廊(Nether Fortress Castle Small Corridor Left/Right Turn)。
- 结构片段数据根标签。
- Chest:表示生成结构时是否添加战利品箱。
minecraft:nemt[]
此结构片段表示下界要塞中的瞭望台(Nether Fortress Monster Throne)。
- 结构片段数据根标签。
- Mob:表示是否已经放置了烈焰人刷怪笼。
minecraft:shcc[]
此结构片段表示要塞中含战利品祭坛的走廊(StrongHold Chest Corridor)。
- 结构片段数据根标签。
- Chest:表示是否已经放置了战利品箱。
- EntryDoor:此走廊入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。
minecraft:shfc[]
此结构片段表示要塞中的走廊(StrongHold Filler Corridor)。
- 结构片段数据根标签。
- EntryDoor:此走廊入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。 - Steps:走廊长度。
- EntryDoor:此走廊入口门的类型。可以为
minecraft:sh5c[]
此结构片段表示要塞中的五通道路口(StrongHold Five Crossing)。
- 结构片段数据根标签。
- EntryDoor:此走廊入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。 - leftHigh:表示五通道路口中是否在下面向下的楼梯中有一个出口。
- leftLow:表示五通道路口中是否在下面向上的楼梯中有一个出口。
- rightHigh:表示五通道路口中是否在上面向下的楼梯中有一个出口。
- rightLow:表示五通道路口中是否在上面向上的楼梯中有一个出口。
- EntryDoor:此走廊入口门的类型。可以为
minecraft:shlt和minecraft:shrt[]
此结构片段表示要塞中的转角(StrongHold Left/Right Turn)。
- 结构片段数据根标签。
- EntryDoor:此走廊入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。
- EntryDoor:此走廊入口门的类型。可以为
minecraft:shli[]
此结构片段表示要塞中的图书馆(StrongHold Library)。
- 结构片段数据根标签。
- EntryDoor:此图书馆入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。 - Tall:图书馆是否有通往上方的楼梯。
- EntryDoor:此图书馆入口门的类型。可以为
minecraft:shpr[]
此结构片段表示要塞中的传送门房间(StrongHold Portal Room)。
- 结构片段数据根标签。
- EntryDoor:此图书馆入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。 - Mob:表示是否已经放置了蠹虫刷怪笼。
- EntryDoor:此图书馆入口门的类型。可以为
minecraft:shph[]
此结构片段表示要塞中的牢房(StrongHold Prison Hall)。
- 结构片段数据根标签。
- EntryDoor:此牢房入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。
- EntryDoor:此牢房入口门的类型。可以为
minecraft:shrc[]
此结构片段表示要塞中的交叉房间(StrongHold Room Crossing)。
minecraft:shsd和minecraft:shstart[]
此结构片段表示要塞中的旋转楼梯(StrongHold Stairs Down/StrongHold Start)。
- 结构片段数据根标签。
- EntryDoor:此楼梯入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。 - Source:表示此旋转楼梯是否为要塞的起点。
- EntryDoor:此楼梯入口门的类型。可以为
minecraft:shs[]
此结构片段表示要塞中的直走廊(StrongHold Straight)。
- 结构片段数据根标签。
- EntryDoor:此走廊入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。 - Left:表示在走廊左侧是否有一个开口。
- Right:表示在走廊右侧是否有一个开口。
- EntryDoor:此走廊入口门的类型。可以为
minecraft:shssd[]
此结构片段表示要塞中的直楼梯(StrongHold Straight Stairs Down)。
- 结构片段数据根标签。
- EntryDoor:此楼梯入口门的类型。可以为
OPENING
(开放入口)、WOOD_DOOR
(木门)、GRATES
(铁栅栏)和IRON_DOOR
(铁门)。
- EntryDoor:此楼梯入口门的类型。可以为
minecraft:tejp[]
此结构片段表示丛林神庙(Jungle Pyramid Piece)。
- 结构片段数据根标签。
- placedTrap1:表示是否已经放置走廊发射器发射箭的陷阱。
- placedTrap2:表示是否已经放置箱子发射器发射箭的陷阱。
- placedMainChest:表示是否已经放置主箱子。
- placedHiddenChest:表示是否已经放置隐藏箱子。
minecraft:orp[]
此结构片段表示海底废墟(Ocean Ruin)。
- 结构片段数据根标签。
- BiomeType:此遗迹所处的海洋的温度。可以为
WARM
(温暖海域)和COLD
(寒冷海域)。 - Integrity:此结构的完整度。
- IsLarge:表示此结构是否为大型废墟。
- Rot:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
- BiomeType:此遗迹所处的海洋的温度。可以为
minecraft:iglu[]
此结构片段表示雪屋(Igloo)。
- 结构片段数据根标签。
- Rot:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
- Rot:此结构放置时的旋转角度,可以为
minecraft:rupo[]
此结构片段表示废弃传送门(Ruined Potral)。
- 结构片段数据根标签。
- Mirror:此结构放置时的采取的对称方式,可以为
NONE
(不进行镜像对称)、LEFT_RIGHT
(左右镜像对称)、FRONT_BACK
(前后镜像对称)。 - Properties:废弃传送门的放置属性。
- air_pocket:此废弃传送门是否含有空洞。
- cold:表示此废弃传送门是否已经冷却,决定放置熔岩、岩浆块和下界岩。
- mossiness:废弃传送门的废弃程度,值越大结构中方块的形式越破碎。
- overgrown:表示此废弃传送门是否生成树叶。
- replace_with_blackstone:表示此废弃传送门中的一部分方块是否替换为黑石。
- vines:表示此废弃传送门是否生成藤蔓。
- Rotation:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
- VerticalPlacement:废弃传送门的垂直放置模式,可以为
on_land_surface
(地表)、partly_buried
(部分掩埋)、on_ocean_floor
(海床上)、in_mountain
(山中)、underground
(地下)和in_nether
(下界)。
- Mirror:此结构放置时的采取的对称方式,可以为
minecraft:tesh[]
此结构片段表示沼泽小屋(Swampland Hut)。
- 结构片段数据根标签。
- Cat:表示是否已经在这个沼泽小屋里生成黑猫。
- Depth:结构的深度。
- Height:结构的高度。
- HPos:为将结构放置在地面上而移动到的Y高度。若该结构未被移动则为-1。
- Width:结构的宽度。
- Witch:表示是否已经在这个沼泽小屋里生成女巫。
minecraft:tedp[]
此结构片段表示沙漠神殿(Desert Pyrmaid Piece)。
- 结构片段数据根标签。
- Depth:结构的深度。
- hasPlacedChest0:表示是否放置了南方的箱子。
- hasPlacedChest1:表示是否放置了西方的箱子。
- hasPlacedChest2:表示是否放置了北方的箱子。
- hasPlacedChest3:表示是否放置了东方的箱子。
- Height:结构的高度。
- HPos:为将结构放置在地面上而移动到的Y高度。若该结构未被移动则为-1。
- Width:结构的宽度。
minecraft:ecp[]
此结构片段表示末地城(End City Piece)。
- 结构片段数据根标签。
- OW:表示在结构放置时是否只忽略结构内的结构方块。
- Rot:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
minecraft:wmp[]
此结构片段表示林地府邸(Woodland Mansion Piece)。
- 结构片段数据根标签。
- Mi:此结构放置时的采取的对称方式,可以为
NONE
(不进行镜像对称)、LEFT_RIGHT
(左右镜像对称)、FRONT_BACK
(前后镜像对称)。 - Rot:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
- Mi:此结构放置时的采取的对称方式,可以为
minecraft:shipwreck[]
此结构片段表示沉船(Shipwreck Piece)。
- 结构片段数据根标签。
- isBeached:表示此沉船是否搁浅。
- Rot:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
minecraft:nefos[]
此结构片段表示下界化石(Nether Fossil)。
- 结构片段数据根标签。
- Rot:此结构放置时的旋转角度,可以为
NONE
(不旋转)、CLOCKWISE_90
(顺时针旋转90度)、CLOCKWISE_180
(旋转180度)、COUNTERCLOCKWISE_90
(逆时针旋转90度)。 - Template:此结构使用的结构模板的命名空间ID。
- TPX:结构模板的X坐标起始点。
- TPY:结构模板的Y坐标起始点。
- TPZ:结构模板的Z坐标起始点。
- Rot:此结构放置时的旋转角度,可以为
minecraft:jigsaw[]
此结构片段表示使用拼图的结构。
历史[]
区块在Infdev中首次引入。在Beta 1.3中加入区域文件格式之前,区块都是独立存储在以Base36编码的区块位置为文件名的.dat文件里,这种格式是Alpha文件格式。区域文件格式更改了这种储存方式,它把一组32×32区块存储在以Base10编码的坐标命名的.mcr文件里,以减少Minecraft一次处理文件的数量的方式来减少硬盘占用。区域文件格式的继承者便是现在的格式——Anvil文件格式,它只修改区块格式。区域文件技术仍然在使用,但其文件扩展名被改成了.mca。
区域文件格式到Anvil格式的主要修改是把区块拆成子区块。每个区块被分成若干个16×16×16方块组成的子区块以便使完全空的区域不会被保存。后者也已做好了支持0-4095的方块ID的准备,而前者支持的ID为0-255。然而,Minecraft没有为以物品形式存在的方块做好完全的准备,在256-4095中的许多ID都已被物品占用。直到扁平化后,方块与数字ID拆离,从此不再因为ID而使区块保存出现问题。
Java版 | |||||
---|---|---|---|---|---|
1.3.1 | 12w21a | 从MobSpawner 中移除了MaxExperience 、RemainingExperience 、ExperienceRegenTick 、ExperienceRegenRate 和ExperienceRegenAmount 。 | |||
1.4.2 | 12w34a | 加入实体WitherBoss 。 | |||
1.5 | 13w02a | 加入实体MinecartTNT 。
| |||
Minecart 被弃用。 | |||||
13w03a | 加入实体MinecartHopper 。 | ||||
13w06a | 加入实体MinecartSpawner 。 | ||||
1.6.1 | 13w16a | 加入实体EntityHorse 。 | |||
13w21a | 从EntityHorse 中移除了ArmorType 。
| ||||
从EntityHorse 中移除了Saddle 。 | |||||
1.6.1-pre | 为EntityHorse 重新加入了Saddle 。 | ||||
1.7.2 | 13w39a | 加入实体MinecartCommandBlock 。 | |||
1.8 | 14w02a | 为箱子加入了Lock 。
| |||
现在指定了NBT数据时不再使用物品ID。 | |||||
为FallingSand 加入了Block ,其使用了字母ID格式。 | |||||
14w06a | 为所有实体加入了ShowParticles 。
| ||||
为所有物品实体加入了PickupDelay 。 | |||||
把Age 设置为-32768会使物品永不过期。 | |||||
为所有生物移除了AttackTime 。 | |||||
14w10a | 为Villager 加入了rewardExp 。
| ||||
为所有可以饲养的生物加入了OwnerUUID 。 | |||||
为Skull 加入了Owner 。 | |||||
对物品展示框和画进行了更改:加入了Facing 、TileX 、TileY 和TileZ 现在表示物品里面的方块的坐标而不是其放置的物品,同时弃用了Direction 和Dir 。 | |||||
14w11a | 加入实体Endermite 。
| ||||
为Enderman 加入了EndermiteCount 。 | |||||
14w21a | 现在所有实体都有了CustomName 和CustomNameVisible 。 | ||||
14w25a | 加入实体Guardian 。
| ||||
为告示牌加入了Text1 、Text2 、Text3 和Text4 。告示牌现在不再有字符数量限制(16个),现在其限制取决于字符的宽度。 | |||||
14w27a | 加入实体Rabbit 。
为命令方块和告示牌加入了CommandStats 。 | ||||
14w28a | 从Enderman 移除了EndermiteCount 。 | ||||
14w30a | 为所有实体加入了Silent 。 | ||||
14w32a | 为所有生物加入了NoAI 。
| ||||
加入实体ArmorStand 。 | |||||
14w32c | 为ArmorStand 加入了NoBasePlate 。 | ||||
1.9 | 15w31a | 为Living 加入了标签HandItems 、ArmorItems 、HandDropChances 和ArmorDropChances 。它们取代了DropChances 和Equipment 标签。
| |||
为ArmorStand 加入了HandItems 和ArmorItems 。 | |||||
为Entity 加入了Glowing 。 | |||||
为LivingBase 加入了Team 。 | |||||
为EnderDragon 加入了DragonPhase 。 | |||||
加入实体Shulker ,是SnowMan 的子标签。 | |||||
加入实体ShulkerBullet ,是Entity 的子标签。 | |||||
加入实体DragonFireball ,其扩展了FireballBase ,但没有独有标签。 | |||||
加入实体TippedArrow 和SpectralArrow ,是Arrow 的子标签。 | |||||
加入方块EndGateway 和TileEntity 。 | |||||
加入方块Structure ,是TileEntity 的子标签。 | |||||
加入物品标签Potion ,是tag 的子标签。 | |||||
15w32a | Tags 和DataVersion 标签现在可应用于实体上。
| ||||
把Fuse 中PrimedTnt 实体的标签类型从“Byte”改为“Short”。 | |||||
15w32c | 引入了实体拥有标签的数量限制(1024个标签)。在试图超越此限制时会显示错误:“不能向实体加入超过1024个标签”。 | ||||
15w33a | 加入实体AreaEffectCloud ,其是Entity 的子标签。
| ||||
为EndGateway 加入ExactTeleport 并且重命名Life 为Age 。 | |||||
为ThrownPotion 加入了Linger 。 | |||||
从Entity 移除了DataVersion 。该标签现在只适用于Player 以及LivingBase 的子标签。 | |||||
从Entity 移除了UUID 。 | |||||
LivingBase 中的HealF 现已弃用。 | |||||
LivingBase 中的LivingBase 类型从“Short”变为“Float”。 | |||||
从ArmorStand 和Living 实体中移除了,该标签的功能被早些时候加入的HandItems 和ArmorItems 替代。 | |||||
15w33c | 为EnderCrystal 加入了BeamTarget 。 | ||||
15w34a | 向命令方块Control 方块实体加入了powered 和conditional 字节标签。
| ||||
为FireballBase 加入了life 和power 。 | |||||
为MobSpawner 中的SpawnData 加入了id 。 | |||||
为音符盒加入powered 到Music 方块实体。 | |||||
15w35a | 为Zombie 加入了VillagerProfession 。 | ||||
15w37a | 为MinecartHopper 加入了Enabled 。 | ||||
15w38a | 为EntityHorse 加入了SkeletonTrap 和SkeletonTrapTime 。 | ||||
15w41a | 所有实体中的Riding 被Passengers 替代。
| ||||
向所有骑乘者加入了RootVehicle 。 | |||||
为Boat 加入了Type 。 | |||||
15w42a | 为Cauldron (酿造台)加入了Fuel 。 | ||||
15w43a | 为Chest 、Minecart 和MinecartHopper 加入了LootTable 和LootTableSeed 。
| ||||
向所有生物加入了DeathLootTable 和DeathLootTableSeed 。 | |||||
向所有火球(FireballBase )加入了life 和power 。 | |||||
15w44a | 为EnderCrystal 加入了ShowBottom 。 | ||||
15w44b | 为Arrow 加入了Potion 和CustomPotionEffects 。
| ||||
为AreaEffectCloud 加入了Potion 。 | |||||
15w45a | 从ThrownPotion 处移除了Linger 。现在储存的物品的ID包含minecraft:lingering_potion ,药水会滞留。
| ||||
ThrownPotion 现在会渲染其物品形式,即使那个物品不是药水。 | |||||
15w46a | Rabbit 的MoreCarrotTicks 现在会在兔子吃一个胡萝卜时设置为40,但该标签目前未被使用。 | ||||
15w47a | 为Beacon 加入了PaymentItem 。 | ||||
15w49a | 从Beacon 中移除了PaymentItem 。
| ||||
为了使告示牌接受文字,所有4个标签(“Text 1”、“Text 2”、“Text 3”和“Text 4”)都必须存在。 | |||||
15w51b | ArmorStand 中DisabledSlots 的原始值会自然更改。 | ||||
1.10 | 16w20a | 加入实体 PolarBear 。 | |||
为Zombie 加入了ZombieType ,并且重命名VillagerProfession 为IsVillager 。值若为6则表示其是尸壳僵尸。 | |||||
一个值为2的SkeletonType 指向单独的骷髅。 | |||||
NoGravity 扩展到所有的实体。 | |||||
为Structure 加入powered 、showboundingbox 和showair 。 | |||||
16w21a | 加入FallFlying 到怪物和武器选项
| ||||
为Structure 加入integrity 和seed 。 | |||||
1.10-pre1 | 为AreaEffectCloud 加入ParticleParam1 和ParticleParam2 。 | ||||
1.11 | 16w32a | 马按它们各自的类型被分成如下实体ID:horse 、donkey 、mule 、skeleton_horse 以及zombie_horse 。从horse 中移除了Type 和HasReproduced 、ChestedHorse 和Items 标签已经仅仅适用于mule 和donkey 、并且SkeletonTrap 和SkeletonTrapTime 也只适用于skeleton_horse 。
| |||
骷髅被分成了如下实体ID: skeleton 、stray 以及wither_skeleton 。从骷髅中删除了所有的SkeletonType 标签。 | |||||
僵尸被分成了如下实体IDzombie 、zombie_villager 以及husk 。从僵尸类型中移除了所有的ZombieType 标签、ConversionTime 标签和Profession 标签现只适用于zombie_villager 。 | |||||
保卫者被分为了如下的实体IDguardian 、elder_guardian 。从guardian 中移除了Elder 。 | |||||
没有被使用的游戏保存IDMob 和Monster 被移除。 | |||||
Pumpkin 字节标签被加入到snowman 。 | |||||
16w35a | 为banner 加入了CustomName 。 | ||||
16w39a | 加入例如llama 、llama_spit 、vindication_illager 、vex 、evocation_fangs 和 evocation_illager 。
| ||||
为shulker 加入了Color 。 | |||||
为物品加入了LocName 、CustomPotionColor 以及ColorMap 。 | |||||
16w40a | 为vindication_illager 加入了Johnny 。
| ||||
从火球基类(恶魂火球、烈焰人火球(火焰弹)、末影龙火球和凋灵之首)中删除了xTile 、yTile 、zTile 、 inTile 和 inGround 。 | |||||
16w41a | 标签llama_spit 已经在游戏保存实体中可用, | ||||
16w42a | 加入 crit 到arrow 。 | ||||
16w43a | 加入 OwnerUUIDLeast 和 OwnerUUIDMost 到evocation_fangs 。 | ||||
16w44a | 从鱼钩实体中删除了标签:xTile 、 yTile 、 zTile 、inTile 、inGround 。 | ||||
1.11-pre1 | 改变ench 标签使它至少具有一个TAG_compound 。 | ||||
1.12 | 17w13a | 加入了实体Parrot 、ShoulderEntityLeft /ShoulderEntityRight 、seenCredits 、recipeBook 和Recipes 。 | |||
17w14a | 为成为了复合标签的recipeBook 加入了isFilteringCraftable 、isGuiOpen 和recipes 。
| ||||
为实体Zombie 加入了ConversionPlayerLeast 和ConversionPlayerMost 。 | |||||
17w16a | 改进了命令中的NBT解析。 | ||||
17w17a | 为recipeBook 、UpdateLastExecution 和LastExecution 加入了toBeDisplayed 。 | ||||
17w17b | 为可繁殖的实体加入了LoveCauseLeast 和LoveCauseMost 。 | ||||
1.13 | 17w47a | 物品中的damage 标签被移除,工具和盔甲现在使用Damage 标签,地图使用map 标签,二者类型都是tag 。
| |||
末影人的carried 和carriedData 标签被并入到carriedBlockState 标签中。 | |||||
箭的inTile 和inData 标签被并入到inBlockState 标签中。 | |||||
矿车的DisplayTile 和DisplayData 标签被并入到DisplayState 标签中。 | |||||
掉落的方块的Block 和Data 标签被并入到BlockState 标签中。 | |||||
移动的活塞的BlockId 和BlockData 标签被并入到blockState 标签中。 | |||||
移除了音符盒和花盆方块实体。 | |||||
陷阱箱现在有了它们自己的方块实体trapped_chest 。 | |||||
从旗帜中移除了Base 。 | |||||
从生物头颅中移除了Rot 。 | |||||
17w47a | 从唱片机中移除了Record 。 | ||||
17w47b | 陷阱箱不再拥有它们自己的方块实体,转而再次使用chest 。 | ||||
18w01a | Thrower 和Owner 的类型从strings已被修改为有2个long类型的L 和M 标签的复合标签。 | ||||
18w02a | 由钓鱼竿创建的浮漂现在有了其实体IDfishing_bobber 。
| ||||
画的ID已被小写化、命名空间化。 | |||||
18w07a | 加入了turtle 、trident 和phantom 实体。
| ||||
为turtle 加入了HomePosX 、HomePosY 、HomePosZ 、TravelPosX 、TravelPosY 、TravelPosZ 和HasEgg 。 | |||||
为phantom 加入了AX 、AY 、AZ 和Size 。 | |||||
18w15a | 加入了dolphin 实体。 | ||||
18w19a | 把puffer_fish 重命名为pufferfish 。 | ||||
18w20a | 把cod_mob 重命名为cod 。
| ||||
把salmon_mob 重命名为salmon 。 | |||||
18w21a | 为dolphin 加入了TreasurePosX 、TreasurePosY 、TreasurePosZ 、GotFish 和 CanFindTreasure 。
| ||||
ench 现已被重命名为Enchantments 。 | |||||
Enchantments 不再接受数字ID,它现在接受字母ID。 | |||||
pre5 | 把 xp_orb 重命名为experience_orb 。
| ||||
把xp_bottle 重命名为experience_bottle 。 | |||||
把eye_of_ender_signal 重命名为eye_of_ender 。 | |||||
把ender_crystal 重命名为end_crystal 。 | |||||
把fireworks_rocket 重命名为firework_rocket 。 | |||||
把commandblock_minecart 重命名为command_block_minecart 。 | |||||
把villager_golem 重命名为iron_golem 。 | |||||
把evocation_fangs 重命名为evoker_fangs 。 | |||||
把evocation_illager 重命名为evoker 。 | |||||
把vindication_illager 重命名为vindicator 。 | |||||
pre5 | 把illusion_illager 重命名为illusioner 。 | ||||
1.14 | 18w43a | 加入了illager_beast 、panda 和pillager 实体。 | |||
18w45a | 移除了LIGHT_BLOCKING 高度图。 | ||||
1.15 | 19w36a | 每个区块中 Level标签中的 Biomes数组现在包含1024个整数而不是256个,允许不同高度上的生物群系有不同的值。 | |||
1.18 | 21w37a | 现在生物群系数据由子区块保存, Biomes被删除。 | |||
21w39a | CarvingMasks中的 AIR和 LIQUID改用。 | ||||
21w43a | 所有的标签都从 Level标签中提取出来。 | ||||
ToBeTicked和 TileTicks合并为 block_ticks。 | |||||
LiquidsToBeTicked和 LiquidTicks合并为 fluid_ticks。 | |||||
Entities重命名为 entities。 | |||||
Sections重命名为 sections。 | |||||
Starts重命名为 starts。 | |||||
Structures重命名为 structures。 | |||||
TileEntities重命名为 block_entities。 | |||||
加入 yPos、 below_zero_retrogen和 blending_data标签。 | |||||
1.20.2 | 23w32a | 不再使用数值来存储世界中的状态效果。 | |||
更改了状态效果实例中的字段。 | |||||
更改了方块实体beacon 的NBT格式。 |
版本 | |||||||
---|---|---|---|---|---|---|---|
开发周期 |
| ||||||
技术 |
| ||||||
多人游戏 | |||||||
游戏订制 |
语言