Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
Ic translate
此条目的(部分)内容需要翻译。

你可以帮助我们来翻译此条目,但请勿使用机器翻译

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

“区块”概念在Minecraft Infdev阶段时首次引进。 在Beta 1.3版本引进MCRegion之前, Minecraft以36进制编码的区块坐标为文件名,将区块信息储存在独立的“.dat”文件中(Alpha level format)。为了减少磁盘占用,MCRegion将地平面上32*32平方区块内的所有区块打包存储在以十进制编码的区块坐标为文件名的“.mcr”文件中;这种存储方式降低了Minecraft运行时同时打开的文件数量。MCRegion后来被当下的Anvil文件格式取代,新格式沿用了MCRegion打包存储的方法,并使用了新的“.mca”文件格式。

Anvil文件格式相比MCRegion最大的改进是将区块分割,一个16*256*16大小的区块最多能分割出16个16*16*16的部分,所以全空区域的数据可以不被保存。支持的方块ID也从以前的0到255调整为0到4095,不过现在(2012年11月22日时)Minecraft还不能完美实现ID从0到4095的所有方块的存储,且256到4095的这些方块ID有很多已经被物品占用。

现在(2012年11月22日时),方块的辅助信息独立地被保存在区块信息内,特别的,天空光照(SkyLight)和(BlockLight)两个数组信息不在挂在方块ID后。Anvil文件格式出现后, 开发组在Notch原先设想的基础上对NBT格式(二进制命名标签格式)做出了改变,添加了一个和字节数组标签(byte array tag)相近的整数数组标签(integer array tag)——只有区块的等高线信息使用NBT格式存储。

NBT结构

区块使用NBT格式存储时遵循以下结构:

  • 根标签
    •  Level: 区块数据
      •  xPos: 区块的X坐标
      •  zPos: 区块的Z坐标
      •  LastUpdate: 自该区块上次更新以来经过的刻。
      •  TerrainPopulated: 布尔值,指示区块内的地区存不存在特殊的事物,如矿石、特殊方块、树木、地牢、花、瀑布等。如果该值为“假”或“0” 则游戏会在已经存在的方块内生成这些事物。
      •  Biomes: 256字节的生物群系信息,有些区块可能不具备该信息。区块内垂直的一列占用一字节空间,生物群系ID可在数据值页面查看。如果这个数组不存在,游戏在加载和保存区块时会自动添加并赋值;若数组内任何数值为“-1”,游戏也会根据正确信息改正。
      •  HeightMap: 1024个字节(256个TAG_Int)的高度数据,大小为16×16。每个字节会记录这一列中最低的哪那个阳光值为最高的方块。会随着阳光的计算而计算。Note: 这个数组的索引顺序是ZX,而别的大多是以XZ或YZX顺序。
      •  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 bytes of block data additionally defining parts of the terrain. 4 bits per block. 3D order YZX.
        •  BlockLight: 2048 bytes recording the amount of block-emitted light in each block. Makes load times faster compared to recomputing at load time. 4 bits per block. 3D order YZX.
        •  SkyLight: 2048 bytes recording the amount of sunlight or moonlight hitting each block. 4 bits per block. 3D order YZX.
      •  Entities: Each TAG_Compound in this list defines an entity in the chunk. See Entity Format below. If this list is empty it will be a list of Byte tags.
      •  TileEntities: Each TAG_Compound in this list defines a tile entity in the chunk. See Tile Entity Format below. If this list is empty it will be a list of Byte tags.
      •  TileTicks: May not exist. Each TAG_Compound in this list is an "active" block in this chunk waiting to be updated. These are used to save the state of redstone machines, falling sand or water, and other activity. See Tile Tick Format below. This tag may not exist.

方块格式

In the Anvil format, block positions are ordered YZX for compression purposes.

The coordinate system is as follows:

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

