새로 오신 분들은 길라잡이위키 규칙을 꼭 읽어주세요.  문서 작성번역을 도와주시면 이 위키에 큰 힘이 됩니다.

청크 구성

Minecraft Wiki
이동: 둘러보기, 검색

청크는 16 × 256 × 16 지역의 지형과 개체를 저장합니다. 또한 미리 계산 된 물리 광학 효과, 마인 크래프트의 성능 하이트 데이터 및 다른 많은 정보를 저장합니다.

청크는 처음 마인크래프트 인프데브에 소개되었다. 청크를 추가하기 전에 MCRegion - 이는 [α로 알려진 베타 1.3 형식, 청크는 파일 이름이 청크의 위치는 Base36로 인코딩 포함 ".dat"파일 개별 청크 파일로 저장 하였다. 알파 레벨 포맷. MCRegion의 목표는 마인크래프트가 한 번에 열었던 파일을 조정해 아래로 절단하여 디스크 사용량을 줄일 수 있게 하는 것과, BASE10의 좌표와 개인 ".mcr"파일에 32 × 32 청크의 저장 그룹에 의해이 변경되었습니다. MCRegion의 후계자만 '청크 형식' 을 변경 할 수 있는게 현재의 방식입니다. 파일 영역 기술은 여전히 사용되지만 영역 파일 확장자는 ".mca" 파일이 대신합니다.

MCRegion에서의 큰 변화는 섹션으로 청크의 분할이었다. 완전히 비어있는 부분이 전혀 저장되지 않도록 각 청크는 최대 16 × 16 × 16의 개인 16 블록 섹션이 있습니다. 이전 아이디 저장이 0~255 제한에 비교해 청크 생성 예는, 4095의 범위에서 ID를 가진 모든 블록을 지원하기 위해 만들어졌다. 그러나 마인크래프트가 완전한 블록으로 작성된 것이 아니므로, 많은 항목의 ID는 이미 4095의 범위이며 256에서 촬영합니다.

블록, 데이터, 블록의 발광 및 채광 어레이는 이제 개별 청크 섹션에 저장되어 있습니다. 데이터를 천공하고 발광블록 4 비트 값의 어레이이고, 발광블록 및 천공 어레이 블록 ID의 더이상 하우스 부의. 블록 배열은 블록 당 8 비트, 그리고 4096 블록 지원은 추가 블록 ID 정보를 블록당 4 비트의 추가 바이트 배열로 존재한다. NBT 형식은 모루 형식으로 기존의 바이트 배열 태그와 유사한 정수 배열 태그를 포함하는 노치의 원래 사양에서 변경되었습니다. 이것은 단지 현재의 청크 하이트 정보에 사용된다.

NBT 구조[편집 | 원본 편집]

청크 이러한 구조 (각 어레이 내의 블록들의 순서는 아래 블록 포맷을 참조 NBT 형식으로 저장된다.):

  • 루트 태그입니다.
    •  level레벨: 청크 데이터.
      •  X coordinateX 좌표: 청크의 X 위치.
      •  Z coordinateZ 좌표: 청크의 Z 위치.
      •  Last Update마지막으로 변경됨: 청크가 마지막으로 저장 될 때 같이 저장됩니다.
      •  Light-filled: 1 or 0 (true/false) 로 저장 - 알 수 없음
      •  Populated terrain블록: 1 or present 이 청크의 지형이 특별한 것들로 채워되었는지 여부를 나타냅니다.(광석, 특수 블록, 나무, 던전, 꽃, 폭포 등) 'zero'로 설정하면 다음에 실행되는 마인크래프트는 이미 존재하는 블록에서 이러한 기능을 재생합니다.
      •  V: 1로 저장 할 때 실제로는 게임에서 로드되지 않습니다. 가능성 청크 버전 태그입니다.
      •  InhabitedTime플레이 시간: 플레이어의 누적 숫자는 이 InhabotedTime청크로 되어 있습니다. 멀티플레이 등으로 플레이어가 한 맵에 많아지게 되면, 이 청크의 수도 빠르게 증가합니다. Used for regional difficulty: increases the chances of mobs spawning with equipment, the chances of that equipment having enchantments, the chances of spiders having potion effects, the chances of mobs having the ability to pick up dropped items, and the chances of zombies having the ability to spawn other zombies when attacked. Note that at values 3600000 and above, regional difficulty is effectively maxed for this chunk. At values 0 and below, the difficulty is capped to a minimum (thus, if this is set to a negative number, it will behave identically to being set to 0, apart from taking time to build back up to the positives).
      •  Biomes: May not exist. 256 bytes of biome data, one byte for each vertical column in the chunk. See Data Values for biome IDs. If this tag does not exist it will be created and filled by Minecraft when the chunk is loaded and saved. If any values in this array are -1, Minecraft will also set them to the correct biome.
      •  HeightMap: 1024 bytes(256 TAG_Int) of heightmap data. 16 × 16. Each byte records the lowest level in each column where the light from the sky is at full strength. Speeds computing of the SkyLight.
      •  Sections: List of Compound tags, each tag is a sub-chunk of sorts.
        • An individual Section.
          •  Y: The Y index (not coordinate) of this section. Range 0 to 15 (bottom to top), with no duplicates but some sections may be missing if empty.
          •  Blocks: 4096 bytes of block IDs defining the terrain. 8 bits per block, plus the bits from the below Add tag.
          •  Add: May not exist. 2048 bytes of additional block ID data. The value to add to (combine with) the above block ID to form the true block ID in the range 0 to 4095. 4 bits per block. Combining is done by shifting this value to the left 8 bits and then adding it to the block ID from above.
          •  Data: 2048 bytes of block data additionally defining parts of the terrain. 4 bits per block.
          •  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.
          •  SkyLight: 2048 bytes recording the amount of sunlight or moonlight hitting each block. 4 bits per block.
      •  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.

Block Format[편집 | 원본 편집]

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

The coordinate system is as follows:

  • X increases East, decreases West
  • Y increases upwards, decreases downwards
  • Z increases South, decreases North

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 block, 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);

