首页 男生 游戏竞技 Minecraft指令手册

第一百一十三章 实体的通用标签 下

Minecraft指令手册 你好MC 2991 2024-07-09 15:29

  在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:“Exbr /lodingTNT“,CustomNameVisible:1}

  \\适用于Java1.13以下版本\\

  /summon armor_stand ~~~{CustomName:“\“Exbr /lodingTNT\““,CustomNameVisible:1}

  \\适用于Java1.13及以上版本\\

  这就可以生成一个一直显示着『Exbr /lodingTNT』的盔甲架。需要注意,对于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:“\“Exbr /lodingTNT\““,CustomNameVisible:1}

  \\适用于Java1.13及以上版本\\

  这会召唤一个『隐形的、无敌的、不会移动的、叫做「Exbr /lodingTNT」的、一直显示实体名称的』盔甲架。没错!这就是浮空字!

  现在这个浮空字已经真正浮空了。如果你有兴趣去看它的NBT,就会发现其中有一个OnGround标签,其值为0b。

  这个标签是干啥的呢?就是用来检测实体有没有接触地面,接触了为1(true),没接触为0(false)。

  到这实体的通用标签已经快完了,只剩下一点点:

  Silent——这个实体是否会发出声音

  Glowing——这个实体会不会发光

  Tags——实体的记分板标签数据

  HasVisualFire——实体是否看起来处于着火状态

  Silent标签的数据类型为Byte字节型,值为1则实体不会发出声音,为0则会发出声音。

  Glowing标签数据类型也是Byte字节型,但它的作用看起来有点奇怪——实体会发光?

  如果你不是一位JVAV玩家,那你一定知道Minecraft有一个叫作『光灵箭』的东西。当光灵箭射中一个实体时,那个实体就会发光一阵,而且隔着墙壁都可以看到。

  实体为什么会发光呢?除了实体被附上了『发光』效果之外,就是这个Glowing标签在起作用。当Glowing标签为1时,实体就会发光,为0则不会。

  HasVisualFire标签的数据类型也是Byte字节型,值为布尔值。当它的值为1时,实体就会“燃起来”,但不会真的受到伤害。

  Tags标签的数据类型为文本列表(String字符串列表),用来储存该实体所拥有的记分板标签。比如:

  /summon armor_stand ~~~{Tags:[“A“,“B“]}

  这将会生成一个带有标签『A』和『B』的盔甲架。

  本章到此为止。

目录
设置
手机
书架
书页
评论