首頁 游戲

Minecraft指令手冊

第一百章 開啟NBT時(shí)代(來,開杯香檳酒慶祝一下,100章了)

Minecraft指令手冊 你好MC 1263 2020-04-25 21:35:31

 ?。ù苏鹿?jié)已于2022年8月4日重寫)

  首先,在正文開始前,我們先慶祝一下本書寫到了100章。

  好巧不巧,第一百章正好正式開講NBT。

  但估計(jì)NBT也要講100章了.......

  當(dāng)然,開杯香檳酒慶祝一下那是必須的。

  沒香檳酒怎么辦?拿雪碧也可以。

  那么,正文開始!

  ——————————————

  在第五十四章中,我們初步了解了NBT(Named Binary Tag),搞懂了SNBT的格式。在接下來的章節(jié)中,我們將會(huì)依次了解物品、實(shí)體和方塊的NBT,并更加深入地研究NBT的數(shù)據(jù)類型,以及搞懂如何將NBT用于指令的方方面面。

  在本卷的前面部分,我們會(huì)重點(diǎn)了解物品的NBT。雖然NBT僅僅只能在Java版中使用,但我們也會(huì)接觸到一些基巖版的類似內(nèi)容(如物品的JSON組件),所以基巖版玩家也可以來看看。

  本卷的后面部分將會(huì)開始接觸實(shí)體的NBT,實(shí)體NBT的相關(guān)內(nèi)容起碼要到第十七卷才能結(jié)束。但其實(shí)你并不需要每章都看,因?yàn)樽髡叨际歉鶕?jù)Minecraft Wiki上列出的那些『通用標(biāo)簽』來選擇講哪些NBT的,對于一些冷門的通用標(biāo)簽?zāi)愦罂刹槐亓私猓鹊秸嬲枰獣r(shí)再看也不遲。

  第十二卷我們會(huì)暫時(shí)休息一下,然后開始深入學(xué)習(xí)JSON文本。第十五卷我們還會(huì)詳細(xì)了解F3調(diào)試界面(所以這跟指令有何關(guān)系)。也就是說,盡管接下來有很多章節(jié),但其實(shí)NBT的內(nèi)容的占比不到一半。

  等等,什么是『通用標(biāo)簽』?

  在Minecraft中,難免會(huì)有一些類似的生物,比如僵尸和尸殼。但它們又是不同的實(shí)體。如果它們的NBT標(biāo)簽也不同的話,那么寫指令的以及做開發(fā)的都很頭疼。『通用標(biāo)簽』因此誕生。

  『通用標(biāo)簽』,正如其名,是指多個(gè)不同種類的東西帶有的相同名稱和功能的標(biāo)簽。比如『實(shí)體通用標(biāo)簽』,就是指幾乎每個(gè)實(shí)體都具有的標(biāo)簽。通用標(biāo)簽可以方便Mojang官方和模組開發(fā)者開發(fā)新的東西,也可以方便CBer們(CBer,Command Blocker,玩命令方塊的玩家,也就是指令玩家)使用NBT。我們會(huì)在接下來的章節(jié)中,詳細(xì)了解各種『通用標(biāo)簽』。

  雖然通用標(biāo)簽有很多種,但常用的也不過以下幾個(gè):

 ?、傥锲吠ㄓ脴?biāo)簽(最好把這個(gè)標(biāo)簽背下來)

  ②實(shí)體通用標(biāo)簽

 ?、鄯綁K實(shí)體通用標(biāo)簽

  ④生物通用標(biāo)簽

  只要你能搞懂這四個(gè)通用標(biāo)簽,那你的NBT基本上就過關(guān)了。至于什么『箭通用標(biāo)簽』、『火球通用標(biāo)簽』等等冷門的標(biāo)簽,除非你需要使用到它們,否則一般不需要學(xué)習(xí)它們的用法。這就是為什么你可以跳著看的原因。

  在正式開始NBT的學(xué)習(xí)過程前,我們得詳細(xì)了解Minecraft Java的一次重大更新:

  JAVA1.13扁平化

  我們都知道,Java1.13版本是『水域更新』,加入了珊瑚、溺尸等等新奇的東西。但Java1.13也是一個(gè)分水嶺,在此次更新中,Miencraft Java的基礎(chǔ)源代碼被大量重寫,導(dǎo)致許多模組被迫停留在1.12.2版本,甚至棄坑。但這次重寫也促進(jìn)了新時(shí)代模組的產(chǎn)生,涌現(xiàn)出了基于原版的數(shù)據(jù)包、Fabric、Rift等新時(shí)代的模組,使得Minecraft進(jìn)入了一個(gè)全新的時(shí)代。

  在指令方面,Java1.13的更新內(nèi)容也不容忽視。Java1.13扁平化對許多指令以及指令的相關(guān)內(nèi)容作出了很多重大改變,比如先前我們遇到的execute指令,就是一個(gè)鮮明的例子。

  在扁平化中,首當(dāng)其沖的就是數(shù)據(jù)值的消失。由于數(shù)據(jù)值的消失,很多id都被拆分了。比如『灰色床』,它在1.12.2是被統(tǒng)一到『床』(bed)里,作為數(shù)據(jù)值為7的床。而在扁平化后,『床』被拆分,『灰色床』就有了自己的id:gray_bed。當(dāng)然,還有少數(shù)id被合并。比如Java1.12.2的『水』(water)和『流動(dòng)的水』(flowing_water),合并之后(1.13)統(tǒng)一成了:水(water)。

  也有些并沒有被拆分或者是合并,而是被『重命名』了,比如『甘蔗』在Java1.12.2的id是『reeds』,到了1.13就變成了『sugar_cane』;巖漿塊在1.12.2叫做『magma』,扁平化之后就變成了『magma_block』。

  不只是這些方塊、物品的id被改變,實(shí)體的id也被改變了,只不過比較少,可以全列出來:

  經(jīng)驗(yàn)球

  1.12.2——xp_orb

  1.13——experience_orb

  附魔之瓶

  1.12.2——xp_bottle

  1.13——experience_bottle

  末影之眼

  1.12.2——eye_of_ender_signal

  1.13——eye_of_ender

  末影水晶

  1.12.2——ender_crystal

  1.13——end_crystal

  煙花火箭

  1.12.2——fireworks_rocket

  1.13——firework_rocket

  命令方塊礦車

  1.12.2——commandblock_minecart

  1.13——command_block_minecart

  雪傀儡

  1.12.2——snowman

  1.13——snow_golem

  鐵傀儡

  1.12.2——villager_golem

  1.13——iron_golem

  喚魔者尖牙

  1.12.2——evocation_fangs

  1.13——evoker_fangs

  喚魔者

  1.12.2——evocation_illager

  1.13——evoker

  衛(wèi)道士

  1.12.2——vindication_illager

  1.13——vindicator

  幻術(shù)師

  1.12.2——illusion_illager

  1.13——illusioner

  除了方塊、實(shí)體、物品的命名空間ID被改變,就連生物群系(這是幾乎都被重命名了)、粒子、聲音、畫、名字(這個(gè)并不是指id,而是它們顯示出來的名字)很多也被改變,具體情況可以自己上Minecraft Wiki查閱。其中,畫、粒子的id也有了命名空間(minecraft:)。而方塊狀態(tài)這個(gè)我們還不怎么了解的東西也做了大量的改變。

  記分板準(zhǔn)則也有了命名空間,比如『擊殺生物』這個(gè)準(zhǔn)則:

  1.12——stat.killEntity.<實(shí)體ID>

  1.13——minecraft.killed:namespace.<實(shí)體ID>

  并且在1.13更新后,這個(gè)準(zhǔn)則和另外一個(gè)準(zhǔn)則(被實(shí)體擊殺)所選擇的實(shí)體其范圍也不止能用刷怪蛋生成的實(shí)體,而是所有實(shí)體都可以用。

  NBT也有很大的改變,比如『物品通用標(biāo)簽』中的Damage標(biāo)簽,在1.12.2中的作用是存儲(chǔ)物品的數(shù)據(jù)值,而到了1.13就被調(diào)到了tag標(biāo)簽下,成為了『物品的損壞值』(具體見第一百零三章)。

  命令的改變,大部分就是類似于/give的改變——數(shù)據(jù)值、方塊狀態(tài)和NBT與命名空間id參數(shù)的合并。受到這種影響的指令有:

  /clear

  /clone

  /fill

  /give

  /replaceitem

  /setblock

  還有一些其他的小改變,本書就不列出了,想看的話就到Minecraft Wiki上自己去查『扁平化』。

  

  

  

  

  

  

  夕陽的光輝消失在遠(yuǎn)方的地平線上,銀白色的方月自東方緩緩升起。一位鉆套玩家疾跑在樺木林中,他手上的火把如同暗淡的星光點(diǎn)亮了前進(jìn)的道路。朝前望去,在無數(shù)灰白方柱的掩映下,一座由橡木制成的房子緩緩出現(xiàn),房子上的火把似乎有著無窮的魔力,吸引著這名玩家不斷靠近。

  咔嚓一聲,房子的橡木門被打開。房子內(nèi)也有一位戴著鉆套的玩家。聽到房門打開的聲音,他的目光從工作臺(tái)上移開,看向了那位從遙遠(yuǎn)的主城跑過來的玩家——張三。

  那位叫做張三的玩家率先發(fā)了一條消息:『嘿李四,你知道嗎,我搞到了腐竹箱子里的一把2147483647級鋒利的下界合金劍!我們要發(fā)財(cái)了!』

  『???』

  『你怎么偷的?那里可是有出生點(diǎn)保護(hù)的??!』

  『額這個(gè)其實(shí)并不是我偷的,是一個(gè)管理員偷的。告訴你,這把劍可是我花了100多大洋弄到的』

  『那還等什么???趕緊趁服務(wù)器沒其他人去刷??!』

  『你確定這把劍附魔的是2147483647級的鋒利?』一位叫做王五的玩家插嘴到。

  『千真萬確』張三把那把劍丟了出來。

  『?』

  『老子昨天聽別人說這附魔等級最高也才32767???這腐竹是開掛了嗎?!』

  『好像腐竹開掛挺正常的啊』李四打趣到。

  『等等』張三不知為何突然緊張了起來,撿起了那把劍。

  『剛剛腐竹在群里說要上線!趕緊撤!』

  →張三退出了游戲

  →王五退出了游戲

  →李四推出了游戲

  ......

  →[超級管理]一只可愛的貓加入了游戲

  →[服主]某某不是女裝大佬加入了游戲

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動(dòng)
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南