개체 구성[편집 | 원본 편집]

모든 개체의 이름없는 컴파운드 파일은 청크 구성 리스트에 속해 있다. 하나의 예외는 플레이어인데, level.dat에 있다. 혹은 서버의 <플레이어>.dat에 있다. 모든 개체는 이 기본을 공통으로 가지고 있다.:

  • 개체 데이터
    •  id: 개체 아이디. 플레이어에는 존재하지 않는다.
    •  Pos: 3개의 개체의 X, Y, Z 위치를 나타내는 더블 태그가 달려 있다.
    •  Motion: 3개의 개체가 X, Y, Z 축으로 받고 있는 힘(1초당 나아가는 블록의 수)을 나타내는 더블 태그가 달려 있다.
    •  Rotation: 2개의 개체가 돌아가 있는 방향을 나타내는 플로트 태그가 달려 있다.
      • Y 축으로 돌아가 있는 시계 방향. (yaw라고 불린다.). 서쪽이 0이다. 360도를 초과하지 않는다.
      • X 축으로 돌아가 있는 지평선으로부터의 방향 (pitch라고 불린다.). 지평선이 0이다. 아래쪽을 보면 마이너스가 된다. 90과 -90을 초과하지 않는다.
    •  FallDistance: 떨어진 블록 수. 큰 값은 착지했을 때 큰 대미지를 입는 원인이 된다.
    •  Fire: 불이 꺼질 때까지 남은 틱(1/20초) 수. 음수는 불에 있을 때 타지 않을 때까지 걸리는 틱 수. -1이 기본이다.
    •  Air: 가지고 있는 공기의 틱 수. 기본이 300이고, 물에 들어가면 서서히 줄어들어 0이 되면 대미지를 입기 시작한다.
    •  OnGround: 1 혹은 0 (참 혹은 거짓) - 개체가 땅을 짚고 있을 경우 참.
    •  Dimension: 사용 불가. 개체가 있는 월드이다. -1가 네더, 0이 일반 세계, 1이 엔드이다.
    •  Invulnerable: 1 혹은 0 (참 혹은 거짓) - 참일 경우 개체가 어떠한 것으로부터 대미지를 입지 않는다. 무생물체도 마찬가지이다. 하지만 크리에이티브 모드에서는 대미지를 입힐 수 있다.
    •  PortalCooldown: 개체가 차원문으로 이동할 수 있을 때까지 남은 틱 수. 900틱에서 시작한다.
    •  UUIDMost: The most significant bits of this entity's Universally Unique IDentifier. This is joined with UUIDLeast to form this entity's unique ID.
    •  UUIDLeast: The least significant bits of this entity's Universally Unique IDentifier.
    •  UUID: The Universally Unique IDentifier of this entity. Converts a hexadecimal UUID (for example: 069a79f4-44e9-4726-a5be-fca90e38aaf5) into the UUIDLeast and UUIDMost tags. Will not apply new UUIDLeast and UUIDMost tags if both of these tags are already present. The "UUID" tag is removed once the entity is loaded.
    •  Riding: 타고 있는 개체의 데이터 태그. 가장 위의 개체가 Pos 태그를 가지고 있고, 가장 아래의 개체에 의해 좌푯값이 결정된다. 가장 아래에 있는 개체가 움직임을 담당한다.
      • 이 구성을 보세요 (이어짐).

[편집 | 원본 편집]

