在Java版中,怎样制作出一个真正的浮空字?
这就要联系到Minecraft中有哪些东西可以产生浮空字了。
在本书第二章介绍命令方块时,有提到虽然命令方块可以产生浮空字,但你并不指望能拿这东西做浮空字。
因为以下两个原因:
1.浮空字是一直显示的,但是命令方块的浮空字只能在你指向那个命令方块时才能出现。
2.浮空字就是浮空字,没有显示出额外的东西。但是命令方块它本身就是一个方块,无法变成透明的(除非你用了材质包)。
那是否有其他方法?
当你给一个实体命名,然后指针指向这实体,就会看到实体的名字以浮空字的形式显示了出来。
但这个浮空字仍然不能拿来用,因为它只能在指针指向实体的时候才出现。
那么真的就没有办法了吗?
别忘记了,玩家也是实体,名字也是浮空的,但它就是不会消失。
这是为什么?
就是因为『CustomNameVisible』这个标签。
CustomNameVisible标签的数据类型是Byte字节型(整型中的一种),值是一个布尔值。当为0(false)的时候,这个实体的自定义名字就只能在你指向这个实体的时候出现;当为1(true)的时候,这个名字就会一直显示了!
所以说,只要生成一个CustomNameVisible为1的盔甲架,就可以制作浮空字了?比如:
/summon armor_stand ~~~{CustomNameVisible:1}
WOW,生成出来了一个头上悬浮着『盔甲架』的盔甲架!
没错!浮空字就是这么制作的!
但好像还少了些什么......如何自定义浮空字的内容呢?这个浮空字为什么会掉下来呢?盔甲架怎么隐藏呢?况且这个浮空字打几下就没了。
为了解决这三个问题,我们需要继续了解实体的通用NBT。
自定义浮空字内容很简单,我们有两种办法:
①使用命名牌给盔甲架命名
②使用NBT
实体NBT中的CustomName标签的数据类型是文本『String字符串』,用于储存这个实体的自定义名称。比如:
/summon armor_stand ~~~{CustomName:“ExplodingTNT“,CustomNameVisible:1}
\\适用于Java1.13以下版本\\
/summon armor_stand ~~~{CustomName:“\“ExplodingTNT\““,CustomNameVisible:1}
\\适用于Java1.13及以上版本\\
这就可以生成一个一直显示着『ExplodingTNT』的盔甲架。需要注意,对于Java1.13及以上版本来说,CustomName的值需要使用JSON文本。
防止浮空字掉下来很简单,把实体的『NoGravity』设置为1就行了嘛。
NoGravity标签的数据类型是Byte字节型,它控制着实体是否能够运动。如果为0(false),那么实体怎么奔放都可以。如果为1,那么Motion就会失效(虽然仍然在奔放),也就是这个实体它失去了速度。
用通俗易懂的语言来讲,就是组成这个实体的原子,已经完全没有了能量。我们由此可以得出一个结论:
一个NoGravity为1的实体,它的温度是绝对零度(滑稽)。
将这个实体的温度降到绝对零度之后,我们就要开始对它的防御动手,让它变成一个永远无法被生存、冒险玩家击败的实体(创造模式玩家除外)。
关系到这个实体是否无敌的标签是Invulnerable(数据类型也是Byte字节型)。一般的实体Invulnerable为0,如果设为1,那么你就别想不使用作弊并在生存模式中去击败它了。
现在,我们这个浮空字基本上是完工......等等,我们还没把盔甲架隐藏呢!
怎么使得一个实体隐藏呢?使用隐身药水吗?或是一个能够使得实体隐形的NBT?
最好是有一个实体通用NBT标签能够有让实体隐形的效果,可惜的是,并没有。
但这不代表盔甲架没有。让我们回忆一下第九十六章番外的内容:
『Invisible——如果指定这个标签的值为1,在指令执行成功后如果你发现盔甲架似乎并没有生成,并不是出了BUG,而是盔甲架处于隐形状态(浮空字就是用这东西做出来的)』
唉,这不就有了吗,让我们试一试:
/summon armor_stand ~~~{Invisible:1,Invulnerable:1,NoGravity:1,CustomName:“\“ExplodingTNT\““,CustomNameVisible:1}
本小章还未完,请点击下一页继续阅读后面精彩内容!
喜欢Minecraft指令手册请大家收藏:(m.zjsw.org)Minecraft指令手册爪机书屋更新速度全网最快。