Chunkフォーマット

提供: Minecraft Wiki
Chunk formatから転送)
移動先: 案内検索
Book and Quill.png
この記事の内容は翻訳されていません。
あなたが内容を翻訳してみませんか?

チャンクには16×256×16の領域内の地形データとエンティティデータ、事前計算されたライティング、高さマップ、その他のメタデータが格納されている。

NBT の構造[編集 | ソースを編集]

Information from the Anvil format page」も参照

チャンクは、この構造で NBTフォーマットに格納される(各配列内のブロックの順序については、下記のブロックフォーマットを参照)。

  • Nbtsheet.png ルートタグ。
    • Nbtsheet.png DataVersion: チャンクの NBT の構造のバージョン。
    • Nbtsheet.png Level: チャンクのデータ。
      • Nbtsheet.png xPos: そのチャンクの X座標。
      • Nbtsheet.png zPos: そのチャンクの Z座標。
      • Nbtsheet.png LastUpdate: そのチャンクが最後にセーブされたときのティック。
      • Nbtsheet.png LightPopulated: 1 または 0 (true/false) - true は、サーバーやクライアントが既に、生成後にこのチャンクのライティング値を計算している場合を指す。
      • Nbtsheet.png TerrainPopulated: 1 または 存在しない (true / false) - このチャンク内の地形が特別なもの(鉱石、特殊ブロック、木、ダンジョン、花、滝など)で埋められているかどうかを示す。false に設定すると、Minecraft は既に存在するブロックでこれらの地形を再生成する。
      • Nbtsheet.png V: 現在は常に1として保存されるが、実際にはゲームで読み込まれることはない。 おそらくチャンクのバージョンのタグ。
      • Nbtsheet.png InhabitedTime: プレイヤーがそのチャンク内にいたティックの累積数。この値は、より多くのプレイヤーがチャンク内にいると、より速く増加する。また、敵対的Mob がエンチャントされた装備を着ている可能性や、ポーションの効果を持つクモがスポーンする可能性、落としたアイテムを拾う能力を持つ Mob がスポーンする可能性、他のゾンビを指揮するゾンビがスポーンする可能性というように、地域難易度に使用される。攻撃されたときに3600000以上の値だと、このチャンクに対しての地域難易度の効果が最大になる。0以下の値では、難易度は最小値に制限される(したがって、負の数に設定されている場合は、正の値に戻されてから0と同じように動作する)。詳細については地域難易度を参照。
      • Nbtsheet.png Biomes: 存在しない可能性がある。256バイトのバイオームのデータと、チャンク内の各垂直柱ごとに1バイトである。バイオームID についてはデータ値 を参照。もしこのタグが存在しない場合、チャンクがロード・セーブされる際にそれが作成され、適用されることになる。また、配列内の値が-1であった場合も同様にして修正される。
      • Nbtsheet.png HeightMap: 1024バイト(256 TAG_Int) のハイトマップ。16 × 16。各バイトにはそのXZ座標において太陽光が最も強く当たる面の標高が格納されている。これは太陽光の高速演算に使用される。
      • Nbtsheet.png Sections: Compound タグのリストで、各タグは一種のサブチャンクである。
        • Nbtsheet.png 個々のセクション。
          • Nbtsheet.png Y: このセクションの Y インデックス(座標ではない)。範囲は0〜15(下から上)だが、重複していない時も一部のセクションが欠落することがある。
          • Nbtsheet.png Blocks: 4096バイトのブロックID。地形を定義する。 1ブロックあたり8ビット、および下の Add タグからのビットを加えたものである。
          • Nbtsheet.png Add: 存在しない可能性がある。2048バイトの追加の、ブロックID のデータである。 The value to add to (combine with) the above block ID to form the true block ID in the range 0 to 4095. 1ブロックあたり4バイト。Combining is done by shifting this value to the left 8 bits and then adding it to the block ID from above.
          • Nbtsheet.png Data: 2048バイトのブロックデータ。さらに地形の一部を定義する。1ブロックあたり4ビットである。
          • Nbtsheet.png 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.
          • Nbtsheet.png SkyLight: 2048 bytes recording the amount of sunlight or moonlight hitting each block. 4 bits per block.
      • Nbtsheet.png 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 End tags (before 1.10, list of Byte tags).
      • Nbtsheet.png TileEntities: Each TAG_Compound in this list defines a block entity in the chunk. See Block Entity Format below. If this list is empty it will be a list of End tags (before 1.10, list of Byte tags).
      • Nbtsheet.png 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.