몹 개체
개체 아이디 이름
Bat 박쥐
Blaze 블레이즈
CaveSpider 동굴 거미
Chicken[note 1]
Cow[note 1]
Creeper 크리퍼
EnderDragon 엔더 드래곤
Enderman 엔더맨
Endermite 엔더 진드기
Ghast 가스트
Giant 거인
EntityHorse[note 1][note 2]
LavaSlime 마그마 큐브
MushroomCow[note 1] 버섯소
Ozelot[note 1][note 2] 오실롯
Pig[note 1] 돼지
PigZombie 좀비 피그맨
Sheep[note 1]
Silverfish 좀벌레
Skeleton 스켈레톤
위더 스켈레톤
Slime 슬라임
SnowMan 스노우 골렘
Spider 거미
Squid 오징어
Villager[note 1] 마을 주민
VillagerGolem 철 골렘
Witch 마녀
WitherBoss 위더
Wolf[note 1][note 2] 늑대
Zombie 좀비
좀비 주민
  1. 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 교배할 수 있음
  2. 2.0 2.1 2.2 길들일 수 있음
  • 은 이 태그를 추가로 가지고 있다.:
    •  HealF: 개체의 생명력의 양. 이것이 설정돼 있을 경우 Health(↓)는 무시됨. 1은 1/2 하트를 의미함.
    •  Health: 개체의 생명력의 양. HealF(↑)가 설정돼 있을 경우 무시됨.
    •  AbsorptionAmount: 흡수 효과로 추가된 생명력의 양.
    •  AttackTime: 때린 뒤 "무적 보호막"이 생겨 없어질 때까지 남은 틱 수.
    •  HurtTime: 대미지를 입은 뒤 빨갛게 변한 게 사라질 때까지 남은 틱 수.
    •  DeathTime: 죽은 뒤에 늘어나는 틱.
    •  Attributes: 몹의 속성 목록. 속성은 이곳에서 보세요.
      • 하나의 속성.
        •  Name: 속성의 이름.
        •  Base: 속성의 값.
        •  Modifiers: A list of Modifiers acting on this Attribute. Modifiers alter the Base value in internal calculations, without changing the original copy. Note that a Modifier will never modify Base to be higher than its maximum or lower than its minimum for a given Attribute.
          • An individual Modifier.
            •  Name: The Modifier's name.
            •  Amount: The amount by which this Modifier modifies the Base value in calculations.
            •  Operation: 0, 1, or 2. Defines the operation this Modifier executes on the Attribute's Base value. 0: Increment X by Amount, 1: Increment Y by X * Amount, 2: Y = Y * (1 + Amount) (equivalent to Increment Y by Y * Amount). The game first sets X = Base, then executes all Operation 0 modifiers, then sets Y = X, then executes all Operation 1 modifiers, and finally executes all Operation 2 modifiers.
            •  UUIDMost: The most significant bits of this Modifier's Universally Unique IDentifier. Used to reference modifiers in memory and ensure duplicates are not applied.
            •  UUIDLeast: The least significant bits of this Modifier's Universally Unique IDentifier.
    •  ActiveEffects: 몹에게 적용되고 있는 포션 효과의 목록.
      • 하나의 포션 효과
        •  Id: 포션 효과의 아이디.
        •  Amplifier: 효과의 레벨. 0=1.
        •  Duration: 끝날 때까지 남은 틱 수.
        •  Ambient: 1 혹은 0 (참 혹은 거짓) 신호기에게 받았을 경우에 참. 이럴 경우 보관함에 표시되지 않음.
        •  ShowParticles: 1 혹은 0 (참 혹은 거짓) 거짓일 경우 입자가 표시되지 않음.
    •  Equipment: 몹이 끼고 있는 갑옷. 각각의 컴파운드 파일은 아이템 구성 에서 Slot 태그를 제외한 나머지 태그가 있다. 5개는 항상 존재한다 (플레이어에게도). 비어 있는 것은 갑옷이 없다는 걸 의미한다.
      • 0: 손
      • 1: 발
      • 2: 다리
      • 3: 가슴
      • 4: 머리
    •  DropChances: 떨어뜨릴 확률이다. 1=100%. 0.085가 기본이고, 주운 것일 경우 2가 된다. 아이템의 내구도는 1보다 클 때 유지되고, 1보다 작을 때에는 랜덤이 된다. "Unbreakable" 태그가 있을 경우, 확률과 관계없이 내구도는 꽉 차 있다.
      • 0: 손
      • 1: 발
      • 2: 다리
      • 3: 가슴
      • 4: 머리
    •  CanPickUpLoot: 1 혹은 0 (참 혹은 거짓) 참일 경우 몹은 아이템 및 갑옷을 주워 입을 수 있다.
    •  PersistenceRequired: 1 혹은 0 (참 혹은 거짓) 참일 경우 몹은 자연적으로 디스폰되지 않는다.
    •  CustomName: 몹의 이름.
    •  CustomNameVisible: 1 혹은 0 (참 혹은 거짓) 참일 경우 포인터를 대지 않아도 몹의 이름이 보인다.
    •  Leashed: 1 혹은 0 (참 혹은 거짓) - 줄에 묶여 있는지의 여부
    •  Leash: Either contains a UUID long pair, if this leash connects to another entity, or an X, Y, Z int trio if this leash connects to a fencepost.
      •  UUIDMost: The most significant bits of the Universally Unique IDentifier of the entity this leash connects to.
      •  UUIDLeast: The least significant bits of the Universally Unique IDentifier of the entity this leash connects to.
      •  X: 묶인 울타리의 X 좌표.
      •  Y: 묶인 울타리의 Y 좌표.
      •  Z: 묶인 울타리의 Z 좌표.


  • HeartParticle.png 교배할 수 있는 몹들에게만 추가적으로 있는 태그:
    •  InLove: 짝을 찾는 행위를 멈출 때까지 남은 틱 수.
    •  Age: 음수일 경우엔 성인 몹이 될 때까지 남은 틱 수를, 양수일 때는 다시 교배시킬 수 있을 때까지 남은 틱 수를 의미한다.
    •  ForcedAge: 아기 몹에게 먹이를 줬을 때 늘어난다.
  • 길들일 수 있는 몹들에게만 추가적으로 있는 태그 (말 제외):
    •  Owner: 1.8 이전에만 쓸 수 있는 몹 주인의 이름.
    •  OwnerUUID: 1.8 이후에만 쓸 수 있는 몹 주인의 UUID
    •  Sitting: 1 혹은 0 (참 혹은 거짓) 앉아 있을 경우 참.


  • 박쥐에게만 추가적으로 있는 태그:
    •  BatFlags: 블록에 거꾸로 매달려 있을 경우 1, 날아다닐 경우 0.
  • 에게만 추가적으로 있는 태그:
    •  IsChickenJockey 1 혹은 0 (참 혹은 거짓) - 치킨 조키인가의 여부. 참일 경우 자동 디스폰이 가능. 다른 효과는 알려지지 않음. 거짓일 때에도 좀비는 여전히 닭을 조종할 수 있음.
  • 크리퍼에게만 추가적으로 있는 태그:
    •  powered: 1 혹은 0 (참 혹은 거짓) - 라이트닝 크리퍼인가의 여부.
    •  ExplosionRadius: 폭발 반지름. 기본은 3.
    •  Fuse: 자폭 카운트 다운. 30에서부터 시작함.
    •  ignited 1 혹은 0 (참 혹은 거짓) 크리퍼가 라이터에 의해 불이 붙었는가의 여부.
  • 엔더맨에게만 추가적으로 있는 태그:
    •  carried: 엔더맨이 옮기고 있는 블록의 아이디.
    •  carriedData: 엔더맨이 옮기고 있는 블록의 데이터 값.
    •  EndermiteCount: 소환된 엔더 진드기의 수. 다음 순간이동 시 엔더 진드기를 소환할 확률은 (15 - EndermiteCount)%이다.
  • 엔더 진드기에게만 추가적으로 있는 태그:
    •  Lifetime: 얼마나 존재했는지의 틱 수. 2400 즈음에 디스폰됨.
  • 에게만 추가적으로 있는 태그:
    •  Bred: 1 혹은 0 (참 혹은 거짓) - 먹이를 주고 나면 0이 됨. 말이 고집부리는 이유가 됨.
    •  ChestedHorse: 1 혹은 0 (참 혹은 거짓) 참일 경우 창고가 있음. 13w39a 이상에서는 노새나 당나귀가 아님에도 불구하고 참일 경우 크래쉬의 원인이 됨.
    •  EatingHaystack: 1 혹은 0 (참 혹은 거짓) 풀을 뜯고 있을 경우 참.
    •  HasReproduced: 1 혹은 0 (참 혹은 거짓) 사용하지 않음. 항상 0임.
    •  Tame: 1 혹은 0 (참 혹은 거짓) 길들여졌는가의 여부. (안장이 없을 경우 플레이어가 아닌 몹들은 길들여진 말을 타지 못함.)
    •  Temper: 0~100. 먹이를 주면 늘어나고 수가 클수록 길들이기 쉬움.
    •  Type: 말의 종류. 0 = 말, 1= 당나귀, 2= 노새, 3 = 좀비, 4 = 스켈레톤.
    •  Variant: The variant of the horse. Determines colors. Stored as baseColor | markings << 8.
    •  OwnerName: 주인의 이름. 행동 양식엔 영향을 주지 않음.
    •  Items: 아이템의 목록. ChestedHorse가 참일 경우에만 존재.
      • Slot 태그를 포함한 아이템 구성. 2~16.
    •  ArmorItem: 말에 입혀진 갑옷.
    •  SaddleItem: 말에 입혀진 안장.
  • 가스트에게만 존재하는 태그:
    •  ExplosionPower: 폭발 반지름. 기본은 1.
  • 오실롯에게만 존재하는 태그:
    •  CatType: 오실롯의 스킨 종류. 0은 야생 오실롯, 1은 턱시도, 2는 얼룩 고양이, 3은 샤미즈이다.
  • 돼지에게만 존재하는 태그:
    •  Saddle: 1 혹은 0 (참 혹은 거짓) 안장이 입혀져 있을 경우 참이다.
  • 에게만 존재하는 태그:
    •  Sheared: 1 혹은 0 (참 혹은 거짓) 털이 깎여 있을 경우 참이다.
    •  Color: 0~15 양모 데이터 값에 있는 양모의 색의 값.
  • 스켈레톤에게만 존재하는 태그:
    •  SkeletonType: 0은 일반 스켈레톤, 1은 위더 스켈레톤.
  • 슬라임마그마 큐브에게만 존재하는 태그:
    •  Size: 슬라임의 사이즈. 자연 상태에선 0, 1, 3이 존재한다.
  • 위더에게만 존재하는 태그:
    •  Invul: 처음 만들어졌을 때 시작되는 무적 상태가 끝날 때까지 남은 틱 수.
  • 늑대에게만 존재하는 태그:
    •  Angry: 1 혹은 0 (참 혹은 거짓) 화났을 경우 참.
    •  CollarColor: 목줄의 색.
  • Villagerhead.png 마을 주민에게만 존재하는 태그:
    •  Profession: 마을 주민의 텍스쳐 아이디. 거래 목록에도 영향을 미침.
    •  Riches: 사용되지 않음. 에메랄드를 거래해서 얻을 때 늘어남.
    •  Career: The ID of this villager's career. This also influences trading options and the villager's name in the GUI (if it does not have a CustomName). If 0, the next time offers are refreshed, the game will assign a new Career and reset CareerLevel to 1.
    •  CareerLevel: The current level of this villager's trading options. Influences the trading options generated by the villager; if it is greater than their career's maximum level, no new offers are generated. Increments when a trade causes offers to be refreshed. If 0, the next trade to do this will assign a new Career and set CareerLevel to 1.
    •  Willing: 1 or 0 (true/false) - true if the villager is willing to mate. Becomes true after certain trades (those which would cause offers to be refreshed), and false after mating.
    •  Inventory: Each compound tag in this list is an item in the villagers inventory, up to a maximum of 8 slots. Items in two or more slots that can be stacked together will automatically be condensed into one slot. If there are more than 8 slots, the last slot will be removed until the total is 8. If there are 9 slots but two previous slots can be condensed, the last slot will be present after the two other slots are combined.
      • An item in the inventory, excluding the Slot tag.
    •  Offers: Is generated when the trading menu is opened for the first time.
      •  Recipes: List of trade options.
        • A trade option.
          •  rewardExp: 1 or 0 (true/false) - true if this trade will provide XP orb drops.
          •  maxUses: The maximum number of times this trade can be used before it is disabled. Increases by a random amount from 2 to 12 when offers are refreshed.
          •  uses: The number of times this trade has been used. The trade becomes disabled when this is greater or equal to maxUses.
          •  buy: The first 'cost' item, without the Slot tag.
          •  buyB: May not exist. The second 'cost' item, without the Slot tag.
          •  sell: The item being sold for each set of cost items, without the Slot tag.
  • VillagerGolem has these additional fields:
    •  PlayerCreated: 1 or 0 (true/false) - true if this golem was created by a player.
  • Zombie has these additional fields:
    •  IsVillager: 1 or 0 (true/false) - true if this zombie is an infected villager. May be absent.
    •  IsBaby: 1 or 0 (true/false) - true if this zombie is a baby. May be absent.
    •  ConversionTime: -1 when not being converted back to a villager, positive for the number of ticks until conversion back into a villager. The regeneration effect will parallel this.
    •  CanBreakDoors: 1 or 0 (true/false) - true if the zombie can break doors (default value is 0). If the difficulty is set to Hard, all zombies will have this tag set to 1. In any other difficulty, it is always set to 0.
  • PigZombie has these additional fields:
    • All fields from Zombie
    •  Anger: Anger level. Determines the aggressivity of the creature towards players. 0 for neutral Zombie Pigmen.

