天才一秒记住【第一中文网】地址:www.dyzww.cc
就可以被原版的弓和弩射出去;你可以给你自己的食物添加上fox_food标签,这个食物就可以被喂食给狐狸......
但官方的格局可不止仅仅限制在物品中,让我们把格局打开一点,你就会发现官方让minecraft中的其他东西也能够用上标签来使得其他东西也能够通用。这些『其他东西』一共有十四类,加上物品就十五类了,包括:方块、实体、流体、游戏事件、物品、猫、生物群系、超平坦模式生成器配置、结构、世界预设、画种类、旗帜图案、乐器、兴趣点和函数。
标签在这些其他东西上的运作方式也一样:具有同一个标签的东西,就可以具有同样的功能或性质。
比如拥有frog_food标签的实体,就会被青蛙当成食物来吃;拥有lava标签的流体,就会具有岩浆的功能;拥有tick标签的函数,会在每游戏刻开始时运行;拥有village标签的结构,会像村庄一样生成......
讲了那么多,那这跟指令有什么关系呢?
回到最开始的那句话:『记分板、Nbt和标签可以很好的解决这个问题。但在了解这三个东西之前,我们暂且没有除多弄命令方块以外的更好的办法。』
这个问题是什么?就是你怎样才能在目标选择器中一次性选取多个类型的实体。
在基岩版我们可以通过family参数来选择,但在Java版呢?
mojang在minecraft Java1.14中开始为实体添加标签,这就代表着我们在minecraft Java1.14及以上版本可以通过标签来对实体进行选择。
怎么选择呢?在目标选择器的type参数中,使用『#+命名空间+标签名称』即可。
比如要选中所有骷髅类型的实体,你只需要:
@e[type=#minecraft:skeletons]
这样子就可以选择包括骷髅、凋零骷髅等骷髅类的实体。
而且由于一个实体可以具有多个标签,所以你可以使用多个type参数指定多个标签来筛选。
比如@e[type=#minecraft:skeletons,type=#minecraft:freeze_immune_entity_types],这就可以选择同时具有freeze_immune_entity_types和skeletons标签的实体,即流浪者。
你还可以在#前面加上!来实现『不选择具有指定标签实体』的功能。比如@e[type=#minecraft:skeletons,type=!#minecraft:freeze_immune_entity_types],这就将会排除流浪者,只会选择普通骷髅和凋零骷髅。
只不过和family参数一样,目前mojang给原版实体添加的标签还太少了。但别担心,因为你不仅仅可以使用实体的标签,你还可以使用函数、方块和物品的标签。
比如在指令clear中,你就可以这样子:
\/clear @a #minecraft:buttons
这将会清除所有玩家背包中的按钮,不管是什么按钮都行。
也比如在指令execute中,你就可以这样子:
\/execute at @a if block ~~-1 ~#minecraft:snow run kill @s
这将会使得所有脚下踩着雪的玩家死亡,不管这个雪是顶层雪还是雪块还是什么其他类型的雪。
(这个execute指令的语法是第八卷,
本章未完,请点击下一章继续阅读!若浏览器显示没有新章节了,请尝试点击右上角↗️或右下角↘️的菜单,退出阅读模式即可,谢谢!