ブロックのフォーマット[編集 | ソースを編集]

Anvilフォーマットでは, 複雑な用途のために,ブロックの位置はXYZ座標系で表される。

この座標系は次のように定義される。

  • 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.

<abbr title="Function to return the 4-bit nibble in a byte array at the given index"><span style="color:blue">byte</span> Nibble4(<span style="color:blue">byte</span>[] arr, <span style="color:blue">int</span> index)</abbr>{ <span style="color:blue">return</span> <abbr title="If index is even...">index%2 == 0 ?</abbr> <abbr title="...then return the low nibble...">arr[index/2]&0x0F</abbr> <abbr title="...else return the high nibble.">: (arr[index/2]>>4)&0x0F</abbr>; }
<span style="color:blue">int</span> '''<abbr title="The index the block is at in the arrays">BlockPos</abbr>''' = <abbr title="Careful! This is the Y coordinate relative to the section, not the whole chunk!">y</abbr>*<abbr title="Chunk/Section Width">16</abbr>*<abbr title="Section Height">16</abbr> + z*<abbr title="Chunk/Section Width">16</abbr> + x;
<span style="color:blue">byte</span> <abbr title="The first half of the block ID">BlockID_a</abbr> = <abbr title="The Block byte array, 8 bits per block">''Blocks''</abbr>[BlockPos];
<span style="color:blue">byte</span> <abbr title="The second half of the block ID">BlockID_b</abbr> = Nibble4(<abbr title="The Add byte array, 4 bits per block">''Add''</abbr>, BlockPos);
<span style="color:blue">short</span> <abbr title="The actual, real Block ID">'''BlockID'''</abbr> = <abbr title="Combine the separate parts of the block ID">BlockID_a + (BlockID_b << 8)</abbr>;
<span style="color:blue">byte</span> <abbr title="The data value for the block">'''BlockData'''</abbr> = Nibble4(<abbr title="The Data byte array, 4 bits per block">''Data''</abbr>, BlockPos);
<span style="color:blue">byte</span> <abbr title="The block light for the block">'''Blocklight'''</abbr> = Nibble4(<abbr title="The BlockLight byte array, 4 bits per block">''BlockLight''</abbr>, BlockPos);
<span style="color:blue">byte</span> <abbr title="The sky light for the block">'''Skylight'''</abbr> = Nibble4(<abbr title="The SkyLight byte array, 4 bits per block">''SkyLight''</abbr>, BlockPos);

Entity format[編集 | ソースを編集]