Projectiles[편집 | 원본 편집]

Projectiles are a subclass of Entity and have very obscure tags such as X,Y,Z coordinate tags despite Entity Pos tag, inTile despite inGround, and shake despite most projectiles not being arrows.

Projectile Entities
Entity ID Name
Arrow Arrow
Snowball Snowball
Egg (Removed - bug?) Egg
Fireball Ghast Fireball
SmallFireball Blaze Fireball/Fire Charge
ThrownEnderpearl Ender Pearl
ThrownExpBottle Bottle o' Enchanting
ThrownPotion Splash Potion
WitherSkull Wither Skull
  • Projectiles have these additional fields:
    •  xTile: X coordinate of the item's position in the chunk.
    •  yTile: Y coordinate of the item's position in the chunk.
    •  zTile: Z coordinate of the item's position in the chunk.
    •  inTile: ID of tile projectile is in.
    •  inGround: 1 or 0 (true/false) - If the Projectile is in the ground or hit the ground already (For arrow pickup; you cannot pickup arrows in the air)
  • Projectiles except Fireball, SmallFireball, and WitherSkull have these additional fields:
    •  shake: The "shake" when arrows hit a block.
  • Arrow has these additional fields:
    •  inData: Metadata of tile arrow is in.
    •  pickup: 0 = cannot be picked up by players. 1 = can be picked up by players in survival or creative. 2 = can only be picked up by players in creative.
    •  player: 1 or 0 (true/false) - If pickup is not used, and this is true, the arrow can be picked up by players.
    •  life: Increments each tick when an arrow is not moving; resets to 0 if it moves. When it ticks to 1200, the arrow despawns.
    •  damage: Unknown how this affects actual damage inflicted by the arrow. May not be a whole number. 2.0 for normal arrows, and increased 0.5 per level of Power enchantment on the firing bow. If the Power enchantment is present, an additional 0.5 is added on (so Power I gives a bonus of 1.0, while Power II gives 1.5).
  • Fireball, SmallFireball, and WitherSkull have this additional field:
    •  direction: List of 3 doubles. Should be identical to Motion.
  • Fireball has this additional field:
    •  ExplosionPower: The power and size of the explosion created by the fireball upon impact. Default value 1.
  • ThrownEnderpearl, ThrownExpBottle, ThrownPotion, and Snowball have this additional field:
    •  ownerName: The name of the player this projectile was thrown by.
  • ThrownPotion has these additional fields:
    •  Potion: The item that was thrown, without the slot tag.
    •  potionValue: If the Potion tag does not exist, this value is used as the damagevalue of the thrown potion.

