本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详细信息…

区块格式

来自Minecraft Wiki
跳转至: 导航搜索
此页面的部分内容由于太久没更新而已过期。
你可以帮助我们来更新此页面
此页面的(部分)内容需要被翻译。
你可以帮助我们来翻译此页面

区块(Chunks)以16*256*16立方块为单位存储地形和实体信息。区块也会同时储存预处理的光照、等高线数据及其他元数据信息。

NBT结构[编辑 | 编辑源代码]

另见Anvil 文件格式页面

区块使用NBT格式存储时遵循以下结构:(详见下面的方块格式来查看方块在每个数组中的顺序)


  • 根标签

    •  Level:区块数据

      •  xPos:区块的X坐标

      •  zPos:区块的Z坐标

      •  LastUpdate:自该区块上次更新以来经过的刻。

      •  TerrainPopulated:布尔值,指示区块内的地区存不存在特殊的事物,如矿石、特殊方块、树木、地牢、花、瀑布等。如果该值为“False”或“0” 则游戏会在已经存在的方块内生成这些事物。

      •  V:当前总是为1,但实际上并没有被游戏加载。似乎是一个区块版本标签。

      •  InhabitedTime:玩家在该区块的总刻数。注意该值在多个玩家处于同一区块时会增长得更快。用于区域难度:增加带有一些装备的生物的生成几率,生成带有药水效果蜘蛛的几率,生成拥有捡起物品能力的生物的几率以及决定僵尸被攻击时生成其它僵尸的几率。该值大于等于3600000时,区域难度会最大程度影响该区块。在0及以下时,难度等级被限制到最低(虽然该值设置为负数时会被设置为0,但是把该值回归到正数还是要花时间的)。详见区域难度获取更多信息。

      •  Biomes: 256字节的生物群系信息,有些区块可能不具备该信息。区块内垂直的一列占用一字节空间,生物群系ID可在数据值页面查看。如果这个数组不存在,游戏在加载和保存区块时会自动根据世界的种子添加并赋值;若数组内任何数值为“-1”,游戏也会根据正确信息改正。

      •  HeightMap:1024个字节(256个TAG_Int)的高度数据,大小为16×16。每个字节会记录这一列中最低的哪那个阳光值为最高的方块。会随着阳光的计算而计算。

      •  Sections:一组复合标签,每个复合标签都是一个子区块。

        •  Y:这个子区块的Y索引(不是坐标)。范围是0到15(从低到高),没有重复,但一些子区块可能是空的。

        •  Blocks:以4096字节的方块ID存储的地形数据。每个方块占用8个字节空间来加上下属的附加标签。三维坐标的顺序为Y、Z、X。

        •  Add:2048字节的方块附加值数据,有些区块可能不具备该信息。该变量是用来添加到(结合)上层的方块ID数据来形成范围在[0,4095]区间之间的真实方块ID的。每个方块占用四个字节的空间。三维坐标的顺序为Y、Z、X。结合产生真实方块ID的方式是将这个值用到剩下的8字节空间里,然后再把他们加入到来自上方的方块ID中

        •  Data:2048 字节的方块数据,此外还用于定义一部分地形。每个方块占4字节。三维坐标顺序为Y、Z、X。

        •  BlockLight:2048 字节记录了每个方块发出的亮度。与在加载的时候重新计算所用的时间相比,这让加载的时间变得更少了。三维坐标顺序为Y。Z、X。

        •  SkyLight:2048 字节记录了每个方块接收到的太阳或月光的亮度。每方块占用4字节。三维坐标顺序为Y、Z、X。

      •  Entities:在该列表的每个 TAG_Compound 都定义了该区块里的实体。详见下面的实体格式。如果该列表为空,则该标签则为一个字节列表标签。

      •  TileEntities:在该列表的每个 TAG_Compound 都定义了该区块里的实体。详见下面的实体格式。如果该列表为空,则该标签则为一个字节列表标签。

      •  TileTicks:可能不存在。每个在该列表的 TAG_Compound 标签都是该区块中的一个等待更新的“活跃”方块。它们用于保存红石机械的状态、掉落的沙子或水以及其它活动。详见下面的附加刻格式

方块格式[编辑 | 编辑源代码]

在Anvil文件格式中, 方块的位置被按照YZX来排序以此达到压缩的目的。

坐标系如下:

  • X 增加向东,减少向西;
  • Y 增加向上,减少向下;
  • Z 增加向南,减少向北。

This also happens to yield the most natural scan direction, because all indices in the least significant dimension (i.e. X in this case) appear for each index in the next most significant dimension; so one reads an array ordered YZX as one would a book lying with its top northward, all letters (or X-indices) on a single line (or Z-index) at a time, and all lines on a single page (or Y-index) at a time. For the 2D arrays (i.e. "Biomes" and "HeightMap") the inapplicable Y dimension is simply omitted, as though the book is only one page thick.

Each section in a chunk is a 16x16x16-block area, with up to 16 sections in a chunk. Section 0 is the bottom section of the chunk, and section 15 is the top section of the chunk. To save space, completely empty sections are not saved. Within each section is a byte tag "Y" for the Y index of the section, 0 to 15, and then byte arrays for the blocks. The "Block" byte array has 4096 partial block IDs at 8 bits per block. Another byte array "Add" is used for block with IDs over 255, and is 2048 bytes of the other part of the 4096 block IDs at 4 bits per block. When both the "Block" and "Add" byte arrays exist, the partial ID from the "Add" array is shifted left 8 bits and added to the partial ID from the "Blocks" array to form the true Block ID. The "Data" byte array is also 2048 bytes for 4096 block data values at 4 bits per block. The "BlockLight" and "SkyLight" byte arrays are the same as the "Data" byte array but they are used for block light levels and sky light levels respectively. The "SkyLight" values represent how much sunlight or moonlight can potentially reach the block, independent of the current light level of the sky.

The endianness of the 2048-byte arrays (i.e. "Add," "Data," "BlockLight," & "SkyLight"), which give only 4 bits per block, seems to stand as the one anomalous exception to the otherwise consistent, format-wide standard of big-endian data storage. It also runs counter to the presumably natural human-readable printing direction. If the blocks begin at 0, they are grouped with even numbers preceding odd numbers (i.e. 0 & 1 share a byte, 2 & 3 share the next, etc.); under these designations Minecraft stores even-numbered blocks in the least significant half-byte, and odd-numbered blocks in the most significant half-byte. Thus block[0] is byte[0] at 0x0F, block[1] is byte[0] at 0xF0, block[2] is byte[1] at 0x0F, block[3] is byte[1] at 0xF0, etc. ...

The pseudo-code below shows how to access individual block information from a single section. Hover over text to see additional information or comments.

byte Nibble4(byte[] arr, int index){ return index%2 == 0 ? arr[index/2]&0x0F : (arr[index/2]>>4)&0x0F; }
int BlockPos = y*16*16 + z*16 + x;
byte BlockID_a = Blocks[BlockPos];
byte BlockID_b = Nibble4(Add, BlockPos);
short BlockID = BlockID_a + (BlockID_b << 8);
byte BlockData = Nibble4(Data, BlockPos);
byte Blocklight = Nibble4(BlockLight, BlockPos);
byte Skylight = Nibble4(SkyLight, BlockPos);

实体格式[编辑 | 编辑源代码]

每个实体是一个包含在区块文件的实体列表中的一个
 TAG_Compound(协议标签)。唯一例外的是玩家(Player)实体,它储存在level.dat,或者在服务器文件中的<player>.dat

