第五十八章 使用NBT來自定義附魔
在前一章,我們了解到在Java版也可以使用NBT來自定義附魔。那么具體該如何自定義呢?
先讓我們來看看上一章那些擁有不合常理等級(jí)附魔的玩家,他們給出的指令如下:
/give @p xxx x x {ench:[{id:xx,lvl:xx},{id:xx,lvl:xx}]}
你應(yīng)該還記得Java1.13更新前的/give格式吧:
/give <目標(biāo)選擇器><物品id:字符串>[<物品數(shù)量:整數(shù)>][<物品數(shù)據(jù)值:整數(shù)>][NBT標(biāo)簽]
對(duì)比一下,你會(huì)發(fā)現(xiàn)這些玩家給出的指令格式是完全正確的,因此我們只需要關(guān)注NBT部分。
在第五十四章中,我們已經(jīng)初步了解了NBT的樣子。讓我們來試一試你能不能看懂這個(gè)NBT:
{ench:[{id:xx,lvl:xx},{id:xx,lvl:xx}]}
很明顯,這個(gè)NBT標(biāo)簽只有一個(gè)ench標(biāo)簽,這個(gè)標(biāo)簽的值類型是列表,而且是由多個(gè)復(fù)合標(biāo)簽組成的列表。而那些復(fù)合標(biāo)簽內(nèi)的兩個(gè)標(biāo)簽id和lvl的值類型是個(gè)整型數(shù)。
格式看懂了,但我們還不知道怎么用,如何用。其實(shí)用起來很簡單,如果你會(huì)一點(diǎn)英文的話那就更簡單了。
ench這個(gè)單詞,實(shí)則是英文單詞enchantment /?n't??ntm?nt/(魔咒)的縮寫,再聯(lián)系它的值是個(gè)列表,也就不難理解ench標(biāo)簽的作用:儲(chǔ)存物品的附魔信息。
在Minecraft中,一個(gè)魔咒一定擁有有兩個(gè)信息:魔咒ID和魔咒等級(jí)。對(duì)應(yīng)到上面的NBT中,每個(gè)魔咒就是列表內(nèi)的復(fù)合標(biāo)簽,魔咒ID就是復(fù)合標(biāo)簽內(nèi)的id標(biāo)簽,魔咒等級(jí)就是復(fù)合標(biāo)簽內(nèi)的lvl標(biāo)簽。
比如{ench:[{id:34,lvl:10},{id:16,lvl:8}]},在Java版就代表耐久X和鋒利ⅤIII兩個(gè)魔咒(注:Java版和基巖版的魔咒ID并不一樣,這里是Java版的魔咒ID)。也就是說,當(dāng)你運(yùn)行/give @s diamond 1 0 {ench:[{id:34,lvl:10},{id:16,lvl:8}]}時(shí),你會(huì)獲得一個(gè)附魔了耐久X和鋒利ⅤIII的鉆石。
標(biāo)簽lvl的值的上限是32767,這就是為什么32767級(jí)的附魔這么出名。
現(xiàn)在你會(huì)用了吧?但請(qǐng)注意,以上的所有內(nèi)容都是基于Java1.13更新前的版本和基巖版,在Java1.13更新后,情況就不一樣了。
在Java1.13更新后的版本中,自定義附魔的NBT變成了:
{Enchantments:[{id:“xx“,lvl:xx},{id:“xx“,lvl:xx}]}
不難發(fā)現(xiàn),附魔用的NBT標(biāo)簽有兩個(gè)大修改:
?、贅?biāo)簽ench的名稱變成了全稱Enchantment的復(fù)數(shù)Enchantments
?、跇?biāo)簽id的值類型變成了字符串,填的是魔咒的英文ID
除了這兩個(gè)顯而易見的大修改外,還有一個(gè)細(xì)微的小修改:
lvl的值類型從短整形(Short)變成了整形(Int)。
這是什么意思呢?簡單來說,就是lvl的值上限從32767提高到了2147483647!
沒錯(cuò),在Java1.13更新后,你可以附魔超過32767級(jí)的魔咒!可惜這么令人震驚的事情卻未能改變目前大多數(shù)玩家的潛意識(shí),很多玩家仍然認(rèn)為32767級(jí)就是最厲害的。
Java1.13更新過后,如果你要獲得一把2147483647級(jí)鋒利的劍,你就需要執(zhí)行:
/give @s diamond_sword{Enchantments:[{id:“sharpness“,lvl:2147483647}]}
注意,這條指令僅適用于Java1.13~1.17,這是為什么呢?
因?yàn)樵贘ava1.17.1,Mojang做了一個(gè)更改:lvl的值重新被改回Short短整型,且限定制值范圍到0~255之間。
也就是說,在目前的Java最新版本,自定義附魔等級(jí)的上限最高只能是255級(jí)!
這太糟糕了!但255級(jí)好像也完全夠用就是了。
本章到此為止。