每个区块都是由16×16×16个方块组成的,他们被分割成16个区域. 一个区块最底部的16×16个方块称为区域“0”, 直至这个区块最顶部的,被称为区域“15”的16×16个方块. 为了节省储存空间, 完全不包含方块的区块将不被保存. 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 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的服务器文件中。 所有实体都共享这些基础标签:

实体数据

主条目:实体/ED-im
[编辑]

生物

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

生物实体
实体ID 名称
Bat 蝙蝠
Blaze 烈焰人
CaveSpider 洞穴蜘蛛
Chicken[备注 1]
Cow[备注 1]
Creeper 爬行者
EnderDragon 末影龙
Enderman 末影人
Endermite 末影螨
Ghast 恶魂
Giant 巨人
Guardian 守卫者
远古守卫者
EntityHorse
LavaSlime 岩浆怪
MushroomCow[备注 1] 哞菇
Ozelot[备注 1][备注 2] 豹猫
Pig[备注 1]
PigZombie 僵尸猪人
Rabbit 兔子
Sheep[备注 1]
Silverfish 蠹虫
Skeleton 骷髅
凋灵骷髅
Slime 史莱姆
SnowMan 雪傀儡
Spider 蜘蛛
Squid 鱿鱼
Villager[备注 1] 村民
VillagerGolem 铁傀儡
Witch 女巫
WitherBoss 凋灵
Wolf[备注 1][备注 2]
Zombie 僵尸
僵尸村民
  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 可以繁殖
  2. 2.0 2.1 可以驯服

注:刻的对应时间是1/20秒。