id Pos Motion Rotation FallDistance Fire Air OnGround Dimension Invulnerable PortalCooldown UUIDMost UUIDLeast UUID CustomName CustomNameVisible Silent Riding CommandStats SuccessCountObjective SuccessCountName AffectedBlocksObjective AffectedBlocksName AffectedEntitiesObjective AffectedEntitiesName AffectedItemsObjective AffectedItemsName QueryResultObjective QueryResultName


  • 实体数据

    •  id:实体ID。这个标签不存在于玩家实体中。

    •  Pos: 3 个 TAG_Doubles 字段表示当前实体的 X、Y、Z 位置。

    •  Motion: 3 个 TAG_Doubles 来描述该实体此时在三维方向上的速度矢量,以米/刻为单位。

    •  Rotation: 2 个 TAG_Floats 表示旋转角度。

      • 鸟瞰视角中实体围绕Y轴的旋转(称为偏航),因为正西角被定义为0度,所以这个值不会超过360度。

      • 实体与地平线的倾角(称为仰角)。水平时为0,正值表示向下,不会超过±90度。

    •  FallDistance:实体已经下降的距离。更大的值会让实体在接触地面时受到更大的伤害。

    •  Fire:直到火被扑灭时的时间刻数。负值代表实体可以站在火里燃烧多久。不在火中时默认为-1。

    •  Air:实体现有的氧气值,单位为刻。在空气中时保持为最大300,意味着实体在溺水前有15秒的(憋气)时间,在实体死亡前总计有35秒的时间(设其有20生命值)。在水下时该值减少,减为0时意味着溺水,实体会每秒损失1点生命值。

    •  OnGround:1 或者 0 (true/false)-当实体接触地面时为 true。

    •  Dimension:表示实体所在的维度;实体只是被保存在相应世界的区域文件中。-1为下界,0为主世界,1为末路之地

    •  Invulnerable:1 或者 0 (true/false) - 如果实体不能被摧毁,则为 true,对实体和非实体都适用。生物不会受到任何来源的伤害(包括药水效果),同时不能被钓鱼竿、攻击、爆炸或弹射物破坏。注意,该实体在创造模式下仍然可以被摧毁。

    •  PortalCooldown:表示实体可以再次进入任何类型的传送门的时间,单位为刻。在传送后这个值将会从 900 刻(45秒)开始倒数到0。

    •  UUIDMost: 该实体通用唯一识别码的最高有效位。与UUIDLeast形成该实体唯一ID。

    •  UUIDLeast: 该实体通用唯一识别码的最低有效位。

    •  UUID(在1.9中移除): 该实体的通用唯一识别码。这个值将会被转换为十六进制的 UUID(例如: 069a79f4-44e9-4726-a5be-fca90e38aaf5),转换后的值将会赋予给 UUIDLeast 和 UUIDMost 标签。如果这两个标签已存在,则不执行转换。在实体加载后,“UUID”标签就被移除了。

    •  CustomName:该实体的自定义名称。在玩家死亡信息中和村民交易界面中显示,同时将光标移动到该实体时也会显示。可能会不存在这个标签,或者是一个空值。

    •  CustomNameVisible: 1 或 0 (true/false) - 如果为 true,并且该实体拥有自定义名称,无论光标是否指向它,它总是显示在实体的上方。如果实体没有自定义名称,将会显示默认名称。可能不存在这个标签。

    •  Silent: 1 或 0 (true/false) - 如果为 true,,则该实体不会制造声音。可能不存在这个标签。

    •  Riding15w41a后弃用)被骑乘实体的id数据。注意:如果实体处于骑乘状态,堆叠中“最高”的实体拥有Pos标签,而该标签指定了“最低”的实体的坐标。同样注意,“最低”的实体控制这堆实体的运动;当实体堆叠由刷怪箱生成时,生成条件由最上方的实体决定。
      • 参见这个格式(递归)。

    •  Passengers:骑乘者的id数据。可以由多个实体同时骑着一个实体。当被一个生物刷怪箱生成时,其最上面的实体控制着生成条件。最上面的实体同时也控制着该实体的移动。
      • 参见这个格式(递归)。

    •  Glowing:1 或 0(true/false) - 如果实体发光则为 true。

    •  Tags: 自定义字符串数据列表。

    •  CommandStats:记分板信息识别参数,用于记录上次对该实体执行命令的结果。

      •  SuccessCountObjective:Objective 字段,表示上次执行的命令是否成功(将会是一个 boolean 值)

      •  SuccessCountName:Objective 字段,表示上次执行的命令是否成功

      •  AffectedBlocksObjective:Objective 字段,表示上次执行成功的命令修改的方块数量(将会是一个 int 值)

      •  AffectedBlocksName:表示上次执行成功的命令修改的方块数量

      •  AffectedEntitiesObjective:表示被上次执行成功命令修改的实体数量(将会是一个 int 值)

      •  AffectedEntitiesName: Fake player 字段,表示被上次执行成功命令修改的实体数量

      •  AffectedItemsObjective: Objective 字段,表示被上次执行成功命令修改的实体数量(将会是一个 int 值)

      •  AffectedItemsName: Fake player 字段,表示上次命令被修改的物品数量

      •  QueryResultObjective: Objective's 字段,表示上次命令的查询结果

      •  QueryResultName: Fake player 字段,表示上次命令的查询结果

生物[编辑 | 编辑源代码]

每个生物都有额外的标签来储存它们的血量、状态、效果。玩家是生物的一个子类。