Items[편집 | 원본 편집]

Items are a subclass of Entity.

Item Entities
Entity ID Name
Item Dropped Item
XPOrb XP Orb
  • Items have these additional fields:
    •  Age: The number of ticks the item has been "untouched". After 6000 ticks (5 minutes [1]) the item is destroyed. If set to -32768, the Age will not decrease, thus the item will not automatically despawn.
  • Item has these additional fields:
    •  Health: The health of the item, which starts at 5. Items take damage from fire, lava, falling anvils, and explosions. The item is destroyed when its health reaches 0.
    •  PickupDelay: The number of ticks the item cannot be picked up. Decreases by 1 per tick. If set to 32767, the PickupDelay will not decrease, thus the item can never be picked up.
    •  Owner: If not an empty string, only the named player will be able to pick up this item, until it is within 10 seconds of despawning. Used by the give command (and can be set in a summon command) to prevent the wrong player from picking up the spawned item entity.
    •  Thrower: Set to the name of the player who dropped the item, if dropped by a player. Used by the "Diamonds to you!" achievement.
    •  Item: The inventory item, without the Slot tag.
  • XPOrb has these additional fields:
    •  Health: Same properties as Health in Item. However, this value is stored as a byte in saved data, and read as a short but clipped to the range of a byte. As a result, its range is 0-255, always positive, and values exceeding 255 will overflow.
    •  Value: The amount of experience the orb gives when picked up.

