前面我们了解到,记分板的作用除了承载各个计分项,还有队伍功能。实际上,记分板不止是有这两个功能,它还有一个重要的功能:标签功能(tag)。
什么是标签?你在各大视频平台上发视频时,可以为视频添加标签,让大数据帮你把视频推给感兴趣的人看;你开启了各大网盘的相册备份功能,网盘备份好图片后还顺带帮你给各个图片和视频添加了标签以归类;你由于做错一件事情,被你的亲朋好友贴上一个不好的标签,这让你短期内不想见人......可以说,不管在现实中还是在网络上,标签都是随处可见并且极其有用的东西。
在minecraft中,标签的作用也和上述说的其他情况相差不是很大。你可以通过给实体添加各种标签来对实体进行分类。比如你要做一个小游戏,玩家可以选择不同职业。那么你就可以在一名玩家选定职业后,给该玩家一个该职业特有的标签,方便后面进行游戏时调用。
说了这么多,那么标签该如何使用呢?
相较于其他记分板的功能,标签的使用极其简单。在Java1.12.2版本之前,标签的功能藏在scoreboard命令中players子命令下的tag子命令,其格式如下:
scoreboardplayerstag...
...add[Nbt]——给选定的目标添加一个标签
...list——列出选定的目标所携带的标签
...remove[Nbt]——删除选定的目标所携带的指定标签
(注:上面的目标选择器可以使用*来代指所有正在被记分板追踪的目标)
在Java1.13更新之后和基岩版中,标签功能有一个独立的指令:tag。tag的格式和原本藏在players子命令下的tag差不多:
tagadd——给选定的目标添加一个标签
tagremove——列出选定的目标所携带的标签
taglist——删除选定的目标所携带的指定标签
(注:上面的三个目标选择器也可以使用*来代指所有正在被记分板追踪的目标)
是不是很简单?一个标签实际上就由一个标签名组成,存储在实体或玩家的Nbt数据中。
但是简单归简单,还是要稍微讲一下的。
我们先尝试给自己上一个标签:
tag@sadda_tag(适用于Java1.13更新之后和基岩版)
scoreboardplayerstag@sadda_tag(适用于Java1.13更新前)
需要注意,在Java版中,标签名称必须遵循以下规则:
1只能由数字、字母、+、-和.组成
2不能有空格
在基岩版中,标签名称比较开放,但仍然有以下规则:
1可以由任意字符组成
2可以有空格。但有空格的标签必须使用英文半角引号包裹起来。比如:“atag“。
现在我们自己有一个标签了。我们可以通过scoreboardplayerstag@slist或tag@slist来列出我们身上的所有标签,也可以通过scoreboardplayerstag@sremovea_tag或tag@sremovea_tag来删除该标签。
现在你知道如何使用标签了吧?当然,标签功能要发挥真正作用还需要目标选择器的配合。需要注意,在Java版中,单个实体最高能有1024个标签,基岩版则无限制。
所以,下一章我们将学习目标选择器中的记分板功能!
历史:
Java
1.9——加入了tag标签功能
1.13——移除了scoreboardplayerstag,以tag指令替代。
基岩版
1.9.0——加入了tag和tag标签功能
请勿开启浏览器阅读模式,否则将导致章节内容缺失及无法阅读下一章。
相邻推荐:仙侠世界的科技怪咖 重生之我的逆转人生 蛇王烙印:逆天蛇宝宝 三国大逃杀 人类是植物圈养的食物 花朝白帝尽歌弦 盛世遗孤 剧版余生,请多指教续写 古武都市 赛博朋克2077里的BGM大师 渣女她把游戏撩崩了 穿书末世:带着一家老幼艰难求生 我升级了一个武侠世界 找寻满月 余你良辰 明月冷剑心 等我我的少年 拥有微型黑洞的人生 明贵妃,升妃记 星际之悠然耀星辰