Every entity is an unnamed Nbtsheet.png TAG_Compound contained in the Entities list of a chunk file. The sole exception is the Player entity, stored in level.dat, or in <player>.dat files on servers. All entities share this base:

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

  • Nbtsheet.png Entity data
    • Nbtsheet.png id: エンティティID。 このタグはプレイヤーには存在しない。
    • Nbtsheet.png Pos: 現在の X、Y、Z 座標。3軸とも TAG_Double で省略できない。
    • Nbtsheet.png Motion: 現在の移動速度を X、Y、Z の順番の一覧で設定したもの。単位は1ティックあたりのメートル。3軸の指定が必須で省略できない。
    • Nbtsheet.png Rotation: エンティティの向いている方向を度単位で表す。
      • Nbtsheet.png: Y を軸とした横回転で時計回り。-180.0 で北向き、-90.0 で東向き、0.0 で南向き、90.0 で西向き。
      • Nbtsheet.png: X を軸とした縦回転で、90.0 で上向き、0 で水平向き。、真下 -90.0 で真下を向く。
    • Nbtsheet.png FallDistance: エンティティが落ちた距離。エンティティが着地すると、値を大きくほどダメージが発生する。
    • Nbtsheet.png Fire: 火が消えるまでのティック数。マイナスの値は、エンティティが燃える前にどれくらいの時間炎に耐えられるかを反映する。デフォルトは -20 で、このときは燃えていない。
    • Nbtsheet.png Air: エンティティがどれくらいの空気を持っているか、ティックで表す。水中では減少する。水中で0の場合、エンティティは毎秒1ずつ体力を失う。
    • Nbtsheet.png OnGround: 1または0 (true / false) - エンティティが地面に接触している場合は true。
    • Nbtsheet.png NoGravity:1 または 0 (true / false) - true のとき、地面に落下しない。
    • Nbtsheet.png Dimension: プレイヤーが存在しているディメンション。他のすべてのエンティティは、そのディメンションの region ファイルにのみ保存される。-1でネザー、0でオーバーワールド、1でエンドを表す。
    • Nbtsheet.png Invulnerable: 1または0 (true / false) - エンティティがダメージを受けない場合は true。これは生物系エンティティと、無生物系エンティティ両方に適用される。これが true に設定されている Mob は、ポーション、釣竿、攻撃、爆発、または発射物では動かすことができず、乗り物や額縁などのエンティティは、それを支えるものが取り除かれない限り破壊することができない。ただし、クリエイティブモードのプレイヤーによる破壊は可能である。
    • Nbtsheet.png PortalCooldown: エンティティが、ネザーポータルを介してテレポートするまでの間のティック数。最初はテレポート後に300ティック(15秒)で始まり、0までカウントダウンする。
    • Nbtsheet.png UUIDMost: エンティティの Universally Unique IDentifier の最上位のビット。UUIDLeast と共に使用される。
    • Nbtsheet.png UUIDLeast: エンティティの Universally Unique IDentifier の最下位のビット。UUIDMost と共に使用される。
    • Nbtsheet.png UUID1.9 で削除): エンティティの Universally Unique Identifer。16進数の UUID(例: 069a79f4-44e9-4726-a5be-fca90e38aaf5)を UUIDMost と UUIDLeast に変換する。これらのタグが既に存在する場合は適用されない。また、このタグが設定されたエンティティが読み込まれるとこのタグは削除される。
    • Nbtsheet.png CustomName: エンティティのカスタム名。プレイヤーの死亡メッセージ、対象のインベントリ画面、GUI を開いた時、そしてカーソルを合わせた時などに表示される。このタグが存在していないエンティティもいる。
    • Nbtsheet.png CustomNameVisible: 1 または 0 (true / false) - true のとき、カーソルを合わせなくても常にカスタム名が表示される。CustomName が設定されていない場合は、デフォルトの名前が表示される。このタグが存在していないエンティティもいる。
    • Nbtsheet.png Silent: 1 または 0 (true / false) - true のとき、一切のサウンドを発しない。このタグが存在していないエンティティもいる。
    • Nbtsheet.png Riding1.9 で削除): 騎乗されているエンティティに関するデータ。一番上のエンティティの Pos タグに、一番下のエンティティの存在する座標を指定する。また、一番下のエンティティが移動を操作し、一番上のエンティティはモンスタースポナーからスポーンするときの条件を決める。
      • See this format (recursive).
    • Nbtsheet.png Passengers: エンティティの騎乗に関するデータ。騎乗しているエンティティとその下にいるエンティティの両方が移動を操作し、一番上のエンティティはモンスタースポナーからスポーンするときの条件を決める。
      • See this format (recursive).
    • Nbtsheet.png Glowing: 1 または 0 (true / false) - true のとき、発光状態になる。
    • Nbtsheet.png Tags: カスタマイズされた文字列のタグの一覧。
    • Nbtsheet.png CommandStats: Information identifying scoreboard parameters to modify relative to the last command run
      • Nbtsheet.png SuccessCountObjective: Objective's name about the number of successes of the last command (will be an int)
      • Nbtsheet.png SuccessCountName: Fake player name about the number of successes of the last command
      • Nbtsheet.png AffectedBlocksObjective: Objective's name about how many blocks were modified in the last command (will be an int)
      • Nbtsheet.png AffectedBlocksName: Fake player name about how many blocks were modified in the last command
      • Nbtsheet.png AffectedEntitiesObjective: Objective's name about how many entities were altered in the last command (will be an int)
      • Nbtsheet.png AffectedEntitiesName: Fake player name about how many entities were altered in the last command
      • Nbtsheet.png AffectedItemsObjective: Objective's name about how many items were altered in the last command (will be an int)
      • Nbtsheet.png AffectedItemsName: Fake player name about how many items were altered in the last command
      • Nbtsheet.png QueryResultObjective: Objective's name about the query result of the last command
      • Nbtsheet.png QueryResultName: Fake player name about the query result of the last command

