北冥餅鯤 | give中的NBT | 指令詳解第3期

數(shù)據(jù)標(biāo)簽是一段文字序列,描述鍵值對(duì)組成的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)標(biāo)簽用于Java版的命令中,用于指定玩家、實(shí)體和一些方塊的較為復(fù)雜的數(shù)據(jù)。
數(shù)據(jù)標(biāo)簽由零個(gè)或以上、用逗號(hào)分隔的鍵值對(duì)組成,且用大括號(hào)括住。每個(gè)鍵值對(duì)包含鍵名和鍵值,用冒號(hào)分開。但是,有些鍵值可以繼續(xù)包含鍵值對(duì),因此數(shù)據(jù)標(biāo)簽可以用來(lái)描述層次結(jié)構(gòu)。
——Minecraft Wiki
一、什么是NBT(數(shù)據(jù)標(biāo)簽)
????????數(shù)據(jù)標(biāo)簽是一種增強(qiáng)原版物品的方式,可以讓單一物品多樣化。
????????數(shù)據(jù)標(biāo)簽并不是高深的指令,而出現(xiàn)在我們生活當(dāng)中
????????比如:耐久值、附魔、名字,這些都是NBT標(biāo)簽。
二、NBT的主要作用
????????不通過(guò)讓玩家進(jìn)行操作,只通過(guò)命令方塊召喚出有特殊數(shù)據(jù)的物品或生物。
????????也可做出游戲中根本無(wú)法獲得的物品,甚至可以做出炸服的逆天物品。
三、有NBT出現(xiàn)的例子
????????NBT應(yīng)該嚴(yán)格按照套層的方式書寫,比如這樣:
/give @p wooden_sword 1 0 {
??? display: {
??????? Name: "物品名稱",
??????? Lore: [
??????????? "Lore1",
??????????? "Lore2"
??????? ]
??? },
??? AttributeModifiers: [
??????? {
??????????? AttributeName: "generic.maxHealth",
??????????? Name: "generic.maxHealth",
??????????? Amount: 20,
??????????? Operation: 0,
??????????? UUIDMost: 87898,
??????????? UUIDLeast: 584624
??????? }
??? ],
??? HideFlags: 4,
??? Unbreakable: 1
}
或者這樣:
/give @p wooden_sword 1 0 {display:{Name:"物品名稱",Lore:["Lore1","Lore2"]},AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:20,Operation:0,UUIDMost:87898,UUIDLeast:584624}],HideFlags:4,Unbreakable:1}
毫不夸張的來(lái)說(shuō),利用DevC++來(lái)寫NBT是可行的(滑稽)
四、列舉give中常出現(xiàn)的NBT
????????●ench-附魔:ench:[{id:附魔ID,lvl:等級(jí)}]
????????????舉例:/give @p diamond_sword 1 0 {ench:[{id:16,lvl:1}]}
????????????所有附魔ID詳見 minecraft-zh.gamepedia.com/附魔 “數(shù)據(jù)值”章節(jié)

??????? ●display-顯示:display:{Name:"名稱",Lore:["介紹1","介紹2"]}
????????????舉例:/give @p diamond_sword 1 0 {display:{Name:"名稱",Lore:["介紹1","介紹2"]}}

??????? ●AttributeModifiers-特殊屬性:{AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:數(shù)值,Operation:0為整數(shù),1為百分?jǐn)?shù),UUIDMost:77548,UUIDLeast:598145}]}
????????????這是最特別的一個(gè),因?yàn)槠渲凶钌賣uid和最多uuid是什么意思這邊都沒(méi)太搞懂?Name有什么用也沒(méi)看懂?網(wǎng)上所有的教程都只是照搬Wiki,目前暫未看到任何的東西,如有大佬路過(guò)請(qǐng)?jiān)u論區(qū)解釋,看到會(huì)置頂?shù)?。那我們現(xiàn)在就只管AttributeName和Name一樣就行了。
????????????特殊屬性ID:generic.maxHealth=最大生命值,generic.followRange=生物跟隨距離,generic.knockbackResistance=擊退抗性,generic.movementSpeed=移動(dòng)速度,generic.attackDamage=攻擊傷害
????????????舉例:(為了方便觀賞)
/give @p diamond_sword 1 0 {
??? AttributeModifiers: [
??????? {
??????????? AttributeName: "generic.maxHealth",
??????????? Name: "generic.maxHealth",
??????????? Amount: 1,
??????????? Operation: 0,
??????????? UUIDMost: 91207,
??????????? UUIDLeast: 75154
??????? },
??????? {
??????????? AttributeName: "generic.followRange",
??????????? Name: "generic.followRange",
??????????? Amount: 32,
??????????? Operation: 0,
??????????? UUIDMost: 41585,
??????????? UUIDLeast: 279854
??????? },
??? ]
}

????????●Unbreakable-無(wú)法破壞:Unbreakable:1為無(wú)法損壞,0為正常
????????????舉例:/give @p diamond_sword 1 0 {Unbreakable: 1}

????????注意:無(wú)法破壞并不是無(wú)限耐久,而是不損耗耐久!
????????●HideFlags-隱藏標(biāo)簽:HideFlags:數(shù)值 (1=ench, 2=Modify,4=Unbreakable,8= CanDestory,16=CanPlaceOn,32=其他,將其求和=隱藏多個(gè)標(biāo)簽)
????????舉例:/give @p diamond_sword 1 0 {ench:[{id:16,lvl:1}],HideFlags:1}

????????●CanDestory/CanPlaceOn-可以破壞/可以放置于:CanPlaceOn:["ID"]

多重NBT:NBT可以連用,格式為{NBT1,NBT2,NBT3[{SON1,SUN2}]},比如說(shuō)/give @p wooden_sword 1 0 {display:{Name:"物品名稱",Lore:["Lore1","Lore2"]},AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"generic.maxHealth",Amount:20,Operation:0,UUIDMost:87898,UUIDLeast:584624}],HideFlags:4,Unbreakable:1}就是一個(gè)很好的栗子。
五、學(xué)這個(gè)有什么用?
????????其實(shí)這一段得話仔細(xì)看,有生命、有速度、有攻擊,非常適合在原版RPG內(nèi)大批量使用(此處一定要@盤靈古域,這是鯤鯤的命令啟蒙地圖,我基本上把盤靈古域的命令方塊拆了個(gè)遍);通過(guò)外部修改器(比如All-U-Want)能改出與插件無(wú)異的任何物品(別問(wèn)什么暴擊、吸血,都能做的);總的來(lái)說(shuō),在角色扮演/劇情/PVE類地圖中,學(xué)好NBT,才能掌控世界。
六、學(xué)完了這些,我應(yīng)該怎么應(yīng)用的呢?
? ? ? ?很簡(jiǎn)單!先按一下推薦,再扔兩個(gè)硬幣,最后點(diǎn)一下收藏和分享,轉(zhuǎn)發(fā)給你的好朋友哇! ? ? ? ?如果你還想看到指令詳解類型的專欄,請(qǐng)記得關(guān)注鯤鯤??!
至于如何像個(gè)大佬一樣玩NBT,請(qǐng)參閱cv906030或者直接前往指令生成網(wǎng)站:http://mc.ahgame.com/tools/