Vehicles[편집 | 원본 편집]

Vehicles are subclasses of Entity.

Vehicle Entities
Entity ID Name
Boat Boat
Minecart (deprecated) Minecart
Storage Minecart
Furnace Minecart
MinecartRideable Minecart
MinecartChest Storage Minecart
MinecartFurnace Furnace Minecart
MinecartSpawner Spawner Minecart
MinecartTNT TNT Minecart
MinecartHopper Minecart with Hopper
MinecartCommandBlock Minecart with Command Block
  • All types of Minecarts may have these additional optional fields:
    •  CustomDisplayTile: Optional. 1 or 0 (true/false) - whether to display the custom tile in this minecart.
    •  DisplayTile: Optional. The ID of the custom block in the minecart.
    •  DisplayData: Optional. The Data value of the custom block in the minecart.
    •  DisplayOffset: Optional. The offset of the block displayed in the Minecart. Positive values move the block upwards, while negative values move it downwards. A value of 16 will move the block up by exactly one multiple of its height.
    •  CustomName: Optional. The custom name of this minecart. ("@" by default for command block minecarts)
  • Minecart (deprecated since 13w02a) had these additional fields:
    •  Type: Type of the cart: 0 - empty, 1 - with a chest, 2 - with a furnace.
    • All fields from MinecartRideable, MinecartChest or MinecartFurnace depending on Type.
  • MinecartChest and MinecartHopper have these additional fields:
    •  Items: List of items.
      • An item, including the Slot tag. Slots are numbered 0 to 26 for chests, and 0 to 4 for hoppers.
  • MinecartFurnace have these additional fields:
    •  PushX: Force along X axis, used for smooth acceleration/deceleration.
    •  PushZ: Force along Z axis, used for smooth acceleration/deceleration.
    •  Fuel: The number of ticks until the minecart runs out of fuel.
  • MinecartHopper has these additional fields:
    •  TransferCooldown: Time until the next transfer, between 1 and 8, or 0 if there is no transfer.
  • MinecartTNT has these additional fields:
    •  TNTFuse: Time until explosion or -1 if deactivated.
  • MinecartSpawner has these additional fields:
    • All fields from the MobSpawner Tile Entity, excluding the base Tile Entity fields.
  • MinecartCommandBlock has these additional fields:
    •  Command: The command entered into the minecart.
    •  SuccessCount: Represents the strength of the analog signal output by redstone comparators attached to this minecart. Only updated when the minecart is activated with an activator rail.
    •  LastOutput: The last line of output generated by the minecart. Still stored even if the gamerule commandBlockOutput is false. Appears in the GUI of the minecart when right-clicked, and includes a timestamp of when the output was produced.
    •  TrackOutput: 1 or 0 (true/false) - Unknown.

Dynamic Tiles[편집 | 원본 편집]

Dynamic tiles are a subclass of Entity and are used to simulate realistically moving blocks.

Dynamic Tile Entities
Entity ID Name
PrimedTnt TNT
FallingSand Dynamic Tile
  • PrimedTnt has these additional fields:
    •  Fuse: Ticks until explosion. Default is 80 (4 seconds).
  • FallingSand has these additional fields:
    •  Tile (deprecated): The Block ID. Not limited to only sand, gravel, dragon eggs, or anvils. Although deprecated, this value is always present.
    •  TileID: The Block ID, as above, but now supporting the 1-4095 range. Only prior to 1.8 and its snapshots.
    •  Block: The Block ID using the alphabetical ID format: minecraft:stone. Only in and after 1.8 and its snapshots.
    •  TileEntityData: Optional. The tags of the tile entity for this block.
    •  Data: The data value for the block.
    •  Time: The number of ticks the entity has existed. If set to 0, the moment it ticks to 1, it will vanish if the block at its location has a different ID than the entity's TileID. If the block at its location has the same ID as its TileID when Time ticks from 0 to 1, the block will instead be deleted, and the entity will continue to fall, having overwritten it. (This was the result of Mojang's failed attempt to "fix" infinite sand/gravel/dragon egg/anvil/etc. generators by trying to have the falling sand entity delete the duplicated block the next tick) When Time goes above 600, or above 100 while the block is below Y=0, the entity is deleted.
    •  DropItem: 1 or 0 (true/false) - true if the block should drop an item that can be picked up when it breaks.
    •  HurtEntities: 1 or 0 (true/false) - true if the block should hurt entities it falls on.
    •  FallHurtMax: The maximum number of hitpoints of damage to inflict on entities that intersect this FallingSand. For vanilla FallingSand, always 40 (20 hearts).
    •  FallHurtAmount: Multiplied by the FallDistance to calculate the amount of damage to inflict. For vanilla FallingSand, always 2.

Other[편집 | 원본 편집]

Other entity types that are a subclass of Entity but do not fit into any of the above categories.

