首頁(yè) 游戲

Minecraft指令手冊(cè)

第一百四十二章 礦車(chē)共通標(biāo)簽

Minecraft指令手冊(cè) 你好MC 2010 2021-02-02 12:24:09

  我們知道,在Minecraft中,共通標(biāo)簽有這么幾個(gè):

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

  生物共同標(biāo)簽

  物品共通標(biāo)簽

  方塊實(shí)體共通標(biāo)簽

  但你們可能不知道,還有這么一個(gè)神奇的共通標(biāo)簽:

  礦車(chē)共通標(biāo)簽

  沒(méi)錯(cuò),礦車(chē)也有共同標(biāo)簽??赡苁且?yàn)榈V車(chē)的種類(lèi)比較多吧。

  ——第一節(jié):什么是礦車(chē)共通標(biāo)簽?

  礦車(chē)共通標(biāo)簽,相信懂中文的都看得懂,就是礦車(chē)們的NBT中互通的標(biāo)簽。只不過(guò)“礦車(chē)共通標(biāo)簽”相對(duì)來(lái)說(shuō)比較冷門(mén),除了礦車(chē)本身比較冷門(mén),還有一點(diǎn)是因?yàn)椋?p>  礦車(chē)共通標(biāo)簽內(nèi)的標(biāo)簽都是非必填項(xiàng)!

  這就導(dǎo)致了一點(diǎn),就是該共通標(biāo)簽就算知道了也很少用到(畢竟誰(shuí)會(huì)去研究一個(gè)沒(méi)有蓋子的鐵盒子呢?)。

  但有時(shí)候也是會(huì)用到的。

  現(xiàn)在,就讓我們康康這些標(biāo)簽到底是個(gè)什么東西。

  ——第二節(jié):礦車(chē)共通標(biāo)簽的內(nèi)容

  內(nèi)容準(zhǔn)確的來(lái)說(shuō),只有三項(xiàng):

  CustomDisplayTile(Byte字節(jié)型:1 or 0[true|false]):選擇是否展示礦車(chē)?yán)镂覀兏愠鰜?lái)的方塊。1為展示。0為不展示。

  DisplayState(復(fù)合):設(shè)置放在礦車(chē)?yán)锏姆綁K。

  DisplayOffset(Int整形):設(shè)置放在礦車(chē)?yán)锏姆綁K其位置會(huì)偏移多少像素。為正數(shù)+時(shí)向上偏移,為負(fù)數(shù)-時(shí)向下偏移。由于MC中1方塊邊長(zhǎng)都是16像素(一米),所以當(dāng)值為16的倍數(shù)時(shí)會(huì)讓方塊正好移動(dòng)一米。

  CustomDisplayTile這就不用說(shuō)了,因?yàn)樯厦嬉呀?jīng)講得很清楚了。我們只需要舉個(gè)例子:

  假設(shè)這個(gè)礦車(chē)是一個(gè)TNT礦車(chē)。如果要該礦車(chē)?yán)锏腡NT消失,就要設(shè)置該TNT礦車(chē)中的

  {CustomDisplayTile:1}→{CustomDisplayTile:0}

  +++++++++

  DisplayState是一個(gè)復(fù)合標(biāo)簽,我們已經(jīng)知道這是用于設(shè)置礦車(chē)?yán)锏姆綁K的。

  那該如何設(shè)置呢?

  很簡(jiǎn)單,讓我們康康其內(nèi)容:

  Name(字符串):該方塊的方塊id

  Properties(復(fù)合):非必填。該方塊的方塊狀態(tài)。

  嗯......這基本上和我們下落的方塊是一樣的。

  Properties不用說(shuō),以后再來(lái)研究。

  Name就更不用說(shuō),直接舉個(gè)例子:

  /summon minecraft:minecart ~~~{CustomDisplayTile:1,DisplayState:{Name:“minecraft:diamond_block“}}

  這樣子,你就會(huì)獲得一個(gè)里面放著鉆石塊的礦車(chē)!而且你還可以坐上去!

  (只不過(guò)打掉好像并不會(huì)獲得鉆石塊)

  +++++++++

  現(xiàn)在,我們只剩下了一個(gè):DisplayOffset

  DisplayOffset仍然很簡(jiǎn)單。直接上例子:

  /summon minecraft:minecart ~~~{CustomDisplayTile:1,DisplayState:{Name:“minecraft:diamond_block“},DisplayOffset:32}

  執(zhí)行它,你將會(huì)獲得一個(gè)上面飄著鉆石塊的礦車(chē)!

  如果你坐上去,這個(gè)鉆石塊也會(huì)剛好頂在你的頭上。

  (把32改為-32會(huì)怎么樣?)

  ——第三節(jié):舊版本

  如果你看過(guò)修改后的上一章,那你應(yīng)該就看過(guò)在此章末尾的小劇場(chǎng)。在此小劇場(chǎng)中,王五、張三、劉一三人四處查找,最終找到了1.12.2版本下落的方塊的正確使用方式。

  在上面,我們發(fā)現(xiàn)DisplayState其內(nèi)容和下落的方塊BlockState標(biāo)簽基本相同。而下落的方塊BlockState經(jīng)過(guò)他們?nèi)说奶剿骱?,發(fā)現(xiàn)其是在1.13扁平化時(shí)由Block和Data組成。

  那么,既然DisplayState和BlockState這么像,那么......

  在1.12.2版本使用/summon minecraft:minecart ~~~{CustomDisplayTile:1,DisplayState:{Name:“minecraft:diamond_block“}}會(huì)發(fā)生什么?

  答案很簡(jiǎn)單,生成一個(gè)空空如也的礦車(chē)。

  這到底是為什么呢?

  答案已經(jīng)很明確了:

  DisplayState也是在JAVA1.13扁平化后由兩個(gè)標(biāo)簽組合而成的。

  那,這兩個(gè)標(biāo)簽是什么呢?

  ∵Block+Data=BlockState

  又∵BlockState=DisplayState

  ∴Block+Data=DisplayState

  既然我們通過(guò)數(shù)學(xué)的思維得出來(lái)了答案,那就去試一試:

  /summon minecraft:minecart ~~~{CustomDisplayTile:1,Block:“minecraft:diamond_block“}

  執(zhí)行該指令,我們會(huì)發(fā)現(xiàn)——————

  又是一個(gè)空空如也的礦車(chē)!?。。?!

  很明顯,數(shù)學(xué)思維在這里單槍匹馬是不行的,我們得弄個(gè)幫手:

  語(yǔ)言學(xué)

  -What does “DisplayState“ mean in Chinese?

  -It means “顯示狀態(tài)“

  -What does “BlockState“ mean in Chinese?

  -It means “方塊狀態(tài)“

  一個(gè)是“顯示狀態(tài)”,一個(gè)是“方塊狀態(tài)”。它們的用途都是設(shè)置方塊,但一個(gè)名字含“方塊”,一個(gè)不含。

  這就說(shuō)明了什么?

  “顯示狀態(tài)”其實(shí)是把方塊省略了!其真正的全稱是“顯示方塊狀態(tài)”!

  好!既然:

  方塊(Block)+Data=方塊狀態(tài)

  那么:

  顯示方塊(DisplayBlock)+Data=顯示方塊狀態(tài)

  按照結(jié)果,我們?cè)賮?lái)試下:

  /summon minecraft:minecart ~~~{CustomDisplayTile:1,DisplayBlock:“minecraft:diamond_block“}

  執(zhí)行,你就會(huì)發(fā)現(xiàn)......

  ......

  ......

  咋還是個(gè)空空如也的礦車(chē)!

  ......

  ......

  CustomDisplayTile的作用是“是否顯示方塊”

  如果我們把CustomDisplayTile和“是否顯示方塊”進(jìn)行一個(gè)配對(duì),那么:

  Custom——是否

  Display——顯示

  Tile——方塊

  把“是否”去掉,就變成了:

  DisplayTile(顯示方塊)

  這和我們的DisplayBlock是一樣的意思。

  那么......使用DisplayTile代替DisplayBlock會(huì)發(fā)生什么?

  /summon minecraft:minecart ~~~{CustomDisplayTile:1,DisplayTile:“minecraft:diamond_block“}

  執(zhí)行,你就會(huì)獲得一個(gè)裝著鉆石塊的礦車(chē)......

  ............!

  !!!!!!!!!!

  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  沒(méi)錯(cuò),我們成功了!

  在扁平化中,是DisplayTile和DisplayData合并成了DisplayState!

  DisplayTile(字符串):設(shè)置顯示在礦車(chē)?yán)锏姆綁K。

  在更老的版本(大概是礦車(chē)ID還是MinecartRideable時(shí)。礦車(chē)id改為minecart時(shí)已經(jīng)是1.11版本了,這個(gè)版本也是方塊狀態(tài)出現(xiàn)的版本),DisplayTile還支持方塊數(shù)字id,比如/summon MinecartRideable ~~~{CustomDisplayTile:1,DisplayTile:1}就會(huì)生成一個(gè)載著石頭的礦車(chē)。

  在1.8版本以前,DisplayTile只支持方塊數(shù)字id(因?yàn)?.8才更新了方塊英文id)。

  DisplayData(數(shù)值,值類(lèi)型不知道):設(shè)置顯示在礦車(chē)?yán)锏姆綁K的數(shù)據(jù)值。

  這就是1.13以前的礦車(chē)共通標(biāo)簽。

  ——第四節(jié):結(jié)束

  在結(jié)束的時(shí)候,我要說(shuō)一些東西。

  一.上一章的小劇場(chǎng),張三、王五、劉一三人得出來(lái)了四個(gè)結(jié)論。其中:

  Data在教程/下落的方塊里并未提及,但應(yīng)該是和Properties一樣,值為復(fù)合標(biāo)簽,代表該方塊的方塊狀態(tài)。

  其實(shí)是錯(cuò)誤的。Data在Minecraft 1.11之前就出現(xiàn)了,而方塊狀態(tài)的加入時(shí)間是Minecraft 1.11,時(shí)間上根本不對(duì)。所以,Data實(shí)際作用其實(shí)和DisplayData一樣,設(shè)置該下落的方塊其方塊的數(shù)據(jù)值。

  二.Minecraft Wiki 中文中這樣說(shuō)道:

  1.13——17w47a——重命名 FallingSand 到 falling_block.

  實(shí)際上其重命名的時(shí)間是在1.11版本,和礦車(chē)被重命名的時(shí)間是一樣的。

  三.如果你使用瀏覽器的“檢查”來(lái)打開(kāi)礦車(chē)共通標(biāo)簽的頁(yè)面(minecraft-zh.gamepedia.com/Template:Nbt_inherit/vehicle/template),再點(diǎn)開(kāi)歷史,你就會(huì)發(fā)現(xiàn)一個(gè)神奇的東西:

  這個(gè)頁(yè)面的最后修改時(shí)間是2016年10月23日07:56,而Minecraft Java 1.12更新時(shí)間是2017年6月7日,扁平化都還沒(méi)有,這咋就開(kāi)始DisplayState了?時(shí)光穿越?

  OK,那么本章就到此結(jié)束了。

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