生物实体
实体ID 名称
bat 蝙蝠
blaze 烈焰人
cave_spider 洞穴蜘蛛
chicken[备注 1]
cow[备注 1]
creeper 爬行者
donkey[备注 1]
elder_guardian 远古守卫者
ender_dragon 末影龙
enderman 末影人
endermite 末影螨
evocation_illager 唤魔者
ghast 恶魂
giant 巨人
guardian 守卫者
horse
husk 尸壳
llama 羊驼
magma_cube 岩浆怪
mooshroom[备注 1] 哞菇
mule[备注 1]
ocelot[备注 1][备注 2] 豹猫
pig[备注 1]
polar_bear[备注 1] 北极熊
rabbit[备注 1] 兔子
sheep[备注 1]
shulker 潜影贝
silverfish 蠹虫
skeleton 骷髅
skeleton_horse 骷髅马
slime 史莱姆
snowman 雪傀儡
spider 蜘蛛
squid 鱿鱼
stray 流髑
vex 恼鬼
villager[备注 1] 村民
villager_golem 铁傀儡
vindication_illager 卫道士
witch 女巫
wither 凋灵
wither_skeleton 凋灵骷髅
wolf[备注 1][备注 2]
zombie 僵尸
zombie_horse 僵尸马
zombie_pigman 僵尸猪人
zombie_villager 僵尸村民
  1. 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 可以繁殖
  2. 2.0 2.1 可以驯服

  • 可以繁殖的生物有这些额外的字段:

    •  InLove: 生物搜寻配偶以交配的剩余时间(刻)。 0时停止搜寻。

    •  Age: 表示生物的年龄:为负时是幼儿状态,为非负时是成年状态。大于0表示距离下次可喂食以繁殖的剩余时间(刻)。

    •  ForcedAge: 当幼儿状态的生物被喂食时会增加。

  • 可以被驯服的生物有这些额外的字段:(马除外):

    •  Owner: 主人玩家名称,如果没有主人则为空。

    •  OwnerUUID: 1.8里记录主人玩家的UUID。没有则为空。

    •  Sitting: 1或0 (true/false) - 1 代表生物坐下了。

  • 蝙蝠有这些额外的字段:

    •  BatFlags: 1代表正在倒挂在方块上,0代表正在飞行。

  • 有这些额外的字段:

    •  IsChickenJockey: 1或0 (true/false) - 决定鸡是否由小僵尸控制. 如果为真鸡就可以自然的消失,当玩家攻击这只鸡时会激怒僵尸猪人,被击杀时掉落10经验;这个值为假时小僵尸依旧可以控制鸡。

    •  EggLayTime: 距离鸡下一次下蛋的时间(刻)。 在为0的时候会下蛋,然后该值会随机重置到6000到12000之间。

  • 爬行者有这些额外的字段:

    •  powered: 1或0 (true/false) – 可能不存在。True代表爬行者被闪电击中并变成高压爬行者。

    •  ExplosionRadius: 爆炸的半径,默认为3。

    •  Fuse: 距离爬行者爆炸的时间(刻)(并不会影响正在掉落并会在落地时爆炸的爬行者)。默认为30。

    •  ignited: 1或0 (true/false) - 判断爬行者是否由打火石点燃。

  • 末影龙 有这些额外的字段:

    •  DragonPhase:末影龙当前的形态。0代表巡逻,1代表准备发射火球,2代表飞回传送门巢穴,3代表在传送门巢穴,4代表飞离传送门巢穴,5代表准备龙息攻击,6代表正在龙息攻击,7代表龙息攻击前的吼叫,8代表向玩家冲锋,9代表飞回传送门巢穴以完成死亡动画,10代表没有AI(用/summon命令召唤的末影龙的默认状态)。

  • 末影人有这些额外的字段:

    •  carried: 被末影人拿起的方块的ID,0代表没有拿起任何方块。

    •  carriedData: 末影人所拿起的方块的额外数据,0代表没有拿起任何方块。

  • 末影螨有这些额外的字段:

    •  Lifetime: 末影螨存在的时间(刻)。通常为2400刻。

    •  PlayerSpawned: 1或0 (true/false) - true代表末影人将会攻击末影螨。

  • 唤魔者有这些额外的字段:

    •  SpellTicks: 代表施法剩余时间(刻)。0表示未在施法。




  • 骷髅马
    僵尸马
    羊驼有这些额外的字段:

    •  Bred: 1 或者 0 (true/false) – 未知。在繁殖后保持0。会导致变得很固执。

    •  ChestedHorse(16w32a): 1或0 (true/false) – true代表戴着箱子。马不存在该NBT。

    •  EatingHaystack: 1或0 (true/false) – true代表在进食。

    •  HasReproduced(在16w32a删除): 1 或者 0 (true/false) – 暂未使用。始终为0。

    •  Tame: 1 或者 0 (true/false) – true代表已被驯服。

    •  Temper: 范围是0-100。随着喂食提升。数值越高越容易被驯服。

    •  Type(在16w32a删除): 马的类型, 0 = 马,1= 驴,2= 骡,3 = 僵尸马,4 =骷髅马。

    •  Variant: 变种,决定颜色。 存储为baseColor | markings << 8.如果它的值大于等于7,将会生成不可见的但行为正常的生物。仅马和羊驼存在该NBT。

    •  OwnerName (移除): 包含驯服它的玩家名字,不会对行为产生影响。

    •  OwnerUUID: 记录驯服这匹生物的玩家UUID。不会对行为产生影响。

    •  Items: 物品列表。仅在ChestedHorse为true时存在。

      • 一个物品,包括槽位标签。槽位标签编号2 - 16为驴和骡子。马不存在该NBT。

    •  ArmorItem: 马所穿着的盔甲物品。可能不存在。羊驼不存在此NBT。

    •  SaddleItem: 所穿着的鞍物品。可能不存在。羊驼不存在此NBT。

    •  ArmorType: ( 在13w21a删除) 盔甲类型. 0 = 无,1 = 铁,2= 金,3= 钻石。其他的数值会导致加载随机的材质。

    •  Saddle: (在13w21a删除) 1 或者 0 (true/false) – true代表马上有鞍。。

  • 羊驼有这些额外的字段:

    •  Strength: 决定羊驼的物品槽数量为 3* strength。最大为5。

    •  DecorItem 一个物品,包括槽位标签。只能是地毯。

  • 骷髅马有这些额外的字段:

    •  SkeletonTrap(16w32a): 1 or 0 (true/false) - 为真则这是一匹陷阱 骷髅马

    •  SkeletonTrapTime(16w32a): 当SkeletonTrap为真时每刻增加1。这匹马将会在该值达到 18000 (15 分钟)时自动消失。

  • 恶魂有这些额外的字段:

    •  ExplosionPower: 代表恶魂发出的火球的爆炸半径,默认为1。

  • 守卫者有这些额外的字段:

    •  Elder(在16w32a删除): 1 或者 0 (true/false) – true代表远古守卫者。

  • 豹猫有这些额外的字段:

    •  CatType: 豹猫的皮肤类型ID。0是野生豹猫, 1是西服猫,2是虎斑猫, 3是暹罗猫。并不会改变豹猫的行为。只要其Owner字符串是空的那么它就是野生的,这表示野生的豹猫看上去能和猫一样,反之亦然。

  • 有这些额外的字段:

    •  Saddle: 1 或者 0 (true/false) – true代表猪上有鞍。

  • 兔子有这些额外的字段:

    •  RabbitType: 兔子的类型(皮肤),0是棕色兔子、1是白色、2是黑色、3是黑白相间、4是金色、5是胡椒盐,99是杀手兔。

    •  MoreCarrotTicks: 通常用于记录兔子下次会去“吃”种植的胡萝卜的时间. (?) 每刻减少直到0。当破坏了种植的胡萝卜之后会被重置到某值。 (?)

  • 有这些额外的字段:

    •  Sheared: 1 或者 0 (true/false) – ture代表羊已被剪毛。

    •  Color: 0 to 15 – 羊毛的颜色ID,见羊毛数据值

  • 潜影贝 (since 15w31a) 有这些额外的字段:

    •  Peek: 潜影贝头部的高度.

    •  AttachFace: 潜影贝附着于那个方向的方块。

    •  APX: 近似的X坐标。

    •  APY: 近似的Y坐标。

    •  APZ: 近似的Z坐标。


  • 骷髅有这些额外的字段:

    •  SkeletonType
      (在16w32a删除): 0 为普通骷髅,1 为凋灵骷髅,2 为流髑。


  • 史莱姆岩浆怪有这些额外的字段:

    •  Size: 史莱姆/岩浆怪的大小。通常为0,1,3。

    •  wasOnGround: 1 或者 0 (true/false) - 1代表它接触地面。

  • 雪傀儡有这些额外的字段:

    •  Pumpkin(16w32a): 1 或者 0 (true/false) – true代表此雪傀儡有南瓜头。

  • 恼鬼有这些额外的字段:

    •  BoundX: 未知。

    •  BoundY: 未知。

    •  BoundZ: 未知。

    •  LifeTicks: 每刻减少1,为0时恼鬼将会受到伤害并且重置为20。
  • Villagerhead.png 村民有这些额外的字段:

    •  Profession: 村民的材质ID。这同时会影响到交易选项。

    •  Riches: 暂未使用。随着村民收到绿宝石而上升。

    •  Career: 村民的职业ID。这同时也会影响到交易选项,并且对它的在GUI里的实体名(如果它没有被命名)有影响。如果值是0,在下一次交易菜单刷新时,游戏会给它设置一个新的职业并且将他的职业等级(CareereLevel)重设为Lv.1。

    •  CareerLevel: 村民交易选项中目前的等级。会影响到村民形成的交易选项,如果它的值比这个职业的最大等级还要大,将不会形成新的交易选项。随着一次交易完成并刷新而增长。如果它的值为零,下一次交易的进行会给村民分配一个新的职业并将他的职业等级(CareereLevel)重设为Lv.1.设置一个比这个职业还要高的值不会形成新的交易选项。

    •  Willing: 1 或 0 (true/false) - true代表这个村民愿意进行交配。会在进行过一个确定的交易(是交易菜单刷新的交易)后变成 true,然后在交配后变成false

    •  Inventory: 每个属于此列表下的标签和物品会放在村民的背包里,最高有8个位次。如果有相同可堆叠物品在两个格子,会合并到第一个格子里。如果放入的格子超过8个,最后的格子会被移除直到格子总数为8.如果首位两个格子是可堆叠的,最后一个格子的物品会显示并且首位两个格子合并。

      • 一个物品在背包里,不包括位次标签

    •  Offers: 在第一次打开交易菜单时产生

      •  Recipes: 交易列表

        • 单个交易选项

          •  rewardExp: 1 或 0 (true/false) - true代表交易会提供经验球。

          •  maxUses: 代表在关闭选项前能进行的最大交易次数

          •  uses: 已经交易的次数,如果大于或等于maxUses,该交易将被关闭。

          •  buy: 第一个收购项目,没有槽位标签。

          •  buyB: 可能不存在。第二个收购项目,没有槽位标签。

          •  sell: 出售项目,没有槽位标签。

  • 铁傀儡有这些额外的字段:

    •  PlayerCreated: 1 或者 0 (true/false) – true代表此傀儡是由玩家创造的。

  • 卫道士有这些额外的字段:

    •  Johnny: 可选。1 或者 0 (true/false) - 设置为true将导致卫道士表現出Johnny的行为,如上所述。设置为false将防止卫道士表现出Johnny的行为,即使被命名为“Johnny”。

  • 凋灵有这些额外的字段:

    •  Invul: 凋灵的无敌状态的时间(刻),0代表不在无敌状态。

  • 有这些额外的字段:

    •  Angry: 1 或者 0 (true/false) – 1代表狼在愤怒中

    •  CollarColor: 狼项圈的颜色,即使是野生的狼仍然存在(但不会渲染出来),默认为14。

  • 僵尸
    僵尸村民
    僵尸猪人有这些额外的字段:

    •  IsBaby: 1 或者 0 (true/false) – true代表此僵尸为小僵尸。可能不在普通僵尸上存在。

    •  CanBreakDoors: 1 或者 0 (true/false) – true代表此僵尸可以打破门。

    •  CanPickUpLoot: 1 或者 0 (true/false) – true代表此僵尸可以捡起掉落的物品。

    •  ZombieType
      (在16w32a删除) :0~6 - 决定僵尸的种类,0为普通僵尸,1~5为5种职业的僵尸村民,6为尸壳