Other Entities
Entity ID Name
EnderCrystal Ender Crystal
EyeOfEnderSignal Eye of Ender
FireworksRocketEntity Firework Rocket
ItemFrame Item Frame
LeashKnot Leash Knot
Painting Painting
  • FireworksRocketEntity has these additional fields:
    •  Life: The number of ticks this fireworks rocket has been flying for.
    •  LifeTime: The number of ticks before this fireworks rocket explodes. 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.
  • Paintings and Item Frames share these additional fields:
    •  TileX: The X coordinate of the block the painting/item frame is placed on.
    •  TileY: The Y coordinate of the block the painting/item frame is placed on.
    •  TileZ: The Z coordinate of the block the painting/item frame is placed on.
    •  Facing: In 1.8 and later, the direction the painting/item frame faces: 0 is south, 1 is west, 2 is north, and 3 is east.
    •  Direction: Prior to 1.8, the direction the painting/item frame faces: 0 is south, 1 is west, 2 is north, and 3 is east.
    •  Dir: Same as Direction, except the meaning of values 2 and 0 are swapped. Ignored if Direction is present.
  • ItemFrame has these additional fields:
    •  Item: The item, without the slot tag. If the item frame is empty, this tag does not exist.
    •  ItemDropChance: The chance the item will drop when the item frame breaks. 1.0 by default.
    •  ItemRotation: The number of times the item has been rotated 45 degrees clockwise.
  • Painting has these additional fields:
    •  Motive: The name of this Painting's art.

Tile Entity Format[편집 | 원본 편집]

Tile Entities (not related to Entities) are used by Minecraft to store information about blocks that can't be stored in the 4-bits of block data the block has. They have also recently been referred to as Block Entities, though "Tile Entity" is still a more common name for them.

Tile Entities
Tile Entity ID Associated Block
Airportal End Portal
Beacon Beacon Block
Cauldron Brewing Stand
Chest Chest
Trapped Chest
Comparator Comparator
Control Command Block
DLDetector Daylight Sensor
Dropper Dropper
EnchantTable Enchantment Table
EnderChest Ender Chest
FlowerPot Flower Pot
Furnace Furnace
Hopper Hopper
MobSpawner Monster Spawner
Music Note Block
Piston Piston Moving
RecordPlayer Jukebox
Sign Sign
Skull Head
Trap Dispenser

