
基础指令
在开始之前你需要先确认游戏版本,不同版本指令稍有差异,但核心思路一致,我以当前主流版本也就是1.16以上为例,控制小僵尸最常用的指令是summon和data merge,首先要开启作弊模式,在创造模式或输入/gamerule commandBlockOutput true后,你就能自由使用这些指令了,新手容易忽略一点,小僵尸其实是幼年僵尸,它的实体类型仍然是zombie,只是多了一个IsBaby标签,所以生成小僵尸的指令是/summon zombie ~ ~ ~ {IsBaby:1},这个指令会直接在玩家脚下生成一只小僵尸,你可以调整坐标让它出现在指定位置,另外注意大小写,IsBaby中的B必须大写,否则指令无效,老玩家习惯把这条指令记在命令方块里反复使用,比如在生存模式刷怪塔里快速补充小僵尸样本。
生成小僵尸
除了基础生成,你还可以给这个小僵尸添加各种属性让它与众不同,比如装备,你可以用/summon zombie ~ ~ ~ {IsBaby:1,HandItems:[{id:diamond_sword,Count:1}]}来让它手持钻石剑,或者用ArmorItems给它穿全套盔甲,这样就变成了一个迷你战士,更酷的是,你可以通过修改Attributes来调整它的移动速度或攻击力,比如增加Attribute: [Name:generic.movement_speed,Base:0.5]会让它跑得飞快,但注意属性名称要写对,另外利用Passengers标签可以让它携带其他生物,比如让一只小僵尸骑着一只鸡,形成鸡骑士,这是游戏里很稀有的组合,你只需要在生成时加上Passengers:[{id:chicken}],注意中括号和花括号的嵌套,很多新手在这里出错,一个容易忽略的小技巧是,把IsBaby设为0b或1b,b代表布尔值,不写b的话指令可能会报错。
操控移动
生成之后如何控制小僵尸的行动呢,最直接的方法是使用/teleport指令,比如/tp @e[type=zombie,limit=1] ~ ~10 ~,就能把最近的一只僵尸瞬移到你头上方10格,但这样太粗暴了,资深玩家更喜欢用/execute配合detect或target,比如让所有小僵尸跟随你,可以输入/execute as @e[type=zombie,tag=!follow] at @s run tp @s ~ ~ ~ ~ ~,但这样只是原地旋转,真正让它们移动需要调整坐标,一个实用的技巧是先用/scoreboard给僵尸打上标记,再用/execute as @e[score=follow_min=1] at @s run tp @s ^ ^ ^0.5,这样它们会朝你面向的方向前进,注意脱字符号^表示相对方向,和老玩家常用的^ ^ ^不同,它的意思是向前移动,如果你想控制小僵尸跳到特定的方块上,可以用/data merge entity @e[type=zombie,limit=1] {Motion:[0.0,0.5,0.0]},这会给它一个向上的速度,模拟跳跃动作,但Motion值需要精确计算,否则它会飞出去。
改变行为
小僵尸的AI行为可以通过修改NBT数据来大幅改变,比如设置它的攻击目标,用/data merge entity @e[type=zombie,limit=1] {AttackTarget:[I;0,0,0,0]},但这里需要填目标的UUID,相当麻烦,更简单的方法是使用/team系统,先创建一个队伍/team add minion,然后把小僵尸加入队伍/team join minion @e[type=zombie,limit=1],再设置队伍规则/team modify minion collisionRule never,这样小僵尸就不会互相碰撞,接着用/team modify minion friendlyFire false,让它们不会攻击队友,但你想让它们攻击特定生物时,可以用/team modify minion seeFriendlyInvisibles true,然后利用/execute if entity @e[type=zombie,limit=1] run ...,还有一个经典玩法是利用/effect给小僵尸加状态,比如/effect give @e[type=zombie,limit=1] minecraft:slowness 100 2,让它变得笨重,或者用/effect give @e[type=zombie,limit=1] minecraft:invisibility 100 1,让它在黑暗中隐形,配合发光效果会很有趣,注意状态效果持续时间要根据你的需求调整,一般用秒数乘以20。
高级技巧
当你熟悉基础指令后,可以尝试用命令方块搭建复杂系统,比如让一群小僵尸自动巡逻,你需要一个循环命令方块,里面输入/execute as @e[type=zombie,tag=!patrol] at @s run tp @s ^ ^ ^0.1,同时用另一个命令方块检测周围方块,比如/execute if block ~ ~ ~ air run ...,如果前方是空气就继续前进,否则转向,更高级的玩法是让它们跟随玩家并保持队列,这需要用到红石比较器和记分板,我习惯先给每个小僵尸分配一个ID,用/scoreboard players set @e[type=zombie] id 0,然后逐步增加,再用/execute as @e[score=id_min=1] at @s run tp @s ~ ~ ~ ~ ~,配合坐标计算,可以让它们排成一列,另一个酷炫的指令是让它们跳舞,利用/data merge entity @e[type=zombie,limit=1] {Rotation:[0f,0f]}和/playsound,但需要定时触发,所以用两个命令方块交替改变旋转值,比如先设置旋转到0度,再设置到180度,反复循环,看起来就像在摇摆,注意Rotation值是从0到360,f表示浮点数,如果不加f会报错,老玩家都知道这个细节。
注意事项
使用指令控制小僵尸时,有几个关键点必须牢记,第一个是权限问题,在服务器里你需要op权限才能执行这些指令,单机下也要开启允许作弊,第二个是性能问题,如果生成大量小僵尸并持续用命令方块操控,很容易造成卡顿,我建议用/tick命令或限制实体数量,比如/gamerule maxEntityCramming 50,第三个是版本兼容性,1.13之后/data merge取代了旧版的/entitydata,如果你还在玩旧版本,记得用对应的指令,另外注意NBT标签的写法,比如IsBaby在旧版本里是IsBaby:1,新版本里是IsBaby:1b,但大多数情况下1b也兼容,最稳妥的方式是直接复制游戏内F3调试界面显示的NBT数据,还有一个小陷阱,当你用/team控制小僵尸时,它们默认会攻击村民,但如果你设置了friendlyFire false,它们反而不会攻击任何敌对生物,需要额外加/team modify minion seeFriendlyInvisibles false,总之多测试几次就能找到规律,最后千万不要在生存模式下随意使用/tp指令,否则你可能会被传送到危险的地方,我在创造模式玩了一年多,才敢在生存里尝试这些操作,建议你先备份存档。
相关文章