首頁 游戲

Minecraft指令手冊(cè)

第一百二十七章 JSON剩下の一些東西

Minecraft指令手冊(cè) 你好MC 1106 2020-08-21 13:39:45

  我們知道,在JSON里,對(duì)象有分為父對(duì)象和子對(duì)象,第一個(gè)對(duì)象肯定是接下來的對(duì)象的父對(duì)象。

  只不過這種父對(duì)象子對(duì)象一般只會(huì)在[]這種JSON列表里才會(huì)遇到,{}里一般用不到。

  如果{}里也要分父對(duì)象和子對(duì)象呢?那就要使用“extra”元素了,這位元兄已經(jīng)在之前出過很多次場(chǎng)了。

  extra是這么用的:

  {“內(nèi)容元素“:“一些內(nèi)容“,“extra“:[{},{}......]}

  沒錯(cuò),使用extra,就可以在一個(gè)對(duì)象里再放入許許多多的對(duì)象。只不過這時(shí)候你可能會(huì)問:唉那extra里面的這些對(duì)象的父對(duì)象到底是哪個(gè)對(duì)象呢?

  很簡(jiǎn)單,我們可以拿JSON的列表說話:

  [““,{“內(nèi)容元素“:“一些內(nèi)容“,“extra“:[{},{}......]}]

  在這里,最外層的列表的父對(duì)象是第一個(gè),第二個(gè)帶extra的是子對(duì)象。

  子對(duì)象的孩子,也就是extra,都是子對(duì)象的子對(duì)象,也就是孫子對(duì)象。

  所以extra里面的對(duì)象全部都是孫子對(duì)象,而它們的父對(duì)象,就是extra本身元素所待的對(duì)象。

  懂了吧?所以一個(gè)對(duì)象里的extra里的所有對(duì)象,其格式會(huì)照搬extra本身所在的對(duì)象。

  只不過請(qǐng)注意一點(diǎn):在你打指令之前,請(qǐng)你先注意一下extra本身所在的對(duì)象有沒有內(nèi)容元素,extra本身并不是內(nèi)容元素!

  這就是extra的用法。

  但這并不代表本章結(jié)束了,你還記得第一百一十九章的這串指令嗎:

  /team modify 稱號(hào)生存帶師 prefix [{“text“:“[lv.“,“color“:“red“},{“score“:{“name“:“*“,“objective“:“等級(jí)“}},{“text“:“]“,“color“:“red“},{“text“:“[生存帶師]“,“color“:“red“}]

  如果你真的去試了,你就會(huì)發(fā)現(xiàn),實(shí)際上是這樣的:

  <[lv.][生存帶師]lbwnb>誰有鐵?。。?!我真的很缺鐵哎?。?!>

  這是怎么回事呢?

  因?yàn)閟core出錯(cuò)了。

  score顯示的分?jǐn)?shù)只能是一個(gè)玩家的,所以score的name目標(biāo)選擇器不可以選中多個(gè)目標(biāo),或者是指定名稱。

  但是我們上面使用了*,這到底是干啥的呢?

  你如果沒跳過第一百二十二章的話,你就應(yīng)該知道,*號(hào)的作用當(dāng)時(shí)作者描述的是:顯示自己的分?jǐn)?shù)。

  如果你語文比較好,注意力和觀察力都是中偏高的,你就會(huì)發(fā)現(xiàn)上面這段描述有些問題:

  顯示誰自己的分?jǐn)?shù)?

  肯定是顯示讀者自己的分?jǐn)?shù)。所以,*號(hào)并不能擁有多個(gè)讀者,這樣子它才不會(huì)邏輯混亂最后勞資不干了。

  這時(shí)候問題就來了:怎樣確定一個(gè)文本有沒有多個(gè)讀者呢?

  我們常用的tellraw,格式相信你也知道,是這樣的:

  /tellraw <目標(biāo)選擇器><JSON文本>

  在執(zhí)行指令的時(shí)候,我們的游戲會(huì)先執(zhí)行目標(biāo)選擇器,尋找符合的目標(biāo)。

  然后游戲會(huì)將JSON文本作為聊天消息分發(fā)給這些目標(biāo),然后再解析。這樣子每個(gè)目標(biāo)讀到的JSON文本實(shí)際上都是獨(dú)立的,自然就不會(huì)出現(xiàn)“一串文本有多個(gè)讀者”的情況。

  但如果是我們的隊(duì)伍前后綴呢?可以發(fā)現(xiàn)設(shè)置的時(shí)候是沒有目標(biāo)選擇器的,所以游戲并不會(huì)分發(fā),而是直接公示,結(jié)果這就導(dǎo)致一串JSON文本會(huì)有很多讀者,自然而然score就發(fā)揮不了作用了。

  嗯,JSON的內(nèi)容基本上就到這了,JSON的NBT我們放到下一卷講NBT時(shí)再來講。

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