生物/ED-im

  • HeartParticle 可以繁衍的生物有这些额外的字段:
    •  InLove: 此生物冒出爱心并寻找配偶的剩余时间(刻)。0代表不会寻找配偶。
    •  Age: 代表这个生物的成长时间(刻);负数代表此生物是婴儿,0以上代表此生物已成年。在高于0时,它代表此生物还有多久才能再次繁殖。
  • 可以被驯服的生物有这些额外的字段:(马除外):
    •  Owner: 主人玩家名称,如果没有主人则为空。
    •  Sitting: 1 或者 0 (true/false) – true代表生物坐下了
  • 蝙蝠有这些额外的字段:
    •  BatFlags: 1代表正在倒挂在方块上,0代表正在飞行
  • 爬行者有这些额外的字段:
    •  powered: 1 或者 0 (true/false) – 可能不存在。True代表爬行者被闪电击中并变成高压爬行者。
    •  ExplosionRadius: 爆炸的半径,默认为3
    •  Fuse: 距离爬行者爆炸的时间(刻)(并不会影响正在掉落并会在落地时爆炸的爬行者)。默认为30。
  • 末影人有这些额外的字段:
    •  carried: 被末影人拿起的方块的ID,0代表没有拿起任何方块。
    •  carriedData: 末影人所拿起的方块的额外数据,0代表没有拿起任何方块。
  • 末影螨有这些额外的字段:
    •  Lifetime: 末影螨存在的时间(刻)。通常为2400刻。
    •  PlayerSpawned: 1 or 0 (true/false) - true代表末影人将会攻击末影螨。
  • 有这些额外的字段:
    •  Bred: 1 或者 0 (true/false) – 未知。在繁殖后保持0。会导致马变得很固执。
    •  ChestedHorse: 1 或者 0 (true/false) – true代表马戴着箱子。到13w39b版本为止,如果马拥有箱子的话会导致游戏崩溃。但现在如果骑上带有箱子的马,打开背包会导致崩溃。
    •  EatingHaystack: 1 或者 0 (true/false) – true代表马在进食
    •  HasReproduced: 1 或者 0 (true/false) – 暂未使用。始终为0
    •  Tame: 1 或者 0 (true/false) – true代表已被驯服
    •  Temper: 范围是0-100。随着喂食提升。数值越高越容易被驯服。
    •  Type: 马的类型, 0 = 马,1= 驴,2= 骡,3 = 僵尸马,4 =骷髅马。
    •  Variant: The variant of the horse. Determines colors. Stored as baseColor | markings << 8.如果它的值大于等于7,将会生成不可见的但行为正常的马(带上马铠或鞍不会使它变得可见)。
    •  OwnerName: 包含驯服它的玩家名字,不会对行为产生影响
    •  Items: 物品列表。仅在ChestedHorse为true时存在。
      • 一个物品,包括槽位标签。槽位标签编号2 - 16为驴和骡子,所有其他的马不存在该NBT。
    •  ArmorItem: 马所穿着的盔甲物品。可能不存在。
    •  SaddleItem: 马所穿着的鞍物品。可能不存在。
    •  ArmorType: ( 在13w21a删除) 盔甲类型. 0 = 无,1 = 铁,2= 金,3= 钻石。其他的数值会导致加载随机的材质。
    •  Saddle: ( 在13w21a删除) 1 或者 0 (true/false) – true代表马上有鞍。
  • 恶魂有这些额外的字段:
    •  ExplosionPower: 代表恶魂发出的火球的爆炸半径,默认为1。
  • 守卫者有这些额外的字段:
    •  Elder: 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是杀手兔。
  • 有这些额外的字段:
    •  Sheared: 1 或者 0 (true/false) – ture代表羊已被剪毛。
    •  Color: 0 to 15 – 羊毛的颜色ID,见羊毛数据值
  • 骷髅有这些额外的字段:
    •  SkeletonType: 0 为普通骷髅, 1 为凋灵骷髅.
  • 史莱姆岩浆怪有这些额外的字段:
    •  Size: 史莱姆/岩浆怪的大小。通常为1~3.
  • 凋灵有这些额外的字段:
    •  Invul: 凋灵的无敌状态的时间(刻),0代表不在无敌状态。
  • 有这些额外的字段:
    •  Angry: 1 或者 0 (true/false) – 1代表狼在愤怒中
    •  CollarColor: 狼项圈的颜色,即使是野生的狼仍然存在(但不会渲染出来),默认为14。
  • Villagerhead 村民有这些额外的字段:
    •  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代表此傀儡是由玩家创造的
  • 僵尸有这些额外的字段:
    •  IsVillager: 1 或者 0 (true/false) – true代表这是僵尸村民。可能不在普通僵尸上存在。
    •  IsBaby: 1 或者 0 (true/false) – true代表此僵尸为小僵尸。可能不在普通僵尸上存在。
    •  ConversionTime: -1代表不在变回村民的过程中,正数代表变回村民的剩余时间(刻)。再生效果会与此平行。
    •  CanBreakDoors: 1 或者 0 (true/false) – true代表此僵尸可以打破门。
  • 僵尸猪人有这些额外的字段:
    • 继承Zombie的所有字段
    •  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.

弹射物

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

弹射物实体
实体ID 名称
Arrow 射出的箭
Snowball 丢出的雪球
Egg (已移除 – 漏洞?) 丢出的蛋
Fireball 恶魂火球
SmallFireball 烈焰人火球
ThrownEnderpearl 丢出的末影珍珠
ThrownExpBottle 丢出的附魔之瓶
ThrownPotion 丢出的喷溅药水
WitherSkull 凋灵之首
  • 弹射物有这些额外的字段:
    •  xTile: 该实体的X坐标
    •  yTile: 该实体的Y坐标
    •  zTile: 该实体的Z坐标
    •  inTile: 弹射物存在的方块ID
    •  shake: 箭弹射到方块后的颤动
    •  inGround: 1 或者 0 (true/false) –弹射物是否在地上或已经击中地面(用于拾起箭矢,你无法在空中接箭)
  • 射出的箭有这些额外的字段:
    •  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)
  • 恶魂火球烈焰人火球、和凋灵之首有这些额外的字段:
    •  direction: 包含3个双精度浮点数的列表。应该与Motion相同。
  • 恶魂火球有这些额外的字段:
    •  ExplosionPower: 火球在撞击时的威力和大小。默认为1。
  • 丢出的末影珍珠丢出的附魔之瓶丢出的喷溅药水、和丢出的雪球有这些额外的字段:
    •  ownerName: 抛出的玩家的名字。
  • 丢出的喷溅药水有这些额外的字段:
    •  Potion: 被抛出的物品,无槽位标签
    •  potionValue: 如果药水不存在,此数值将代表抛出药水的额外数值。