僵尸村民有这些额外的字段:


    •  ConversionTime: -1代表不在变回村民的过程中,正数代表变回村民的剩余时间(刻)。再生效果会与此平行。

    •  Profession(16w32a):决定这只僵尸村民显示为什么职业的皮肤, 也决定他们治愈之后会从事什么职业。

  • 僵尸猪人有这些额外的字段。

    •  Anger: 僵尸猪人变成中立状态的值(刻)。-32768~0代表中立,1~32767代表愤怒。这个值会每tick减少1如果这个值大于0。当这个值从1变成0是,僵尸猪人也不会停止对玩家的跟踪或攻击直到玩家离开了僵尸猪人的探测半径(因为1.8的AI提升)。当僵尸猪人被玩家或者距离32方块之内的主人被玩家攻击是,这个值会随机设定到400到800内。如果想要在1.8版本以后让一个僵尸猪人停止追踪玩家,你需要将猪人的下列nbt标签有所更改。1.HurtBy标签,你需要重写该标签,覆盖为一个其他尸体的UUID.2.generic.followRange属性,竭尽可能的缩小它(随后你可以通过entitydata命令将其复原至正常值35.0) 3.Anger,将它调整为一个负数或者0。

    •  HurtBy: 最后一个攻击这只猪人的玩家UUID。

弹射物[编辑 | 编辑源代码]

弹射物是实体的一个分支并有非常晦涩的标签,如尽管存在Entity Pos标签但仍加入X、Y、Z方位标签,尽管存在inGround但仍加入inTile,以及尽管多数弹射物不是箭但仍加入shake标签。

弹射物实体
实体ID 名称
arrow 射出的箭
snowball 丢出的雪球
egg 丢出的蛋
fireball 恶魂火球
small_fireball 烈焰人火球
ender_pearl 丢出的末影珍珠
xp_bottle 丢出的附魔之瓶
potion 丢出的喷溅药水
wither_skull 凋灵之首









  • 弹射物有这些额外的字段:

    •  xTile: 该实体的X坐标

    •  yTile: 该实体的Y坐标

    •  zTile: 该实体的Z坐标

    •  inTile: 弹射物存在的方块ID

  • 射出的箭有这些额外的字段:

    •  shake: 箭弹射到方块后的颤动

    •  inData: 弹射物存在的方块元数据

    •  pickup: 0 = 无法被玩家捡起 1 = 可以被生存模式和创造模式的玩家捡起 2 = 只能被创造模式的玩家捡起

    •  player: 1 或者 0 (true/false) – 如果pickup没有被使用,并且该项为true,那么箭可以被玩家捡起

    •  damage: 伤害基数,与击中实体时的速度(米每刻)相乘得到实际伤害值。普通的箭为2.0,每级的力量魔咒将增加0.5。如果力量魔咒存在,则额外增加0.5(力量I将给予额外1.0,力量II给予1.5)

    •  inGround: 1 或者 0 (true/false) –弹射物是否在地上或已经击中地面(用于拾起箭矢,你无法在空中接箭)

如果射出的箭有 Potion 或 CustomPotionEffects 标签,则为药箭,它们将拥有和物品药箭一样的nbt标签。





  • 恶魂火球烈焰人火球凋灵之首龙火球有这些额外的字段:

    •  direction: 包含3个双精度浮点数的List集合。应该与Motion相同。

    •  life: 当它不动时每刻增加1;当它移动时设为0;为600时消失。

    •  power: 包含三个double(双精度浮点数)类型的List集合。与direction但并不冲突,

  • 恶魂火球有这些额外的字段:

    •  ExplosionPower: 火球在撞击时的威力和大小。默认为1。





  • 丢出的末影珍珠丢出的附魔之瓶丢出的喷溅药水丢出的雪球丢出的鸡蛋有这些额外的字段:

    •  shake: 弹射到方块后的颤动。

    •  ownerName: 抛出的玩家的名字。

物品[编辑 | 编辑源代码]

物品是实体的一个分支

物品实体
实体名 名称
item 掉落的物品
xp_orb 经验球

  • 物品有这些额外的字段:

    •  Health: 物品的生命值,从5开始,物品会从火、熔岩、和爆炸受到伤害。当生命值变0时物品将会被摧毁。

    •  Age: 物品"未被触碰"的时间。在6000刻(5分钟)后物品将会被摧毁。

  • 掉落的物品有这些额外的字段:

    •  Item: 物品栏物品,无槽位标签

  • 经验球有这些额外的字段:

    •  Value: 在捡起后可以获得的经验数量