Mob[編集 | ソースを編集]

Mob Entities
エンティティID 名前
bat コウモリ
blaze ブレイズ
cave_spider 洞窟グモ
chicken ニワトリ
cow ウシ
creeper クリーパー
donkey Donkey
elder_guardian エルダーガーディアン
ender_dragon エンダードラゴン
enderman エンダーマン
endermite エンダーマイト
evocation_illager エヴォーカー
ghast ガスト
giant ジャイアント
guardian ガーディアン
horse ウマ
husk ハスク
llama ラマ
magma_cube マグマキューブ
mooshroom ムーシュルーム
mule Mule
ocelot ヤマネコ
pig ブタ
polar_bear シロクマ
rabbit ウサギ
sheep ヒツジ
shulker シュルカー
silverfish シルバーフィッシュ
skeleton スケルトン
skeleton_horse スケルトンホース
slime スライム
snowman スノウゴーレム
spider クモ
squid イカ
stray ストレイ
vex ヴェックス
villager 村人
villager_golem アイアンゴーレム
vindication_illager ヴィンディケーター
witch ウィッチ
wither ウィザー
wither_skeleton ウィザースケルトン
wolf オオカミ
zombie ゾンビ
zombie_horse ゾンビホース
zombie_pigman ゾンビピッグマン
zombie_villager 村人ゾンビ

Mobs are a subclass of Entity with additional tags to store their health, attacking/damaged state, potion effects, and more depending on the mob. Players are a subclass of Mob.

発射物[編集 | ソースを編集]

Projectile Entities
エンティティID 名前
arrow Arrow
dragon_fireball Ender Dragon Fireball
egg Egg
ender_pearl Ender Pearl
fireball Ghast Fireball
potion Splash Potion
small_fireball Blaze Fireball/Fire Charge
snowball Snowball
spectral_arrow Spectral Arrow
wither_skull Wither Skull
xp_bottle Bottle o' Enchanting

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. While all projectiles share tags, they are all independently implemented through Throwable and ArrowBase.

Items and XPOrbs[編集 | ソースを編集]

Item Entities
エンティティID 名前
item Dropped Item
xp_orb 経験値オーブ

Items and XPOrbs are a subclass of Entity.

乗り物[編集 | ソースを編集]

Vehicle Entities
エンティティID 名前
boat ボート
Minecart (deprecated) Minecart
Minecart with Chest
Minecart with Furnace
minecart トロッコ
chest_minecart チェスト付きトロッコ
commandblock_minecart コマンドブロック付きトロッコ
furnace_minecart かまど付きトロッコ
hopper_minecart ホッパー付きトロッコ
spawner_minecart スポナー付きトロッコ
tnt_minecart TNT付きトロッコ