物品

物品是实体的一个分支

物品实体
实体名 名称
Item 掉落的物品
XPOrb 经验球
  • 物品有这些额外的字段:
    •  Health: 物品的生命值,从5开始,物品会从火、岩浆、和爆炸受到伤害。当生命值变0时物品将会被摧毁。
    •  Age: 物品"未被触碰"的时间。在6000刻(5分钟)后物品将会被摧毁。
  • 掉落的物品有这些额外的字段:
    •  Item: 物品栏物品,无槽位标签
  • 经验球有这些额外的字段:
    •  Value: 在捡起后可以获得的经验数量

交通工具

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

交通工具实体
实体 ID 实体名称
Boat
Minecart (已废弃) 矿车
运输矿车
动力矿车
MinecartRideable 矿车
MinecartChest 运输矿车
MinecartFurnace 动力矿车
MinecartSpawner 刷怪箱矿车
MinecartTNT TNT矿车
MinecartHopper 漏斗矿车
MinecartCommandBlock 命令方块矿车
  • 各类矿车可能有这些额外的可选字段:
    •  CustomDisplayTile: 可无。 1 或者 0 (true/false) - 是否要在这个矿车显示自定义方块。
    •  DisplayTile: 可无。在矿车里的自定义方块 ID。
    •  DisplayData: 可无。在矿车里的自定义方块损耗值。
    •  DisplayOffset: 可无。在矿车里的自定义方块偏移量。正值使自定义方块向上移动,负值则使方块向下移动。该数值中 16 恰是一个完整方块的高度。
    •  CustomName: 可无。矿车的自定义名称(命令方块矿车预设名称为 "@")。
  • 矿车 (在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则未被激活。
  • 刷怪笼矿车 有下列额外的可选字段:
    • 继承 MobSpawner 的所有内容,不包括基础方块实体值字段。

动态方块

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

Dynamic Tile Entities
实体ID 实体名称
PrimedTnt 点燃的TNT
FallingSand 掉落中的方块
  • 点燃的TNT有这些额外的字段:
    •  Fuse: 距离TNT爆炸的时间(刻)。
  • 掉落中的方块 有这些额外的字段:
    •  Tile : 方块ID。不仅限于沙,沙砾,龙蛋,或铁砧。虽然弃用,这个值是永远存在的。
    •  TileID: 方块ID,如上所述,但是现在的支持范围仅为1 - 4095。
    •  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 名称
EnderCrystal 末影水晶
EyeOfEnderSignal 末影之眼
FireworksRocketEntity 烟花火箭
ItemFrame 物品展示框
LeashKnot 拴绳
Painting
  • 盔甲架有这些额外的字段:
    •  DisabledSlots:位字段允许禁用装备的放置、替换和移除。给armorPos设置0代表手持物品,1是脚部,2是腿部,3是上身,4是头部。标示1<<(向左移位)armorPos将会禁用移除armorPos(armorPos值所代表的部位),标示1<<(armorPos+8)将会禁用替换armorPos,1<<(armorPos+16)将会禁用放置armorPos.比如说2096896将会禁用盔甲架所有部位的交互.如果标示1那是个特例:它会禁用所有部位的移除,对手持物品的放置与替换
    •  Equipment:生物的所拥有的装备的复合标签列表。列表中的每个复合标签都是没有物品栏标签的。所有的5项将永远存在(即使是玩家)但复合标签是空的,会显示没有物品。
      •  0:实体手持物品。
      •  1:脚部。
      •  2:腿部。
      •  3:上身。
      •  4:头部。
    •  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:或者0(true/false)-如果是true,盔甲架会小得多,形同小僵尸。
  • 实体烟花有这些额外的字段:
    •  Life: 烟花火箭已经飞行的时间(
    •  LifeTime: 距离烟花火箭的爆炸时间(). This value is randomized when the firework is launched: ((Flight + 1) * 10 + random(0 to 5) + random(0 to 6))
    •  FireworksItem: The crafted Firework Rocket item.
  • 物品展示框都有这些额外的字段:
    •  TileX: 物品展示柜的X坐标.
    •  TileY: 物品展示柜的Y坐标.
    •  TileZ: 物品展示柜的Z坐标.
    •  Direction: 物品展示柜的朝向.
    •  Dir: Same as Direction, except the meaning of values 2 and 0 are swapped. Ignored if Direction is present.
  • 物品展示框有这些额外的字段:
    •  Item: 没有槽位标签的物品标签。如果物品展示框是空的,这个标签不存在。
    •  ItemDropChance: 展示框被破坏时物品掉落的几率,默认为1.0。
    •  ItemRotation: 物品被旋转45°的次数。
  • 有这些额外的字段:
    •  Motive: 这幅的名字。

方块实体值格式

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

Tile Entities
Tile Entity ID 对应方块
Airportal 末地传送门
Beacon 信标
Cauldron 酿造台
Chest 箱子
陷阱箱
Comparator 红石比较器
Control 命令方块
DLDetector 阳光传感器
Dropper 投掷器
EnchantTable 附魔台
EnderChest 末影箱
Furnace 熔炉
Hopper 漏斗
MobSpawner 刷怪笼
Music 音符盒
Piston 活塞
RecordPlayer 唱片机
Sign 告示牌
Skull 头颅
Trap 发射器

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

  • 方块实体值
    •  id: 实体ID
    •  x: 方块的X坐标。
    •  y: 方块的Y坐标。
    •  z: 方块的Z坐标。


  •  这些容器可能会有以下额外的标签:
    •  CustomName:非必要。用于自定义容器的显示名称。若对命令方块使用,将会修改默认自带的“@”;例如将命令方块指令设置为/say <内容>,带上CustomName,输出的“@”将会替换成设定的名称。
  • 信标 有这些额外的字段:
    •  Levels: 信标的等级
    •  Primary: 被选择的主要效果,ID详见状态效果。0代表无效果。
    •  Secondary: 被选择的次要效果,ID详见状态效果。0代表无效果。
  • 酿造台 有以下额外字段:
    •  Items: 正在酿造的物品列表,这将会影响酿造台的外观。
    •  BrewTime: 药水已经酿造的红石.
  • 箱子 有以下额外字段:
    •  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: 第四行文字。

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

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

Tile Tick Format

Tile Ticks represent block updates that need to happen because they could not happen before the chunk was saved. Examples reasons for tile ticks include redstone circuits needing to continue updating, water and lava that should continue flowing, recently placed sand or gravel that should fall, etc. Tile ticks are not used for purposes such as leaf decay, where the decay information is stored in the leaf block data values and handled by Minecraft when the chunk loads. For map makers, tile ticks can be used to update blocks after a period of time has passed with the chunk loaded into memory.

  • A Tile Tick
    •  i: The ID of the block; used to activate the correct block update procedure.
    •  t: The number of ticks until processing should occur. May be negative when processing is overdue.
    •  p: If multiple tile ticks are scheduled for the same tick, tile ticks with lower p will be processed first. If they also have the same p, the order is unknown.
    •  x: X position
    •  y: Y position
    •  z: Z position

参考资料

Advertisement