
大家好!时隔一年半,你们的啥是GAY又回来教指令啦!咕了好久 :D(被打
欢迎来到佐助指令坊,这次是第三期指令教学,我们来学我的世界Java Edition版本1.14 - 1.20.4的 /team 指令,记得要完整看到最后哦~
目录:这一次的主体部分会依照着以下三大部分往下讲
1. /team (add / remove / list / join / leave / empty)
2. /team modify
3. 延伸部分 /execute指令,/scoreboard指令
第一部分 /team (add / remove / list / join / leave / empty)
以下


我们来看看/team add的结构,<team>代表队伍id,<displayName>代表队伍名字。
队伍id的作用是用于辅助其他指令侦测和加入队伍使用的,所以必须id必须简洁,比如图中的redteam代表着红队,那么你在运行其他指令的时候就能够很清晰地知道这个是红队了。当然,如果多于一个队伍,或者你所创建的队伍多于一个红队的话,你可以在id前面加个前缀,并且将redteam缩写,比如是床战红队的话,那么我可能会写作BedRed。
队伍名字的作用是用于在输入指令"/team list"队伍列表出现时,呈现出队伍的名字,同样可以让你分辨队伍,由于我的世界聊天框能够呈现的行数有限,当服务器有过多的队伍,在审视队伍时会有更好的视觉化体验。
更加有用的小知识!

队伍id是可以加入以下四种符号的,分别是减号,底线,加号,英文句号/小数点,所有的指令包含<displayName>的部分都可以使用大括号去命名,改颜色的。比如我想改一个"我不是红队 如青"的队伍名字:
/team add AQ-_-UA [{"text":"我不是红队","color":"dark_aqua"},{"text":" 如青","color":"#FF0000"}]
↑这条指令就很好地利用了队伍id中的符号,还有displayname的高级命名↑
备注:我的世界的颜色代码分三种,第一种是使用符号&和分节符号§作为前缀,第二种是displayname以外的指令必须使用的颜色代码(wiki搜寻:格式化代码),第三种是hex code,范例:#FF0000(纯红)
第二部分 /team modify
/team modify使用的前提是你的游戏里已经有至少一个队伍才能正常使用,主要是用于更改队伍的特性,会比较复杂,里面涉及到了一些游戏的玩法,聊天栏的队伍显示,玩家队伍之类的,我们来看看都涉及了啥,希望你们不要看到睡着:D

collisionRule:always/never/pushOtherTeams/pushOwnTeam
这个选项是指加入队伍后,队伍玩家的碰撞箱影响,解释:always是有碰撞箱,never是没有碰撞箱,pushOtherTeams是对其他队伍会产生碰撞,同队不会,pushOwnTeam是对同队产生碰撞,不同队不会。简明易懂。
color
顾名思义就是队伍的颜色,有17个选项,16种颜色可以选择,reset选项为重置,并不是白队,这里就不一一列举了,第一部分的备注颜色代码有关于我的世界颜色格式化代码的详细资讯
deathMessageVisibility:always/hideForOtherTeams/hideForOwnTeam/never
这个选项的前提是你的世界规则中死亡讯息为开启(/gamerule showDeathMessages true),没有的话请复制这条指令给它打开。解释:always为展示死亡讯息,hideForOtherTeams为不让其他队伍看见同队的死亡讯息,hideForOwnTeam为不让同队看见同队的死亡讯息,never为不会出现任何死亡讯息。
displayName
其实没啥特别,和第一部分讲的一模一样,只是当你打错了队伍名字的时候,给你一个方式去更改队伍名字,不需要删除再重新创建队伍。
friendlyFire:true/false
true为可以伤害友军,false为无法伤害友军
nametagVisibility:always/hideForOtherTeams/hideForOwnTeam/never
nametag指的是这个↓↓↓,出现在玩家上方的id,选项与死亡讯息同理。感谢石头热情出演
(虽然不是他自己的号)

seeFriendlyInvisibles:true/false
true为能看到隐形的同队玩家,false为看不到隐形的同队玩家
prefix & suffix
这两个我决定放在一起讲,prefix代表前缀,suffix代表后缀,使用方法和displayName一样,直接上范例,比如:
前缀:/team modify town.ty prefix [{"text":"[","color":"#55B1C2"},{"text":"天元镇","color":"#CCFFCC"},{"text":"] "}]
后缀:/team modify town.ty suffix [{"text":" [","color":"#F3F5AB"},{"text":"喵の诱惑","color":"#E89BD7"},{"text":"]"}]
↓聊天栏看起来就是这样↓

不只是聊天栏,tab键的玩家列表和nametag也是会随之改变,只要玩家加入了,就会出现。是不是看起来 heeeeennnnnnnn 高级呢!大家是可以照着上面的指令模板去改的!而且有些emoji是可以在我的世界里显示的,搞不好你能做出你心目中的队伍前后缀哦!
第三部分 延伸部分 /execute指令 /scoreboard指令
众所周知 scoreboard的创建分很多种,比如trigger,dummy之类的,这些都是基于自定义计分,触发和没有目标而创建的,而计分板之中有16个,正好对应16种颜色的队伍的计分板,叫 killedByTeam.color,用于侦测来自已选定颜色←color的队伍的杀敌数。比如 /scoreboard objectives add AquaTeamKills killedByTeam.aqua [{"text":"浅青队杀敌数","color":"aqua"}],这个指令的作用是创造一个计分板名字叫做浅青队杀敌数,名字为浅青色,用于侦测浅青色队伍击杀玩家数量。
team在scorebaord的第二种用途就是将某一个计分板只显示在指定颜色的队伍右侧,以下是实例范例:
我创建了一个队伍,队伍id是"official.op",队伍颜色设定为红色,这个队伍是用于提供给管理员制作和监察计分板的。我作为管理员,我制作了一个城镇认证系统,有一个计分板存取玩家已经加入城镇的数据,计分板id名为"town.member",那么在全服队伍只有"official.op"的队伍颜色为红色时,我决定了这个计分板只出现在红队队伍中,那么我可以就输入:/scoreboard objectives setdisplay sidebar.team.red town.member,这样就能够避免这个计分板出现在非管理员玩家的画面了。

team在execute最常见的作用就是在实体选择器了(all所有玩家@a,entity所有实体@e,selected已选择@s,random随机玩家@r,player最近的玩家@p),
有作弊权限的玩家是可以透过使用选择器去剔除或者筛选特定玩家,team自然就在实体选择器的选项当中了,以下是范例,在牛腩小镇当中,我想要挑选所有永霜冻土的玩家,给予他们一个时间无限的一级抗火效果:/execute as @e[team=town.ys] at @s run effect give @s minecraft:fire_resistance infinite 0 true
透过这样的实体挑选,只要好好利用,你可以制作很多不同的小游戏,给服务器制作道具等等!!
那么这一期的指令教学就到这里了,如果有小游戏,制作特殊道具,或者是给服务器做一些具有功能性的服务,但是感觉不是那么的完美,可以私讯跟我说,我会一一回答的。
觉得这一期教学不错,别忘了一键三连,如果你学会了,那么在下面的评论区留言“我学废了命令方块(”:D,想要我出更多的指令教学不妨点个关注再走:D,下期再见!