# NBT
## 前言(?)
> NBT(二進制命名標簽)格式為Minecraft中用于向文件中存儲數據的一種存儲格式。
> NBT格式以樹形結構并配以許多標簽的形式存儲數據。所有的標簽都有一個獨立的ID和名稱。
> ...
**等等!** 我們不是在說命令么?怎么跑了去編程了?~~教練我不要學這個!~~
其實NBT有兩個意思:**NBT文件格式**以及**命令中的NBT格式**,兩者**表達方式**是不同的,然而內里的數據是相同的。
本文只會介紹命令中的NBT的表達方式,對NBT文件格式(二進制的)有興趣的朋友可以看 http://wiki.vg/NBT
NBT文件修改器 NBTExplorer: http://www.mcbbs.net/thread-306895-1-1.html
(部分技術可能需要使用NBT文件修改器,因此也建議下載了,基本上是標配)
> NBT文件儲存了很多重要資料,如存檔資料、實體資料、方塊資料等。
> 通過命令中的NBT,我們能夠修改并檢查實體(玩家除外)、物品、方塊實體的屬性,也能檢查玩家的部分屬性。
> 看完本章,你**不會**知道NBT的完整格式,然而你會知道**最好的寫法**,最不容易出現錯誤的寫法。
## NBT簡介
NBT是由標簽(Tag)組成的。而每個標簽都有它們的數值。
標簽有不同的種類,我們可以大致分為三大類:
+ 數字類(詳細分類會包括整數和浮點數,里面又可以根據不同的大小、精度再分類)
+ 字串類(沒錯,字串是自成一類的)
+ 集合類(包括compound及list,將會在下方詳細描述)
集合類的數值為一個集合,也就是說能夠儲存另外的一些標簽在里面
故此,NBT的結構是一個**樹**結構
> (Tag_End算不算一個Tag....我覺得那比較算是Tag_Compound的格式)