Vehicles are subclasses of Entity.

Dynamic tiles[編集 | ソースを編集]

Dynamic Block Entities
エンティティID 名前
falling_block Dynamic Tile
tnt TNT

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

その他のエンティティ[編集 | ソースを編集]

Other Entities
エンティティID 名前
area_effect_cloud Area Effect Cloud
armor_stand 防具立て
ender_crystal エンドクリスタル
evocation_fangs Evocation Fangs
eye_of_ender_signal Eye of Ender
fireworks_rocket ロケット花火
item_frame 額縁
leash_knot Lead Knot
llama_spit Llama spit
painting 絵画
shulker_bullet Shulker Bullet
Fishing Rod Bobber

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

ブロックエンティティフォーマット[編集 | ソースを編集]

ブロックエンティティ
ブロックエンティティID 関連するブロック
banner
beacon ビーコン
bed ベッド
brewing_stand 醸造台
cauldron (PE) 大釜
chest チェスト
トラップチェスト
comparator レッドストーンコンパレーター
command_block コマンドブロック
daylight_detector 日照センサー
dispenser ディスペンサー
dropper ドロッパー
enchanting_table エンチャントテーブル
ender_chest エンダーチェスト
end_gateway エンドゲートウェイ (ブロック)
end_portal エンドポータル (ブロック)
flower_pot 植木鉢
furnace かまど
hopper ホッパー
jukebox ジュークボックス
mob_spawner モンスタースポナー
noteblock 音符ブロック
piston Piston Moving
sign 看板
skull Mobの頭
structure_block ストラクチャーブロック

ブロックエンティティはブロックの持つ情報のうちデータ値で表せない情報を表すのに用いられる。「タイルエンティティ」とも呼ばれている。

また、ブロック「エンティティ」とは言うが、エンティティではない。

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.

  • Nbtsheet.png A Tile Tick
    • Nbtsheet.png i: The ID of the block; used to activate the correct block update procedure.
    • Nbtsheet.png t: The number of ticks until processing should occur. May be negative when processing is overdue.
    • Nbtsheet.png 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.
    • Nbtsheet.png x: X position
    • Nbtsheet.png y: Y position
    • Nbtsheet.png z: Z position

History[編集 | ソースを編集]

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.