交通工具[编辑 | 编辑源代码]

交通工具是实体的一个分支

交通工具实体
实体 ID 实体名称
Boat
minecart 矿车
chest_minecart 运输矿车
furnace_minecart 动力矿车
spawner_minecart 刷怪箱矿车
tnt_minecart TNT矿车
hopper_minecart 漏斗矿车
commandblock_minecart 命令方块矿车

  • 船有这些额外的字段:

    •  Type: 船的类型,只能是oak, spruce, birch, jungle, acacia, dark_oak。






  • 各类矿车可能有这些额外的可选字段:

    •  CustomDisplayTile: 可无。 1 或者 0 (true/false) - 是否要在这个矿车显示自定义方块。

    •  DisplayTile: 可无。在矿车里的自定义方块 ID。

    •  DisplayData: 可无。在矿车里的自定义方块损耗值。

    •  DisplayOffset: 可无。在矿车里的自定义方块偏移量。正值使自定义方块向上移动,负值则使方块向下移动。该数值中 16 恰是一个完整方块的高度。

  • 矿车 (在13w02a后去除) 有下列额外的可选字段:

    •  Type: 矿车的类型: 0 - 普通、 1 - 运输矿车、 2 - 动力矿车。
    • 继承所有 MinecartRideable运输矿车动力矿车的字段,不包括 Type


  • 运输矿车漏斗矿车 有下列额外的可选字段:

    •  Items: 物品列表。

      • 一个物品,包括槽位标签。箱子的槽位标签编号从0到26,漏斗的槽位标签编号从0到4。

  • 动力矿车 有下列额外可选字段:

    •  PushX: 向X轴的力,用于平滑加/减速。

    •  PushZ: 向Z轴的力,用于平滑加/减速。

    •  Fuel: 距离矿车燃料用完的刻数,-1则没有燃料。

  • 漏斗矿车 有下列额外的可选字段:

    •  TransferCooldown: 距离下一次转移的时间,1或者8,为0则没有进行转移。

  • TNT矿车 有下列额外的可选字段:

    •  TNTFuse: 距离爆炸剩下的刻数,如果为-1则未被激活。

  • 刷怪箱矿车 有下列额外的可选字段:
    • 继承刷怪箱的所有内容,不包括基础方块实体值字段。

动态方块[编辑 | 编辑源代码]

动态方块是实体的一个子类,用来表示原本为方块,但因其他原因而成为实体的实体。在本质上,仍然为一个实体。

Dynamic Tile Entities
实体ID 实体名称
tnt 点燃的TNT
falling_block 掉落中的方块

  • 点燃的TNT有这些额外的字段:

    •  Fuse: 距离TNT爆炸的时间(刻)。




  • 掉落中的方块 有这些额外的字段:

    •  Tile
       : 方块ID。不仅限于沙,沙砾,龙蛋,或铁砧。虽然弃用,这个值是永远存在的。

    •  TileID: 方块ID,如上所述,但是现在的支持范围仅为1 - 4095,只存在于1.8之前。

    •  Block:方块的字母ID格式,如:"minecraft:stone",只存在于1.8之后。

    •  TileEntityData: 可选的。这个方块的方块实体值

    •  Data: 这个方块的附加标签。

    •  Time: 实体存在的时间()。如果为0, 实体就只会出现1。如果方块所在位置有一个与实体的方块ID不同的ID那么方块就会消失.。当Time为0~1时如果在实体位置上的方块有和实体相同的方块ID,“方块”会被删除,而实体则会继续下落,覆盖方块。(这个特性是Mojang尝试让掉落的沙子实体在下一删除复制出的方块来“修复”无限复制沙子/沙砾/龙蛋/铁砧等等实体的Bug时加入的) 当Time大于600,或当Time大于100同时y<0时,实体会被删除。

    •  DropItem: 1 或者 0 (true/false) - true代表他会掉落方块。

    •  HurtEntities: 1 或者 0 (true/false) - true代表掉下时会砸死生物(如铁砧从256格的高空掉下来)。

    •  FallHurtMax: 实体被掉落方块砸中时受到的最大伤害的点数。通常是40点(20颗心)。

    •  FallHurtAmount: 用该数值乘以下降的距离为被砸实体受到伤害的量。通常是2。

其它[编辑 | 编辑源代码]

其它实体类型是实体的一个子类但无法分入任何上述分类。

