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

第四十六章 team——管理队伍和成员

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

  前面我们了解到,记分板的作用就是承载各个计分项。实际上,记分板的作用不止于此,在Minecraft:Java版中(严格来说是Minecraft:Java 1.13之前的版本)中,记分板还有一个极其重要的功能:游戏队伍(team)。

  你是不是对记分板有“游戏队伍”这个功能感到不可思议?Mojang也是这样想的,于是在Minecraft Java1.13扁平化中将这个功能从记分板中独立了出来,成了一套基本上独立的系统。

  说了这么多,那么我们该如何使用这个功能呢?

  其实不难。在Minecraft:Java1.13版本之前,该功能是内置在scoreboard指令中的,即teams子命令。通过team,我们可以:add(添加)、remove(删除)、list(列出)、join(加入)、embr /ty(清除)、leave(离开)以及obr /tion(设置)。它的具体格式是:

  /scoreboard teams ...

  \\队伍管理\\

  ... add <队伍名称>[队伍显示名称]——添加队伍。

  ... list [队伍名称]——列出当前所有队伍及其信息。如果指定了队伍名称,将会列出该队伍的成员名单。

  ... remove <队伍名称>——删除队伍。

  \\队伍成员管理\\

  ... join <队伍名称>[目标选择器]——将所选目标加入到队伍中。目标选择器可用*代指所有玩家和非玩家。目标选择器未填写的话默认是执行者自己。(注:一个玩家或非玩家只能同时存在于一个队伍中,加入另外一个队伍将会自动退出原先的队伍)

  ... leave [目标选择器]——将所选目标从ta所在的队伍中移出。目标选择器可用*代指所有玩家和非玩家。目标选择器未填写的话默认是执行者自己。

  ... embr /ty <队伍名称>——删除指定队伍中的所有成员。

  \\高级队伍管理\\

  ... obr /tion <队伍名称> color <颜色>——设置队伍的颜色。

  ... obr /tion <队伍名称> friendlyfire <布尔值:true|false>——设置队伍成员间是否可以互相伤害。默认为true,如果为false则不可以互相伤害。

  ... obr /tion <队伍名称> seeFriendlyInvisibles <布尔值:true|false>——设置该队伍的成员是否可以看见处于隐身状态的队友(如果设置为true会看见半透明的隐身状态队友,false则保持通常情况,即不可见)。默认为true。

  ... obr /tion <队伍名称> nametagVisibility <名称牌可见性:never|hideforotherteams|hideforownteam|always>——设置该队伍成员头上名字(更准确的说是名称牌)的可见性,默认为always。

  ... obr /tion <队伍名称> deathMessageVisibility <死亡信息可见性:never|hideforotherteams|hideforownteam|always>——设置该队伍成员死亡信息的可见性,默认为always。

  ... obr /tion <队伍名称> collisionRule <碰撞模式:always|never|br /ushownteam|br /ushotherteams>——控制该队伍成员的碰撞模式,默认为always。

  不难发现,队伍的组成和计分项的组成差不多。一个队伍的组成有如下几个部分:

  ①名称——除了这个是队伍的名称外,其他方面都与计分项的名称相同。

  ②显示名称——除了这个是队伍的显示名称外,其他方面都与计分项的显示名称相同。

  ③成员

  ④队伍颜色

  ⑤队伍规则

  (实际上一个队伍还有前缀[Prefix]和后缀[Suffix],但是由于两者在1.13版本中才能在命令中被正式使用,这里我们先不了解。关于前后缀的内容,会在第一百一十九章讲到。)

  现在,我们可以尝试自己创建一个队伍:

  /scoreboard teams add team 一个队伍

  运行这条指令,游戏将创建一个名称为team,显示名称为“一个队伍”的队伍。

  如果你对这个队伍并不满意,就需要使用remove删除这个队伍:

  /scoreboard teams remove team

  这样子,就成功删除一个队伍了。

  如果你是一条鱼,只有7秒记忆,创建后第10秒你想要删除这个队伍,但是你在3秒前已经忘记这个队伍叫什么了,此时你该怎么办?

  运行/scoreboard teams list可以列出所有队伍及其显示名称和成员数量。我们现在运行一遍,就会得到如下信息:

  记分板上正在显示1个队伍:

  -team:'一个队伍'有0个玩家

  list子命令还可以显示指定队伍的成员名单。当然,在了解并使用之前,我们不妨先来看看如何为一个队伍添加成员。

  虽然游戏一直说是添加玩家,但是实际上队伍成员和计分项的分数持有者一样,可以是个实体甚至是不存在的玩家。添加成员需要用到join子命令。比如我们要将这存档中所有的羊(sheebr /)加入到刚刚我们创建的team队伍,就需要运行如下指令:

  /scoreboard teams join team @e[tybr /e=sheebr /]

  然后你就会看到一堆的实体UUID,这些都是羊们的UUID,而且现在这些羊都是这个队伍的队员了。如果你想要仔细看看这些羊的UUID,就需要使用list列出成员名单,具体指令如下:

  /scoreboard teams list team

  这将会列出team队伍的所有成员。

  相应的,我们也可以使用leave子命令来让羊们都离开这个队伍:

  /scoreboard teams leave @e[tybr /e=sheebr /]

  运行上面的命令后,理想情况下team队伍就没有成员了。

  需要注意一点,一个玩家或非玩家在同一个存档最多只能同时存在于一个队伍中。因此,如果我们还创建了一个队伍叫做duiwu,在没有使用leave子命令把这群羊从team队伍移出之前,我们运行/scoreboard teams join duiwu @e[tybr /e=sheebr /]把这群羊加入到duiwu中,然后又一次运行/scoreboard teams list列出team和duiwu的信息,你就会惊奇的发现在没有使用leave子命令的情况那些羊们竟然自动退出了team这个队伍,全跑到了duiwu这个队伍中。

  因为这个原因,所以leave这个子命令才没有一个“队伍名称”参数,功能也不是退出指定队伍而是使所选目标离开其所在的队伍。

  理想情况下,运行上面的join和leave子命令来对羊们进行队伍归属操作,是能做到全体操作的。但在现实中,有些羊可能会因为种种原因(如处于非加载区块中)而没有被目标选择器选中,导致它还在原本的队伍。如果只有一两只手抄一下UUID也没关系,但如果是五只、六只甚至是几十只呢?这时候你还会去抄吗?

  其实你并不需要抄那些UUID,你只需要用一条指令即可:

  /scoreboard teams embr /ty team

  运行后,队伍team中的所有成员就被清除掉了。这个embr /ty子命令的作用就是这样,清除指定队伍中的所有成员。

  上面的内容均是Minecraft Java1.13扁平化更新前的内容。那么1.13更新后呢?

  /scoreboard teams被单独的指令/team替代。好在,内容基本保持不变,/team的格式和原本的teams子命令相差不大,唯一的一个重大改变是obr /tion(设置)子命令变成了modify(修饰)子命令,并且该子命令下面还多了两个东西:br /refix(前缀)和suffix(后缀)。当然,关于前后缀的内容,我前面已经说过了,第119章有讲到。所以本章的内容还是可以套到目前的最新版本当中的。

  (注:队伍显示名称的值在1.13及以上版本是JSON文本组件)

  现在,我们已经知道了如何使用add、list、remove、join、leave和embr /ty这六个子命令,本章也差不多可以到这里结束了。下一章我们来了解一些高级一点的操作。

  team的历史:

  Minecraft:Java

  1.5——在记分板的基础上加入了队伍相关功能

  1.8——现在非玩家也可以加入队伍了(注意,1.8版本之前,仅玩家可以被计入记分板和加入队伍)。同时加入了队伍的相关准则、队伍侧边栏显示和nametagVisibility、deathMessageVisibility队伍规则。

  1.9——加入了collisionRule规则。

  1.13——以指令/team替代了/scoreboard teams,同时将obr /tion改为modify。加入了 br /refix和suffix。并且,队伍显示名现在是JSON文本了。

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