Java Edition
?Removed MaxExperience, RemainingExperience, ExperienceRegenTick, ExperienceRegenRate and ExperienceRegenAmount from MobSpawner.
1.4.2 12w34a Added entity WitherBoss.
1.5 13w02a Added entity MinecartTNT.
Minecart is now deprecated.
13w03a Added entity MinecartHopper.
13w06a Added entity MinecartSpawner.
1.6.1 13w16a Added entity EntityHorse.
13w21a Removed ArmorType from EntityHorse.
Removed Saddle from EntityHorse.
1.6.1-pre Readded Saddle to EntityHorse.
1.7.2 13w39a Added entity MinecartCommandBlock.
1.8 14w02a Added Lock to containers.
Item IDs are no longer used when specifying NBT data.
Added Block to FallingSand, using the alphabetical ID format.
14w06a Added ShowParticles to all mobs.
Added PickupDelay to item entities.
Setting Age to -32768 makes items which never expire.
Removed AttackTime from mobs.
14w10a Added rewardExp to Villager.
Added OwnerUUID for mobs that can breed.
Added Owner to Skull.
Changes to item frames and paintings: added Facing, TileX, TileY and TileZ now represent the co-ordinates of the block the item is in rather than what it is placed on, deprecated Direction and Dir.
14w11a Added entity Endermite.
Added EndermiteCount to Enderman.
14w21a CustomName and CustomNameVisible now work for all entities.
14w25a Added entity Guardian.
Added Text1, Text2, Text3 and Text4 to signs. The limit no longer depends on the amount of characters (16), it now depends on the width of the characters.
14w27a Added entity Rabbit. Added CommandStats to command blocks and signs.
14w28a Removed EndermiteCount from Enderman.
14w30a Added Silent for all entities.
14w32a Added NoAI for all mobs.
Added entity ArmorStand.
14w32c Added NoBasePlate to ArmorStand.
1.9 15w31a Added tags HandItems, ArmorItems, HandDropChances, and ArmorDropChances to Living, which replace the DropChances and Equipment tags.
Added HandItems and ArmorItems to ArmorStand.
Added Glowing to Entity.
Added Team to LivingBase.
Added DragonPhase to EnderDragon
Added entity Shulker, child of Entity.
Added entity ShulkerBullet, child of Entity.
Added entity DragonFireball, which extends FireballBase and has no unique tags.
Added entities TippedArrow and SpectralArrow, children of Arrow.
Added block 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 Added entity AreaEffectCloud, child of Entity.
Added ExactTeleport and renamed Life to Age for EndGateway.
Added Linger to ThrownPotion.
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 Added BeamTarget to EnderCrystal.
15w34a Added powered and conditional byte tags to Control tile entity for command blocks.
Added life and power to FireballBase.
Added id inside SpawnData to MobSpawner.
Added powered to the Music tile entity for note blocks.
15w35a Added VillagerProfession to Zombie.
15w37a Added Enabled to MinecartHopper.
15w38a Added SkeletonTrap and SkeletonTrapTime to EntityHorse.
15w41a Replaced Riding with Passengers for all entities.
Added RootVehicle for all passengers.
Added Type to Boat.
15w42a Added Fuel to Cauldron (brewing stands).
15w43a Added LootTable and LootTableSeed to Chest, Minecart and MinecartHopper.
Added DeathLootTable and DeathLootTableSeed to all mobs.
Added life and power to all fireballs (FireballBase).
15w44a Added ShowBottom to EnderCrystal.
15w44b Added Potion and CustomPotionEffects to Arrow.
Added 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 Added 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 Added entity PolarBear.
Added ZombieType to Zombie, replacing VillagerProfession and IsVillager. Value of 6 indicates the "husk" zombie.
A value of 2 on SkeletonType indicates the "stray" skeleton.
NoGravity extended to all entities.
Added powered, showboundingbox and showair to Structure.
16w21a Added FallFlying to mobs and armor stands.
Added integrity and seed to Structure.
1.10-pre1 Added ParticleParam1 and ParticleParam2 to AreaEffectCloud.
1.11 16w32a Horse was split into entity IDs horse, donkey, mule, skeleton_horse and zombie_horse for their respective types. Type and HasReproduced removed from horse, ChestedHorse and Items tags now apply only to mule and donkey, and SkeletonTrap and SkeletonTrapTime tags now apply only to skeleton_horse.
Skeleton was split into entity IDs skeleton, stray and wither_skeleton. SkeletonType tag is removed from all skeleton types.
Zombie was split into entity IDs zombie, zombie_villager and husk. ZombieType tag is removed from all zombie types, ConversionTime and Profession tags now apply only to zombie_villager.
Guardian was split into entity IDs guardian and elder_guardian. Elder tag is removed from guardian.
Unused savegame IDs Mob and Monster were removed.
Pumpkin byte tag is added to snowman.
16w35a Added CustomName to banner.
16w39a Added llama, llama_spit, vindication_illager, vex, evocation_fangs and evocation_illager.
Added Color to shulker.
Added LocName, CustomPotionColor and ColorMap to items.
16w40a Added Johnny to vindication_illager.
Removed xTile, yTile, zTile, inTile, inGround from the FireballBase class (in large fireballs, small fireballs, dragon fireballs, and wither skulls).
16w41a llama_spit is now available as a save game entity.
16w42a Added crit to arrow.
16w43a Added OwnerUUIDLeast and OwnerUUIDMost to evocation_fangs.
16w44a Removed xTile, yTile, zTile, inTile, inGround from the fishing bobber entity.
1.11-pre1 Changed ench to require at least one compound.