其它实体
实体ID 名称
ender_crystal 末影水晶
eye_of_ender_signal 末影之眼
fireworks_rocket 烟花火箭
item_frame 物品展示框
leash_knot 拴绳
painting

  • 盔甲架有这些额外的字段:

    •  DisabledSlots:位字段允许禁用装备的放置、替换和移除。给armorPos设置0代表手持物品,1是脚部,2是腿部,3是上身,4是头部。标示1<<(向左移位)armorPos将会禁用移除armorPos(armorPos值所代表的部位),标示1<<(armorPos+8)将会禁用替换armorPos,1<<(armorPos+16)将会禁用放置armorPos.比如说2096896将会禁用盔甲架所有部位的交互.如果标示1那是个特例:它会禁用所有部位的移除,对手持物品的放置与替换

    •  Equipment( 在1.9删除) 生物的所拥有的装备的复合标签列表。列表中的每个复合标签都是没有物品栏标签的。所有的5项将永远存在(即使是玩家)但复合标签是空的,会显示没有物品。

      •  0:实体手持物品。

      •  1:脚部。

      •  2:腿部。

      •  3:上身。

      •  4:头部。

    •  HandItems:生物的所拥有的手上物品的列表。列表中的每个复合标签都是没有物品栏标签的。所有的2项将永远存在(即使是玩家)但复合标签是空的,会显示没有物品。

      •  0:主手的物品。

      •  1:副手的物品。

    •  ArmorItems:生物的所拥有的盔甲物品的列表。列表中的每个复合标签都是没有物品栏标签的。所有的4项将永远存在(即使是玩家)但复合标签是空的,会显示没有物品。

      •  0:靴子槽位

      •  1:腿槽位

      •  2:胸甲槽位

      •  3:头槽位

    •  Marker:1或者0(true/false)-如果是true,盔甲架大小会被设置成0,并且使它隐形且拥有一个极小的碰撞箱。

    •  Invisible:1或者0(true/false)-如果是true,盔甲架将是隐形的,但是上面放置的装备会显示。

    •  NoBasePlate:1或者0(true/false)-如果是true,在盔甲架下面不会显示底座。

    •  NoGravity:1或者0(true/false)-如果是true,盔甲架在空中不会掉落。

    •  Pose:盔甲架姿势的旋转(Rotation)值。

      •  Body:上身具体的旋转(Rotation)值。

        • :X轴旋转(Rotation)值

        • :Y轴旋转(Rotation)值

        • :Z轴旋转(Rotation)值

      •  LeftArm:左臂具体的旋转(Rotation)值。

        • :X轴旋转(Rotation)值

        • :Y轴旋转(Rotation)值

        • :Z轴旋转(Rotation)值

      •  RightArm:右臂具体的旋转(Rotation)值。

        • :X轴旋转(Rotation)值

        • :Y轴旋转(Rotation)值

        • :Z轴旋转(Rotation)值

      •  LeftLeg:左腿具体的旋转(Rotation)值。

        • :X轴旋转(Rotation)值

        • :Y轴旋转(Rotation)值

        • :Z轴旋转(Rotation)值

      •  RightLeg:右腿具体的旋转(Rotation)值。

        • :X轴旋转(Rotation)值

        • :Y轴旋转(Rotation)值

        • :Z轴旋转(Rotation)值

      •  Head:头部具体的旋转(Rotation)值。

        • :X轴旋转(Rotation)值

        • :Y轴旋转(Rotation)值

        • :Z轴旋转(Rotation)值

    •  ShowArms:1或者0(true/false)-如果是true,盔甲架会显示满的(类同玩家手臂)的木头手臂。

    •  Small:1或者0(true/false)-如果是true,盔甲架会小得多,形同小僵尸。

  • 实体烟花有这些额外的字段:

    •  Life: 烟花火箭已经飞行的时间(

    •  LifeTime: 距离烟花火箭的爆炸时间(). 这个value为当烟花实体创建时的一个随机值: ((Flight + 1) * 10 + random(0 to 5) + random(0 to 6))

    •  FireworksItem: 制作烟花时在烟花火箭中所使用的物品


  • 物品展示框都有这些额外的字段:

    •  TileX: 物品展示框或画的X坐标。

    •  TileY: 物品展示框或画的Y坐标。

    •  TileZ: 物品展示框或画的Z坐标。

    •  Direction: 物品展示框或画的朝向。

    •  Dir: 与Direction一样,但是2和0的数据值被交换,当Direction启用时被忽略。

  • 物品展示框有这些额外的字段:

    •  Item: 没有槽位标签的物品标签。如果物品展示框是空的,这个标签不存在。

    •  ItemDropChance: 展示框被破坏时物品掉落的几率,默认为1.0。

    •  ItemRotation: 物品被旋转45°的次数。

  • 有这些额外的字段:

    •  Motive: 这幅的名字。

  • 潜影贝子弹有这些额外的字段:

    •  Owner: 这个潜影贝子弹的发射者.

      •  L: 发射者的UUIDLeast

      •  M: 发射者的UUIDMost

      •  X: 发射者的X方块坐标。

      •  Y: 发射者的Y方块坐标。

      •  Z: 发射者的Z方块坐标。

    •  Steps: 潜影贝子弹方向变化次数。

    •  Target: 潜影贝子弹的目标。

      •  L: 目标的UUIDLeast

      •  M: 目标的UUIDMost

      •  X: 目标的X方块坐标。

      •  Y: 目标的Y方块坐标。

      •  Z: 目标的Z方块坐标。

    •  TXD: 潜影贝子弹直线飞行的向量X。

    •  TYD: 潜影贝子弹直线飞行的向量Y。

    •  TZD: 潜影贝子弹直线飞行的向量Z。

  • 药水云有这些额外的字段:

    •  Age: 颗粒区域最小持续时间。

    •  Color: 显示的颗粒效果的颜色。使用和Display Properties相同的color标签。

    •  Duration: 颗粒区域最大持续时间。颗粒区域将在这个时间消失,无论半径如何。

    •  ReapplicationDelay: 在产生状态效果前的时间(刻)。

    •  WaitTime: 颗粒效果展开的时间(刻)。

    •  OwnerUUIDMost: 状态效果产生者的UUIDLeast。

    •  OwnerUUIDLeast: 状态效果产生者的UUIDMost。

    •  DurationOnUse: 位置。似乎没有影响Age或Duration。

    •  Radius: 颗粒效果区域的半径。

    •  RadiusOnUse: 在作用状态效果上半径的增量。一般为负值。

    •  RadiusPerTick: 每刻半径的增量。一般为正值。

    •  Particle: 药水云显示的颗粒效果名称

    •  Effects 应用的状态效果列表。

      • 一个单独的状态效果。

        •  Ambient: 减少状态效果的显示。

        •  Amplifier: 状态效果等级。

        •  Id: 状态效果id。

        •  ShowParticles: 颗粒效果的显示。

        •  Duration: 状态效果持续时间。0表示瞬间。

方块实体值格式[编辑 | 编辑源代码]

方块实体值在Minecraft中被用来储存不能存放在4-bit内的方块信息

Tile Entities
Tile Entity ID 对应方块
end_portal 末地传送门
beacon 信标
brewing_stand 酿造台
chest 箱子
陷阱箱
comparator 红石比较器
command_block 命令方块
daylight_detector 阳光传感器
dropper 投掷器
enchanting_table 附魔台
ender_chest 末影箱
furnace 熔炉
hopper 漏斗
mob_spawner 刷怪箱
noteblock 音符盒
piston 活塞
jukebox 唱片机
sign 告示牌
skull 头颅
dispenser 发射器

所有的方块实体值都共享这些基础值:


  • 方块实体值

    •  id: 实体ID

    •  x: 方块的X坐标。

    •  y: 方块的Y坐标。

    •  z: 方块的Z坐标。










  •  这些容器可能会有以下额外的标签:

    •  CustomName:非必要。用于自定义容器的显示名称。若对命令方块使用,[email protected];例如将命令方块命令设置为/say <内容>,带上CustomName,[email protected]

  • 信标 有这些额外的字段:

    •  Levels: 信标的等级

    •  Primary: 被选择的主要效果,ID详见状态效果。0代表无效果。

    •  Secondary: 被选择的次要效果,ID详见状态效果。0代表无效果。

  • 酿造台 有以下额外字段:

    •  Items: 正在酿造的物品列表,这将会影响酿造台的外观。

    •  BrewTime: 药水已经酿造的红石.

    •  Fuel:酿造台的剩余燃料。

  • 箱子 有以下额外字段:

    •  Items:在箱子里的物品.[note 1]

      • : 其中的一格物品,包含一个值为0到26的整数的位置标签(其中值为0为左上角的格子,1为0所在右侧的格子,以此类推)
  1. 大箱子其实只是就是两个独立的小箱子,将他们劈开即可。

  • 红石比较器 有以下额外字段:

    •  OutputSignal:当前红石比较器输出的信号强度。因为这个方块本身就将不同方向、充能情况和比较模式存入4-bit而有可能被使用,且红石比较器在电路中可以不用红石线就可以存储具体的红石能量。

  • 命令方块 有以下额外字段:

    •  Command命令方块当前所有的命令。

    •  SuccessCount:当前命令方块可以用红石比较器输出的信号强度(命令方块是否输出),每当命令方块被红石信号激活一次后才更新一次。

  • 熔炉 有以下额外字段:

    •  BurnTime: 距离当前燃料燃毕所剩的红石刻。[note 1]

    •  CookTime: 矿物已经被熔炼的红石刻或者食物已经被烧制的红石。当此值为200时(约10秒),该物品熔炼或烧制完成;当BurnTime的值为0时将会重置CookTime的值,即半途而废。

    •  Items: 熔炉内的物品列表。

      • : 其中一格物品,包括一个位置标签:
        Slot 0: 被熔炼物
        Slot 1: 下一个被使用的燃料
        Slot 2: 成品栏.
  1. 当燃料被放置于熔炉中且开始燃烧的一瞬间,燃料的可燃性就被记录在此.

  • 漏斗 有以下额外字段:

    •  Items: 漏斗内的物品列表

      • : 其中的一格物品,包含一个位置标签。

    •  TransferCooldown: 距离下一次输送物品的时间,为1~8之间;如果用红石信号持续激活,则此值为0,即不传递物品。


  • 刷怪箱 有以下额外字段:

    •  SpawnPotentials: 可选是否添加的。是一个包含所有可能生成的实体的列表。[1][2]如果这个标签不存在,但是 SpawnData标签 存在, Minecraft将会使其生成并指定再次将会生成的实体。这个列表将会由EntityId标签和SpawnData标签得到。

      • : 随后将会生成的实体之一. 在刷怪箱尝试生成之后,将会随机从中选择一个条目并且用于下一次生成。

        •  Type: 将会在准备下一次生成时覆盖EntityId.

        •  Weight: 生成这个实体的权重(可能性)。必须为至少为1的正数。

        •  Properties: 将会在准备下一次生成时覆盖SpanwnData的内容。必须添加的; 如果剔除了则会重新生成一个不含有任何内容的Properties.

    •  EntityId: 下一组将要生成的实体的ID. 所有的生物实体ID或其他实体ID都可以生效。 警告: 如果SpanwnPotentials标签已经存在了,那么这个标签将会在下一次尝试生成时被覆盖!

    •  SpawnData: 包含了与下一组即将生成的实体的标签, 任何实体生物标签都可能被使用。需要注意的是若刷怪箱指定了其中任意一个标签,所有的可变的数据,例如一个生物的装备、村民的职业或者羊毛的颜色等等,都将不再自动生成,也就是必须有手动指定才可。(这并不说明他不再提供朝向信息,这些将会像往常一样随机生成除非他们被人工指定过。同样的,除非史莱姆岩浆怪的大小和生命被设定,这些也同样会被随机生成。)这个和实体ID一起影响着在刷怪箱中被火焰缠绕的缩略模型的外观。 注意: 这个标签是可选是否添加的:如果他并没有给出,那么下一组即将生成的实体将会随机使用可用于该生物的一些内容,包括潜在的随机装备等 (此标签优先级大于SpawnPotentials). 警告: 如果SpawnPotentials标签已经存在,那么这个标签会在下一次尝试生成之后被覆盖。

    •  SpawnCount: 它决定了每次生成多少个生物

    •  SpawnRange: 刷怪箱可以随机生成实体的范围。这片区域将是方形的,包含刷怪箱自身在内的这个方块的以刷怪箱自身的x,z坐标为中心的周遭区域—不是以刷怪箱本身为中心,和以刷怪箱底部的y坐标为中心的两格高的区域,这允许实体可以有足够的空间在这块区域的顶部和底部再向下一格的区域内生成。这块区域中生成实体的顶点的y坐标均为整数,同时水平的x、z坐标是与刷怪箱自身相似的浮点值。

    •  Delay: 距离下次生成还隔有的红石。若该值为0且玩家进入了它的响应范围,它将会立即生成实体。如果该值被设定为-1(这不会出现于一般的刷怪箱中,现在看来这只能通过NBT标签编辑来达成),刷怪箱会重置Delay的值,且EntityID,SpawnData和SpawnPotentials(如果有)仿佛完成了一套成功的运作。值得注意的是将Delay标签设置为-1将对将游戏中某个刷怪箱的Delay、EntityID和SpawnData设置的更加自然有帮助,与预设这些值来比更好。

    •  MinSpawnDelay: 生成延迟的随机范围的下限,有可能上下限为一。

    •  MaxSpawnDelay: 生成延迟的随机范围的上限。 警告: Minecraft将会因为此值为0而崩溃,因此请至少设置为1。

    •  MaxNearbyEntities: 实体ID与刷怪箱EntityID相同的实体在刷怪箱周遭(一个以刷怪箱自身为中心的棱长一般为2×x、8、2×x为棱长的柱体区域)最大存在数量。需要注意的是这与一个生物的碰撞箱有关而不是他的实际位置。也就是任何符合的在一个区块中任何区域中的实体但凡处于这个检查区域中,检查的是他们的ID和碰撞箱 ;对立的,如果只检查他们是否在这个区域里,将会有很多实体没有被判断进去而导致继续生成,这将会造成不小的卡顿!

    •  RequiredPlayerRange: 刷怪箱起效所需玩家与刷怪箱之间的最近距离(或最小球体区域),需要注意的是刷怪箱将会在每一个红石检查当前世界(意味着地狱末地主世界是分开的)是否有玩家进入该范围。

    •  MaxExperience (已移除): 未知作用。

    •  RemainingExperience (已移除): 未知作用。

    •  ExperienceRegenTick (已移除): 未知作用。

    •  ExperienceRegenRate (已移除): 未知作用。

    •  ExperienceRegenAmount (已移除): 未知作用。



  • 音乐盒 有这些额外的字段:

    •  note: 音高 (右键音乐盒时的数字)。

  • 活塞 有这些额外的字段:

    •  blockId: 被移动的方块的ID。

    •  blockData: 被移动的方块的数据值

    •  facing: 推动方块那一面面向的方向。

    •  progress: 方块被移动的距离。

    •  extending: 1 或者 0 (true/false) - 如果方块正在被推则填true.

  • 唱片机 有这些额外的字段:

    •  Record: 正在播放的唱片。0代表唱片机中没有唱片。否则,它就是唱片的物品ID(比如2261代表唱片“mall”)。使用其他的ID可以让其他的物品或方块以数据值为0的形式弹出。这个值总是被RecordItem中的ID覆盖。

    •  RecordItem: 物品,没有Slot标签。

  • 告示牌 有这些额外的字段:

    •  Text1: 第一行文字。这里必须是将JSON代码转化为字符串,而不是直接的JSON文本。例如:Text1:"{color:red,text:\"hello\"}"而不是Text1:{color:red,text:"hello"}。复杂一点,Text1:"[{color:red,text:\"hello, \"},{color:blue,bold:true,selector:\"@a\"}]"

    •  Text2: 第二行文字。

    •  Text3: 第三行文字。

    •  Text4: 第四行文字。

每一行只有前十六个字符可以被读取,其他则会被忽略。


  • 头颅 有这些额外的字段:


  • 发射器投掷器 有这些额外的字段:

附加刻格式[编辑 | 编辑源代码]

附加刻代表方块更新,它的作用是用于解释在区块保存前的事情。事实上它是用于在重新加载世界时再次更新它们(包括红石机械的更新,水、熔岩的流动,沙砾检查坠落等等)。但是附加刻不会用于像检查树叶腐烂,农作物生长等需要随机刻来更新的方块,因为它们的更新不需要随着区块的载入而更新。对于地图制作者来说,附加刻可以用于在加载区块的同时更新方块。


  • 一个附加刻

    •  i: 方块的ID;确保在更新时不会有问题。

    •  t: 用于处理多少刻后发生的事情,负数或许会使它过期。

    •  p: 用于说明在区块加载时的加载顺序,p越小越先加载(默认为0)

    •  x: X 坐标

    •  y: Y 坐标

    •  z: Z 坐标

历史[编辑 | 编辑源代码]

Chunks were first introduced in Minecraft Infdev. Before the addition of the MCRegion format in Beta 1.3, chunks were stored as individual chunk files ".dat" where the file names contained the chunk's position encoded in Base36 - this is known as the Alpha level format. MCRegion changed this by storing groups of 32×32 chunks in individual ".mcr" files with the coordinates in Base10, with the goal being to reduce disk usage by cutting down on the number of file handles Minecraft had open at once. MCRegion's successor is the current format, Anvil, which only made changes to the chunk format. The region file technique is still used, but the region file extensions are ".mca" instead.

The major change from MCRegion to Anvil was the division of Chunks into Sections; each chunk has up to 16 individual 16×16×16 block Sections so that completely empty sections will not be saved at all. Preparation has also been made to support blocks with IDs in the range 0 to 4095, as compared to the previous 0 to 255 limitation. However, Minecraft is not fully prepared for such blocks to exist as items; many item IDs are already taken in the range 256 to 4095.

The Blocks, Data, BlockLight, and SkyLight arrays are now housed in individual chunk Sections. The Data, SkyLight, and BlockLight are arrays of 4-bit values, and the BlockLight and SkyLight arrays no longer house part of the block ID. The Blocks array is 8 bits per block, and the 4096-blocks support exists in the form of an optional Add byte array of 4-bits per block for additional block ID information. With the Anvil format, the NBT Format was changed from Notch's original specification to include an integer array tag similar to the existing byte array tag. It is currently only used for HeightMap information in chunks.


正式版本
? MobSpawner中移除了MaxExperience, RemainingExperience, ExperienceRegenTick, ExperienceRegenRateExperienceRegenAmount
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
Item IDs are no longer used when specifying NBT data.
FallingSand加入Block, using the alphabetical ID format.
14w06a 为所有实体加入了ShowParticles
为所有物品实体加入了PickupDelay
Setting Age to -32768 makes items which never expire.
为所有生物移除了AttackTime
14w10a Villager加入了rewardExp
为所有可以饲养的生物加入了OwnerUUID
Skull加入了Owner
Changes to item frames and paintings: 加入了Facing, TileX, TileYTileZ now represent the co-ordinates of the block the item is in rather than what it is placed on, deprecated Direction and Dir.
14w11a 加入实体Endermite.
Enderman加入了EndermiteCount
14w21a 现在所有实体都有了CustomNameCustomNameVisible
14w25a 加入实体Guardian.
为告示牌加入了Text1, Text2, Text3Text4。 The limit no longer depends on the amount of characters (16), it now depends on the width of the characters.
14w27a 加入实体Rabbit. 为命令方块告示牌加入了CommandStats
14w28a Enderman移除了EndermiteCount
14w30a 为所有实体加入了Silent
14w32a 为所有生物加入了NoAI
加入实体ArmorStand.
14w32c ArmorStand加入了NoBasePlate
1.9 15w31a Living加入了标签HandItems, ArmorItems, HandDropChancesArmorDropChances, 它们取代了DropChancesEquipment标签。
ArmorStand加入了HandItemsArmorItems
Entity加入了Glowing
LivingBase加入了Team
EnderDragon加入了DragonPhase
加入实体Shulker, child of SnowMan.
加入实体ShulkerBullet, child of Entity.
加入实体DragonFireball, which extends FireballBase and has no unique tags.
加入实体TippedArrowSpectralArrow, children of Arrow.
加入方块EndGateway, child of TileEntity.
15w32a Tags and DataVersion tag can now be applied on entities.
Changed the Fuse tag's type for the PrimedTnt entity from "Byte" to "Short".
15w32c Introduced a limit on the amount of tags an entity can have (1024 tags). When surpassed it displays an error saying: "Cannot add more than 1024 tags to an entity."
15w33a 加入实体AreaEffectCloud, child of Entity.
EndGateway加入ExactTeleport并且重命名LifeAge
ThrownPotion加入了Linger
Removed DataVersion from Entity. It is now only applied to Player only, child of LivingBase.
Removed UUID from Entity.
HealF under LivingBase has become deprecated.
Health under LivingBase has changed from type "Short" to "Float".
Equipment removed from ArmorStand and Living entity, its usage replaced by HandItems and ArmorItems which were added earlier.
15w33c 加入 BeamTarget to EnderCrystal.
15w34a 加入 powered and conditional byte tags to Control tile entity for command blocks.
加入 life and power to FireballBase.
加入 id inside SpawnData to MobSpawner.
加入 powered to the Music tile entity for note blocks.
15w35a 加入 VillagerProfession to Zombie.
15w37a 加入 Enabled to MinecartHopper.
15w38a 加入 SkeletonTrap and SkeletonTrapTime to EntityHorse.
15w41a Replaced Riding with Passengers for all entities.
加入 RootVehicle for all passengers.
加入 Type to Boat.
15w42a 加入 Fuel to Cauldron (brewing stands).
15w43a 加入 LootTable and LootTableSeed to Chest, Minecart and MinecartHopper.
加入 DeathLootTable and DeathLootTableSeed to all mobs.
加入 life and power to all fireballs (FireballBase).
15w44a 加入 ShowBottom to EnderCrystal.
15w44b 加入 Potion and CustomPotionEffects to Arrow.
加入 Potion to AreaEffectCloud.
15w45a Removed Linger from ThrownPotion. Instead, the potion will linger if the stored item has an ID of minecraft:lingering_potion.
ThrownPotion will now render as its stored item even if the item is not a potion.
15w46a MoreCarrotTicks from Rabbit is now set to 40 when rabbits eat a carrot crop, but is not used anyway.
15w47a 加入 PaymentItem to Beacon.
15w49a Removed PaymentItem from Beacon.
In order for a sign to accept text, all 4 tags ("Text1", "Text2", "Text3", and "Text4") must exist.
15w51b The original values of DisabledSlots in ArmorStand have changed in nature.
1.10 16w20a 加入实体 PolarBear.
加入 ZombieTypeZombie,并且重命名 VillagerProfessionIsVillager. Value of 6 indicates the "husk" zombie.
一个值为2的SkeletonType 指向单独的骷髅。
NoGravity 扩展到所有的实体。
加入 powered, showboundingbox and showair to Structure.
16w21a 加入 FallFlying 到怪物和武器选项
加入 integrityseedStructure.
1.10-pre1 加入 ParticleParam1ParticleParam2AreaEffectCloud.
1.11 16w32a 马按它们各自的类型被分成如下实体ID:horse, donkey, mule, skeleton_horse以及zombie_horse 。从horse中移除了TypeHasReproduced, ChestedHorseItems 标签 已经仅仅适用于muledonkey, 并且 SkeletonTrapSkeletonTrapTime 也只适用于skeleton_horse.
骷髅被分成了如下实体ID: skeleton, stray 以及 wither_skeleton。从骷髅中删除了所有的SkeletonType 标签.
僵尸被分成了如下实体IDzombiezombie_villager以及 husk。从僵尸类型中移除了所有的ZombieType标签, ConversionTime 标签和Profession tags now apply only to zombie_villager.
保卫者被分为了如下的实体IDguardianelder_guardian。从 guardian中移除了Elder .
没有被使用的游戏保存ID MobMonster被移除.
Pumpkin 字节标签被加入到snowman.
16w35a CustomName to banner.
16w39a 加入 llamallama_spit, vindication_illagervexevocation_fangsevocation_illager.
加入 Colorshulker.
加入 LocNameCustomPotionColor 以及 ColorMap 到 items.
16w40a 加入 Johnnyvindication_illager.
从火焰弹基础类(Java)(恶魂的火焰弹、烈焰人的火焰弹、末影龙的魔法弹和凋灵的弹射物)中删除了xTileyTilezTileinTileinGround
16w41a 标签llama_spit已经在游戏保存实体中可用,
16w42a 加入 critarrow.
16w43a 加入 OwnerUUIDLeastOwnerUUIDMostevocation_fangs.
16w44a 从鱼钩实体中删除了标签:xTileyTilezTileinTileinGround
1.11-pre1 改变ench标签使它至少具有一个TAG_compound .

参考[编辑 | 编辑源代码]

  1. Dinnerbonetweet:277097026116804608
  2. https://www.youtube.com/watch?v=8ow5GzfM_dI
  3. https://www.reddit.com/zxn7u