第一百四十二章 矿车共通标签
我们知道,在Minecraft中,共通标签有这么几个:
实体共通标签
生物共同标签
物品共通标签
方块实体共通标签
但你们可能不知道,还有这么一个神奇的共通标签:
矿车共通标签
没错,矿车也有共同标签。可能是因为矿车的种类比较多吧。
——第一节:什么是矿车共通标签?
矿车共通标签,相信懂中文的都看得懂,就是矿车们的NBT中互通的标签。只不过“矿车共通标签”相对来说比较冷门,除了矿车本身比较冷门,还有一点是因为:
矿车共通标签内的标签都是非必填项!
这就导致了一点,就是该共通标签就算知道了也很少用到(毕竟谁会去研究一个没有盖子的铁盒子呢?)。
但有时候也是会用到的。
现在,就让我们康康这些标签到底是个什么东西。
——第二节:矿车共通标签的内容
内容准确的来说,只有三项:
CustomDisbr /layTile(Byte字节型:1 or 0[true|false]):选择是否展示矿车里我们搞出来的方块。1为展示。0为不展示。
Disbr /layState(复合):设置放在矿车里的方块。
Disbr /layOffset(Int整形):设置放在矿车里的方块其位置会偏移多少像素。为正数+时向上偏移,为负数-时向下偏移。由于MC中1方块边长都是16像素(一米),所以当值为16的倍数时会让方块正好移动一米。
CustomDisbr /layTile这就不用说了,因为上面已经讲得很清楚了。我们只需要举个例子:
假设这个矿车是一个TNT矿车。如果要该矿车里的TNT消失,就要设置该TNT矿车中的
{CustomDisbr /layTile:1}→{CustomDisbr /layTile:0}
+++++++++
Disbr /layState是一个复合标签,我们已经知道这是用于设置矿车里的方块的。
那该如何设置呢?
很简单,让我们康康其内容:
Name(字符串):该方块的方块id
Probr /erties(复合):非必填。该方块的方块状态。
嗯......这基本上和我们下落的方块是一样的。
Probr /erties不用说,以后再来研究。
Name就更不用说,直接举个例子:
/summon minecraft:minecart ~~~{CustomDisbr /layTile:1,Disbr /layState:{Name:“minecraft:diamond_block“}}
这样子,你就会获得一个里面放着钻石块的矿车!而且你还可以坐上去!
(只不过打掉好像并不会获得钻石块)
+++++++++
现在,我们只剩下了一个:Disbr /layOffset
Disbr /layOffset仍然很简单。直接上例子:
/summon minecraft:minecart ~~~{CustomDisbr /layTile:1,Disbr /layState:{Name:“minecraft:diamond_block“},Disbr /layOffset:32}
执行它,你将会获得一个上面飘着钻石块的矿车!
如果你坐上去,这个钻石块也会刚好顶在你的头上。
(把32改为-32会怎么样?)
——第三节:旧版本
如果你看过修改后的上一章,那你应该就看过在此章末尾的小剧场。在此小剧场中,王五、张三、刘一三人四处查找,最终找到了1.12.2版本下落的方块的正确使用方式。
在上面,我们发现Disbr /layState其内容和下落的方块BlockState标签基本相同。而下落的方块BlockState经过他们三人的探索后,发现其是在1.13扁平化时由Block和Data组成。
那么,既然Disbr /layState和BlockState这么像,那么......
在1.12.2版本使用/summon minecraft:minecart ~~~{CustomDisbr /layTile:1,Disbr /layState:{Name:“minecraft:diamond_block“}}会发生什么?
答案很简单,生成一个空空如也的矿车。
这到底是为什么呢?
答案已经很明确了:
Disbr /layState也是在JAVA1.13扁平化后由两个标签组合而成的。
那,这两个标签是什么呢?
∵Block+Data=BlockState
又∵BlockState=Disbr /layState
∴Block+Data=Disbr /layState
既然我们通过数学的思维得出来了答案,那就去试一试:
/summon minecraft:minecart ~~~{CustomDisbr /layTile:1,Block:“minecraft:diamond_block“}
执行该指令,我们会发现——————
又是一个空空如也的矿车!!!!!
很明显,数学思维在这里单枪匹马是不行的,我们得弄个帮手:
语言学
-What does “Disbr /layState“ mean in Chinese?
-It means “显示状态“
-What does “BlockState“ mean in Chinese?
-It means “方块状态“
一个是“显示状态”,一个是“方块状态”。它们的用途都是设置方块,但一个名字含“方块”,一个不含。
这就说明了什么?
“显示状态”其实是把方块省略了!其真正的全称是“显示方块状态”!
好!既然:
方块(Block)+Data=方块状态
那么:
显示方块(Disbr /layBlock)+Data=显示方块状态
按照结果,我们再来试下:
/summon minecraft:minecart ~~~{CustomDisbr /layTile:1,Disbr /layBlock:“minecraft:diamond_block“}
执行,你就会发现......
......
......
咋还是个空空如也的矿车!
......
......
CustomDisbr /layTile的作用是“是否显示方块”
如果我们把CustomDisbr /layTile和“是否显示方块”进行一个配对,那么:
Custom——是否
Disbr /lay——显示
Tile——方块
把“是否”去掉,就变成了:
Disbr /layTile(显示方块)
这和我们的Disbr /layBlock是一样的意思。
那么......使用Disbr /layTile代替Disbr /layBlock会发生什么?
/summon minecraft:minecart ~~~{CustomDisbr /layTile:1,Disbr /layTile:“minecraft:diamond_block“}
执行,你就会获得一个装着钻石块的矿车......
............!
!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
没错,我们成功了!
在扁平化中,是Disbr /layTile和Disbr /layData合并成了Disbr /layState!
Disbr /layTile(字符串):设置显示在矿车里的方块。
在更老的版本(大概是矿车ID还是MinecartRideable时。矿车id改为minecart时已经是1.11版本了,这个版本也是方块状态出现的版本),Disbr /layTile还支持方块数字id,比如/summon MinecartRideable ~~~{CustomDisbr /layTile:1,Disbr /layTile:1}就会生成一个载着石头的矿车。
在1.8版本以前,Disbr /layTile只支持方块数字id(因为1.8才更新了方块英文id)。
Disbr /layData(数值,值类型不知道):设置显示在矿车里的方块的数据值。
这就是1.13以前的矿车共通标签。
——第四节:结束
在结束的时候,我要说一些东西。
一.上一章的小剧场,张三、王五、刘一三人得出来了四个结论。其中:
Data在教程/下落的方块里并未提及,但应该是和Probr /erties一样,值为复合标签,代表该方块的方块状态。
其实是错误的。Data在Minecraft 1.11之前就出现了,而方块状态的加入时间是Minecraft 1.11,时间上根本不对。所以,Data实际作用其实和Disbr /layData一样,设置该下落的方块其方块的数据值。
二.Minecraft Wiki 中文中这样说道:
1.13——17w47a——重命名 FallingSand 到 falling_block.
实际上其重命名的时间是在1.11版本,和矿车被重命名的时间是一样的。
三.如果你使用浏览器的“检查”来打开矿车共通标签的页面(minecraft-zh.gamebr /edia.com/Tembr /late:Nbt_inherit/vehicle/tembr /late),再点开历史,你就会发现一个神奇的东西:
这个页面的最后修改时间是2016年10月23日07:56,而Minecraft Java 1.12更新时间是2017年6月7日,扁平化都还没有,这咋就开始Disbr /layState了?时光穿越?
OK,那么本章就到此结束了。