All tile entities share this base:

  • Tile entity data
    •  id: Tile entity ID
    •  x: X coordinate of the Tile Entity.
    •  y: Y coordinate of the Tile Entity.
    •  z: Z coordinate of the Tile Entity.


  • Various containers may have these additional fields:
    •  CustomName: Optional. The name of this container, which will display in its GUI where the default name ordinarily is. For Command Blocks, the name will replace the usual '@' when using commands such as "say" and "tell".
    •  Lock: Optional. When not blank, prevents the container from being opened unless the opener is holding an item whose name matches this string.
  • Beacon has these additional fields:
    •  Levels: The number of levels available from the pyramid.
    •  Primary: The primary power selected, see Potion effects for IDs. 0 means none.
    •  Secondary: The secondary power selected, see Potion effects for IDs. 0 means none.
  • Cauldron has these additional fields:
    •  Items: List of items in the brewing stand.
      • : An item, including the slot tag. Slots are numbered 0 to 3.
    •  BrewTime: The number of ticks the potions have been brewing for.
  • Chest has these additional fields:
    •  Items: List of items in the chest.[note 1]
      • : An item, including the slot tag. Chest slots are numbered 0-26 with 0 in the top left corner.
  1. Double chests are simply two Chest tile entities next to each other; see Chest for which tile entity is which half of the chest.
  • Comparator has these additional fields:
    •  OutputSignal: Represents the strength of the analog signal output by this redstone comparator. Likely used because the block itself uses its four bits of metadata to determine its rotation, powered state, and subtraction mode state, and comparators can hold a specific amount of power even in circuits without redstone wire.
  • Control has these additional fields:
    •  Command: The command to issue to the server.
    •  SuccessCount: Represents the strength of the analog signal output by redstone comparators attached to this command block. Only updated when the command block is activated with a redstone signal.
    •  LastOutput: The last line of output generated by the command block. Still stored even if the gamerule commandBlockOutput is false. Appears in the GUI of the block when right-clicked, and includes a timestamp of when the output was produced.
    •  TrackOutput: 1 or 0 (true/false) - Unknown.
  • FlowerPot has these additional fields:
    •  Item: The Block ID of the plant in the pot. Known valid blocks are minecraft:sapling (6), minecraft:tallgrass (31), minecraft:deadbush (32), minecraft:yellow_flower (37), minecraft:red_flower (38), minecraft:brown_mushroom (39), minecraft:red_mushroom (40), minecraft:cactus (81). Other block and item IDs may be used, but not all will render. Together with Data, this determines the item dropped by the pot when destroyed.
    •  Data: The data value to use in conjunction with the above Block ID. For example if Item is 6 (a sapling block), the Data is used to indicate the type of sapling. See Data Values for details.
  • Furnace has these additional fields:
    •  BurnTime: Number of ticks left before the current fuel runs out.
    •  CookTime: Number of ticks the item has been smelting for. The item finishes smelting when this value reaches 200 (10 seconds). Is reset to 0 if BurnTime reaches 0.
    •  CookTimeTotal: Number of ticks It takes for the item to be smelted.
    •  Items: List of items in the furnace slots.
      • : An item in the furnace, including the slot tag:
        Slot 0: The item(s) being smelted.
        Slot 1: The item(s) to use as the next fuel source.
        Slot 2: The item(s) in the result slot.
  • Hopper has these additional fields:
    •  Items: List of items in the hopper slots.
      • : An item in the hopper, including the slot tag.
    •  TransferCooldown: Time until the next transfer, naturally between 1 and 8 or 0 if there is no transfer.

  • MobSpawner has these additional fields:
    •  SpawnPotentials: Optional. List of possible entities to spawn.[2][3] If this tag does not exist, but SpawnData exists, Minecraft will generate it the next time the spawner tries to spawn an entity. The generated list will contain a single entry derived from the EntityId and SpawnData tags.
      • : A potential future spawn. After the spawner makes an attempt at spawning, it will choose one of these entries at random and use it to prepare for the next spawn.
        •  Type: Overwrites EntityId when preparing the next spawn.
        •  Weight: The chance that this spawn will be picked as compared to other spawn weights. Must be non-negative and at least 1.
        •  Properties: Overwrites the contents of SpawnData when preparing the next spawn. Not optional; an empty one will be created if it does not exist.
    •  EntityId: The Entity ID of the next entity(s) to spawn. Both Mob Entity IDs and other Entity IDs will work. Warning: If SpawnPotentials exists, this tag will get overwritten after the next spawning attempt: see above for more details.
    •  SpawnData: Contains tags to copy to the next spawned entity(s) after spawning. Any of the Entity or Mob tags may be used. Note that if a spawner specifies any of these tags, almost all variable data such as mob equipment, villager profession, sheep wool color, etc., will no longer be automatically generated, and must also be manually specified [4] (note that this does not apply to position data, which will be randomized as normal unless Pos is specified. Similarly, unless Size and Health are specified for a Slime or Magma Cube, these will still be randomized). This, together with EntityId, also determines the appearance of the miniature entity spinning in the spawner cage. Note: this tag is optional: if it does not exist, the next spawned entity will use the default vanilla spawning properties for this mob, including potentially randomized armor (this is true even if SpawnPotentials does exist). Warning: If SpawnPotentials exists, this tag will get overwritten after the next spawning attempt: see above for more details.
    •  SpawnCount: How many mobs to attempt to spawn each time.
    •  SpawnRange: The radius around which the spawner attempts to place mobs randomly. The spawn area is square, includes the block the spawner is in, and is centered around the spawner's x,z coordinates - not the spawner itself. It is 2 blocks high, centered around the spawner's y coordinate (its bottom), allowing mobs to spawn as high as its top surface and as low as 1 block below its bottom surface. Vertical spawn coordinates are integers, while horizontal coordinates are floating point and weighted towards values near the spawner itself. Default value is 4.
    •  Delay: Ticks until next spawn. If 0, it will spawn immediately when a player enters its range. If set to -1 (this state never occurs in a natural spawner; it seems to be a feature accessed only via NBT editing), the spawner will reset its Delay, and (if SpawnPotentials exist) EntityID and SpawnData as though it had just completed a successful spawn cycle, immediately when a player enters its range. Note that setting Delay to -1 can be useful if you want the game to properly randomize the spawner's Delay, EntityID, and SpawnData, rather than starting with pre-defined values.
    •  MinSpawnDelay: The minimum random delay for the next spawn delay. May be equal to MaxSpawnDelay.
    •  MaxSpawnDelay: The maximum random delay for the next spawn delay. Warning: Setting this value to 0 crashes Minecraft. Set to at least 1.
    •  MaxNearbyEntities: Overrides the maximum number of nearby (within a box of spawnrange*2+1 x spawnrange*2+1 x 8 centered around the spawner block) entities whose IDs match this spawner's entity ID. Note that this is relative to a mob's hitbox, not their physical position. Also note that all entities within all chunk sections (16x16x16 cubes) overlapped by this box are tested for their ID and hitbox overlap, rather than just entities which are within the box, meaning a large amount of entities outside the box (or within it, of course) can cause substantial lag.
    •  RequiredPlayerRange: Overrides the block radius of the sphere of activation by players for this spawner. Note that for every gametick, a spawner will check all players in the current world to test whether a player is within this sphere.
    •  MaxExperience (removed): Unknown.
    •  RemainingExperience (removed): Unknown.
    •  ExperienceRegenTick (removed): Unknown.
    •  ExperienceRegenRate (removed): Unknown.
    •  ExperienceRegenAmount (removed): Unknown.


  • Music has these additional fields:
    •  note: Pitch (number of right-clicks).
  • Piston has these additional fields:
    •  blockId: Block_IDs of the block being moved.
    •  blockData: Data value of the block being moved.
    •  facing: Direction in which the block will be pushed.
    •  progress: How far the block has been moved.
    •  extending: 1 or 0 (true/false) - true if the block is being pushed.
  • RecordPlayer has these additional fields:
    •  Record: Record currently playing. 0 is no record. Otherwise, it is the item ID of the record (e.g. 2261 for the "mall" record). Other IDs can be used to make other items or blocks pop out with a data value of 0. This is always overridden by the ID in RecordItem.
    •  RecordItem: The item, without the Slot tag.
  • Sign has these additional fields:
    •  Text1: First row of text.
    •  Text2: Second row of text.
    •  Text3: Third row of text.
    •  Text4: Fourth row of text.

Only the first 16 characters of each line are read, the rest are discarded.

  • Skull has these additional fields:
    •  SkullType: The type of the skull, similar to the Item IDs. (See Data values#Heads)
    •  ExtraType: Name of the player this is a skull of for pre-1.8.[5]
    •  Rot: The orientation, similar to signs. (See Data values#Sign Posts)
    •  Owner: 1.8's definition for the skull's owner.
      •  Id: UUID of owner.
      •  Name: Username of owner.
      •  Properties
        •  textures
          • : An individual texture.
            •  Signature
            •  Value
  • Trap and Dropper have these additional fields:
    •  Items: List of items in the dispenser/dropper
      • : An item, including the slot tag. Slots are numbered 0-8.

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 as an integer prior to 1.8 snapshots and a string after 1.8 snapshots; 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

References[편집 | 원본 편집]