亲,欢迎光临小说旗!
错缺断章、加书:站内短信
后台有人,会尽快回复!
  • 主题模式:

  • 字体大小:

    -

    18

    +
  • 恢复默认

我们知道,在minecraft中,共通标签有这么几个:

实体共通标签

生物共同标签

物品共通标签

方块实体共通标签

但你们可能不知道,还有这么一个神奇的共通标签:

矿车共通标签

没错,矿车也有共同标签。可能是因为矿车的种类比较多吧。

——第一节:什么是矿车共通标签?

矿车共通标签,相信懂中文的都看得懂,就是矿车们的Nbt中互通的标签。只不过“矿车共通标签”相对来说比较冷门,除了矿车本身比较冷门,还有一点是因为:

矿车共通标签内的标签都是非必填项!

这就导致了一点,就是该共通标签就算知道了也很少用到(毕竟谁会去研究一个没有盖子的铁盒子呢?)。

但有时候也是会用到的。

现在,就让我们康康这些标签到底是个什么东西。

——第二节:矿车共通标签的内容

内容准确的来说,只有三项:

customdisplaytile(byte字节型:1 or 0[true|false]):选择是否展示矿车里我们搞出来的方块。1为展示。0为不展示。

displayState(复合):设置放在矿车里的方块。

displayoffset(Int整形):设置放在矿车里的方块其位置会偏移多少像素。为正数+时向上偏移,为负数-时向下偏移。由于mc中1方块边长都是16像素(一米),所以当值为16的倍数时会让方块正好移动一米。

customdisplaytile这就不用说了,因为上面已经讲得很清楚了。我们只需要举个例子:

假设这个矿车是一个tNt矿车。如果要该矿车里的tNt消失,就要设置该tNt矿车中的

{customdisplaytile:1}→{customdisplaytile:0}

+++++++++

displayState是一个复合标签,我们已经知道这是用于设置矿车里的方块的。

那该如何设置呢?

很简单,让我们康康其内容:

Name(字符串):该方块的方块id

properties(复合):非必填。该方块的方块状态。

嗯......这基本上和我们下落的方块是一样的。

properties不用说,以后再来研究。

Name就更不用说,直接举个例子:

\/summon minecraft:minecart ~~~{customdisplaytile:1,displayState:{Name:“minecraft:diamond_block“}}

这样子,你就会获得一个里面放着钻石块的矿车!而且你还可以坐上去!

(只不过打掉好像并不会获得钻石块)

+++++++++

现在,我们只剩下了一个:displayoffset

displayoffset仍然很简单。直接上例子:

\/summon minecraft:minecart ~~~{customdisplaytile:1,displayState:{Name:“minecraft:diamond_block“},displayoffset:32}

执行它,你将会获得一个上面飘着钻石块的矿车!

如果你坐上去,这个钻石块也会刚好顶在你的头上。

(把32改为-32会怎么样?)

——第三节:旧版本

如果你看过修改后的上一章,那你应该就看过在此章末尾的小剧场。在此小剧场中,王五、张三、刘一三人四处查找,最终找到了1.12.2版本下落的方块的正确使用方式。

在上面,我们发现displayState其内容和下落的方块blockState标签基本相同。而下落的方块blockState经过他们三人的探索后,发现其是在1.13扁平化时由block和data组成。

那么,既然displayState和blockState这么像,那么......

在1.12.2版本使用\/summon minecraft:minecart ~~~{customdisplaytile:1,displayState:{Name:“minecraft:diamond_block“}}会发生什么?

答案很简单,生成一个空空如也的矿车。

这到底是为什么呢?

答案已经很明确了:

displayState也是在JAVA1.13扁平化后由两个标签组合而成的。

那,这两个标签是什么呢?

∵block+data=blockState

又∵blockState=displayState

∴block+data=displayState

既然我们通过数学的思维得出来了答案,那就去试一试:

\/summon minecraft:minecart ~~~{customdisplaytile:1,block:“minecraft:diamond_block“}

执行该指令,我们会发现——————

又是一个空空如也的矿车!!!!!

很明显,数学思维在这里单枪匹马是不行的,我们得弄个帮手:

语言学

-what does “displayState“ mean in chinese?

-It means “显示状态“

-what does “blockState“ mean in chinese?

-It means “方块状态“

一个是“显示状态”,一个是“方块状态”。它们的用途都是设置方块,但一个名字含“方块”,一个不含。

这就说明了什么?

“显示状态”其实是把方块省略了!其真正的全称是“显示方块状态”!

好!既然:

方块(block)+data=方块状态

那么:

显示方块(displayblock)+data=显示方块状态

按照结果,我们再来试下:

\/summon minecraft:minecart ~~~{customdisplaytile:1,displayblock:“minecraft:diamond_block“}

执行,你就会发现......

......

......

咋还是个空空如也的矿车!

......

......

customdisplaytile的作用是“是否显示方块”

如果我们把customdisplaytile和“是否显示方块”进行一个配对,那么:

custom——是否

display——显示

tile——方块

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

displaytile(显示方块)

这和我们的displayblock是一样的意思。

那么......使用displaytile代替displayblock会发生什么?

\/summon minecraft:minecart ~~~{customdisplaytile:1,displaytile:“minecraft:diamond_block“}

执行,你就会获得一个装着钻石块的矿车......

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

!!!!!!!!!!

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

没错,我们成功了!

在扁平化中,是displaytile和displaydata合并成了displayState!

displaytile(字符串):设置显示在矿车里的方块。

在更老的版本(大概是矿车Id还是minecartRideable时。矿车id改为minecart时已经是1.11版本了,这个版本也是方块状态出现的版本),displaytile还支持方块数字id,比如\/summon minecartRideable ~~~{customdisplaytile:1,displaytile:1}就会生成一个载着石头的矿车。

在1.8版本以前,displaytile只支持方块数字id(因为1.8才更新了方块英文id)。

displaydata(数值,值类型不知道):设置显示在矿车里的方块的数据值。

这就是1.13以前的矿车共通标签。

——第四节:结束

在结束的时候,我要说一些东西。

一.上一章的小剧场,张三、王五、刘一三人得出来了四个结论。其中:

data在教程\/下落的方块里并未提及,但应该是和properties一样,值为复合标签,代表该方块的方块状态。

其实是错误的。data在minecraft 1.11之前就出现了,而方块状态的加入时间是minecraft 1.11,时间上根本不对。所以,data实际作用其实和displaydata一样,设置该下落的方块其方块的数据值。

二.minecraft wiki 中文中这样说道:

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

实际上其重命名的时间是在1.11版本,和矿车被重命名的时间是一样的。

三.如果你使用浏览器的“检查”来打开矿车共通标签的页面(minecraft-zh.gamepedia.\/template:Nbt_inherit\/vehicle\/template),再点开历史,你就会发现一个神奇的东西:

这个页面的最后修改时间是2016年10月23日07:56,而minecraft Java 1.12更新时间是2017年6月7日,扁平化都还没有,这咋就开始displayState了?时光穿越?

oK,那么本章就到此结束了。