《我的世界》网易版1.12使用指令大全详细介绍

《我的世界》1.8.3版中的指令又有了进一步的更新,很多玩家都对.8.3版指令大全不是很了解,下面小编就为大家带来我的世界1.8.3版指令大全,包括所有47条我的世界指令代码大全,希望对各位玩家有所帮助。

1.summon指令

(即将列表格)比较常用的指令,用来召唤出生物。summon指令跟刷怪蛋不同,它可以给刷出的实体附加不同的效果。注意啦,生物与实体是不同的,生物时类似于僵尸、骷髅这样的生物,而实体是除了固定的方块以外所有的东西(类似于经验球,掉落物品等等)。具体格式为:

summon生物英语名称坐标{数据标签}

举个例子,比如生成一个村民僵尸:

summonZombie~~1~{IsVillager:1}

IsVillager:1是数据标签,下面会解释到。~~1~是推荐使用的坐标,意为在命令方块上面一格处生成某个实体(y走向),如果填上~~-1~便会在命令方块下方1格生成实体。波浪号的数字不同方向也不同,比如~1~~是东边一格(x走向),~~~1是北边一格(z走向),summon这个指令,不像刷怪蛋,刷怪蛋是随机生成,比如僵尸刷怪蛋,会生成大僵尸,小僵尸,穿装备的僵尸,甚至鸡骑士等。而summon只会生成特定的僵尸,如果不加任何数据标签默认为普通的僵尸。

CustomName与CustomNameVisible:

常用的数据标签比如CustomName,运用这个数据标签可以给怪物起名字,亦可用在区分不同的怪物来执行不同的命令。效果跟命名牌类似,但没有防止怪物和玩家距离远时消失的效果(PersistenceRequired标签负责此作用)。(有人说1.7的CustomName用完后即使不看着那个生物依然会显示生物的名称,而1.8则不会,实际上1.8需要在后面加上CustomNameVisible:1才可以起到这个效果)比如

summonCreeper~~2~{CustomName:bomb,CustomNameVisible:1}

就会在命令方块上两格生成一只名为“bomb"、不用看生物便会显示名称标签的苦力怕。

Attributes:

比较常用的数据标签还有Attributes标签,这个标签是用来给怪物修改属性,它可以给怪物添加各种各样的属性,一般连用的有Name(注意:这里和CustomName不同,Name只是几个特定的数据名称)比如

/summonCreeper~~1~{Attributes:[{Name:generic.maxHealth,Base:0}]}

Name处填写的是属性名称,Base处填写的是数据,当数量越大改变的能力也越大。以下是任何怪物都可以用的普遍修改属性的数据标签(PS:尽量填写小数适用于生存,当然创造在特定需求下当然非常推荐填写适合的数)。

generic.maxHealth血量,任何血量都可以,只是太大的数容易造成卡机现象。

generic.movementSpeed速度属性。尽量填小数,否则就像瞬移一样。比如僵尸,0.3就是偏快的速度。

generic.attackDamage攻击力,也尽量填小的数,否则容易被秒杀。不建议在生存里填写太大的数字。

generic.followRange探测范围,给怪物最好填小数,否则怪物容易一直追杀自己的目标。填的越高侦测范围越远。

generic.knockbackResistance防击退效果,填写数越高击退效果越不明显。可以和"击退"附魔效果互相抵消。

generic意为普遍的,所有生物都可以使用,而不加generic的数据标签仅仅只有一些特定的生物可以用、

HealF:

上面那条指令意为召唤出1只0血的苦力怕,也就是召唤后便会死亡。在Base处更改数字即为血量。(谢谢chyx指出错误)HealF和maxHealth不同,Healf是当前血量,而maxHealth是血量上限,也就是说,当HealF比maxHealth小时,生物的血量并不是满的)0血还有另一种形式,比如

/summonCreeper~~1~{HealF:0}

即可。这个方法可以用在特殊的地方,比如不小心把末地的出口打没了(创造),召唤满血末影龙嫌麻烦,那就直接召唤0血末影龙即可。(每只末影龙死了之后都会出现出口)上面的Creeper可以改成其他的生物。

ActiveEffects:生物生成可以自带药水属性,而并不用自己来投掷药水来给予怪物。基本格式为

和effect性质相同,具体可以看effect。它们都可以隐藏粒子效果,比如

summonEntityHorse~~1~{CustomName:number1,Tame:1,Saddle:1,Type:0,ActiveEffects:[{Id:1,Duration:123456789,ShowParticles:0b}]}

就会刷出一只带有迅捷属性却看不见药水粒子效果的马(其他NBT请看下方生物数据标签)

Equipment:

之前说过,如果不加NBT使用summon刷出的生物不会附带任何属性,比如刷出僵尸村民等等或者带装备的僵尸。用Equipment可生物加上装备。基本格式为

summon实体名称坐标{Equipment:[{id:武器名称/物品名称,Count:数量},{id:靴子名称,Count:数量},{id:腿甲名称,Count:数量},{id:胸甲名称,Count:数量},{id:头盔名称,Count:数量}]}

这五个空都是和装备种类都是对应,需要注意。Count处填写数量,当掉落对应物品时,也会掉落相应数量的物品。

小bug:当使用像

summonZombie~~1~{Equipment:[{},{id:golden_helmet,Count:5},{},{},{}]}

类似的指令时,虽然写的是金头盔,但是玩家看到的僵尸却是僵尸穿着金靴子,当杀死僵尸时掉落的却是五个金头盔。所以名义上虽然是金靴子,但是实际上还是金头盔。

NoAI:

NoAI是一种给生物添加一种属性的标签。如果生物后加上NoAI标签,这个生物就会变成“傀儡”,生物会悬空,并且如果没有特殊状态(比如末影人受到伤害瞬移)的话将不会再动弹。一般可以配合隐身的生物来做一种外观上虽然是某种生物,但是实质却是另一种生物的效果。具体使用方法为在数据标签处加上NoAI:1。

Riding:

Riding是用来生成叠加生物的。使用这个指令可以使生物骑着生物(就像鸡骑士等等)。基本格式为

summon生物名称坐标{Riding:{id:生物名称}}

注意,一定要两个括号。少一个便不会触发指令。前者是骑生物者,而后者id是被骑者。比如

summonZombie~~1~{Riding:{id:Slime}}

便会刷出一只骑着史莱姆的僵尸。当然,Riding可以无线叠加,比如

summonVillager~~1~{Riding:{id:Villager,Riding:{id:Villager,Riding:{id:Villager,Riding:{id:Villager,Riding:{id:Villager}}}}}}

每多加一个生物,就要多一个Riding和括号。一定要注意,多加的Riding要填进另一个Riding括号里头。

效果图片:

如果不是特定组合(鸡骑士等),骑在上面的生物没有控制被骑生物的权利。

2.kill指令

mc中最常用的指令之一。在1.8之前,这个指令本是用来自杀。如果只输入

/kill

则会起到自杀的效果。在1.8之前也适用,一般先关掉Inventory(死亡掉落)在使用这个指令。现在1.8之后,这个指令用处就变得大多了。它不仅可以用来杀死玩家,还可以用来杀死实体。基本格式为

kill选择器/玩家数据标签

如果要杀死特定的玩家,比如要杀死一个名为“End-Enderman”的玩家,那就用

killEnd-Enderman

即可做到杀死一个特定玩家的效果。

1.8后选择器多了@e这个选项,可以起到给所有实体执行一些命令的效果。比如

kill@e

可以清除所有除了方块以外的东西(提醒:这个指令一定要慎用,它会杀死一切的实体,尤其是不能高频这个指令,不然会对存档/服务器造成毁灭性的打击,所以一定要注意)

kill这个东西可以做到杀死一切实体的效果,所以在做一些实用的东西时(比如原版做出凋零骷髅刷怪蛋,之前需要先弄一个替死的)会派上很大的用场。kill和testfor等指令加上的标签一样,可以加上type和name系列的标签。基本格式为

kill@e[type=实体种类,name=实体姓名]

比如我们要杀死一只名为ZombieKing的僵尸,那么在实体种类处填写Zombie(注意大小写,不小心杀错了可就坏事了,因为kill@e系列的指令千万不能疏忽,尤其是在高频的时候,一旦出错后果不堪设想),name处填写名称(可以用命名牌、CustomName、铁砧或者用刷怪蛋出来自带的姓名等等,这个如果不甚填错不用担心,顶多也就杀错怪,如果没有的话不会杀死任何实体)。一切实体都可以起名字(比如射出去的箭,如果不用summon也可以用entitydata),所以这一点是很方便的。

只要实体种类处填对,就能清除许许多多的你认为碍事的东西。小到经验球(XPOrb)、掉落物(Item),大到玩家,生物,做冒险机关跑酷解密什么的都是很适合的一个指令。只是再一次提醒,一般档被毁不少都是因为这个而引起的。高频kill@e可是比高频tp更进了一个档次...

所以请谨慎行事。珍惜生命,学好指令。

3.effect指令

此指令用于给玩家附加药水效果。激活后是直接加在玩家身上的。基本格式为

effect@apoison100

这会给玩家10秒的1级中毒效果。而粒子效果处要填写true或者false,如果填写true便会隐藏药水的粒子效果。比如

effect@aregeneration205true

effect@aspeed9999255true

比如速度,甚至会移动到未加载区域。所以要慎用。

还有一种模式,用于清除玩家所有药水效果(就像牛奶),基本格式为

effect玩家名称clear

另外effect也可以给实体添加效果,比如

effect@e12123

这会给全体添加防火效果123秒(不填写等级默认1级)

在某些情况下effect不推荐泛滥使用,否则容易对玩家造成一些影响。

4.tp指令

比较常用的指令,常用于传送玩家。用这个方法可以将玩家或者实体瞬间传送到指定的地方(瞬移)。

基本格式为

tp坐标处玩家

比如坐标处填写1,2,3,那么玩家就会被传送到这个地点。也可以用选择器,比如用@a就是将所有玩家传送到一个地点。

如果不指定坐标那么就会传送到指定玩家处,基本格式为

tp玩家/选择器

单人游戏自然这个指令没有太大的用处,使用之后玩家屏幕视角只会略微动一下。

指定某个玩家时,玩家就会传送到某个玩家处。

我们假设一个玩家为a,另一个玩家为b。假如使用

/tpa

假如b玩家使用了这个指令,那么b玩家就会传送到a玩家的坐标处。如果b玩家用的是tpb则会变成只会动一下视角的效果。

注意:tp@a似乎只能在聊天框使用,命令方块会无效。

如果想tp实体,那么只能用选择器。因为实体名直接在命令方块填写会无效。比如把玩家所在世界的所有苦力怕向上100格,那就用

tp@e[type=Creeper]~~100~

如不填写坐标,那就是把玩家传送到随机一个苦力怕的位置。也可以把一个实体传送到另一个实体的坐标上,比如

tp@e[name=a]@e[name=b]

意为将一个名字为a的生物传送到b的坐标处。

建议最好不要高频tp,因为高频tp毁档的事情已经不少见了....

5.spreadplayers指令

(建议先学会有关于区域的指令再来学习此指令,如clone,testforblock等,初期不好理解)用于将玩家随机扩散在指定的区域内(也就是随机传送到指定区域的某个地方)。基本格式为

spreadplayers扩散中心点坐标扩散最小半径扩散最大半径整个队伍/单个玩家玩家名/选择器

扩散中心点坐标填写x和z。y是默认的,所以不用添加。之后后面扩散都会按照这个点来进行区域扩散,所以一定要慎重填写,不要误把z填写成y,否则如果记不住坐标可能就再也找不到原来的地方了。。而扩散最大半径和扩散最小半径就有些不一样了。两个地方都填写数字。spreadplayers是按照正方形进行扩散(有人说是圆形,但是并不是这样),比如填写0,1,意为在中心点处随机扩散到中心点半径1格的地方,也就是一圈。如图,假设红石火把是中心点,那么如果扩散半径分别是0,1,那么就会随机扩散到包括中心点在内的9个坐标处。

以此类推,不管怎么用最后都会按照指定的中心点来进行扩散。如果要一个队伍的玩家全部在根据中心点扩散,那么在整个队伍/单个玩家处填写true,这样这个队伍的所有玩家都会随机扩散到指定区域。反之,单个玩家就填写false。(队伍可以看计分板teams栏)

虽然spreadplayers看似是作用于玩家,但是实体依然可以在spreadplayers使用。比如将所有的僵尸全部以某个中心点扩散到附近区域来。

即使是实体,聊天栏依然会显示是玩家扩散而不是实体扩散。

6.entitydata指令

此指令用于替换现存实体的数据标签。和blockdata需要区分的是,此指令是替换实体的数据标签,而后者是替换方块的数据标签。基本格式为

entitydata实体名称实体NBT标签

实体NBT可以看summon(目前只编写了生物的,实体的敬请期待)。实体名称需要用选择器来掌握。(目前不能用entitydata对玩家执行操作)任何实体NBT标签包括一些只有entitydata才能使用的标签(比如HurtBy,LifeTime等等)。比如我们把现存的所有苦力怕都瞬间爆炸,用

entitydata@e[type=Creeper]{ignited:1}

即可做到这种效果。和summon不同的是,两个括号之间用不着加东西。如果想再添加一项NBT,比如使用

entitydata@e[type=Creeper]{ignited:1,Fuse:0}

使用之后还会附加让苦力怕瞬爆,以此类推。(可以用name=xxx指定特定的生物)

另外,entitydata在使用某些指令时或者直接加在实体名称处时需要用的UUID(HurtBy等等,summon有讲解)。因为entitydata目前不能指定玩家,除了用选择器的方式还可以把UUID填写至实体名称处(看UUID方式可以看execute)。比如

entitydataa5b84cfe-9407-45f1-9414-3d1c776d8d20{ignited:1,Fuse:0}

(每个生物UUID都不相同,所以这个指令你使用是无效的,请把上面一串数字字母代码替换成要执行生物的UUID)

7.blockdata指令

这个指令用于改变现存方块存有的NBT。需要和entitydata区分开来,前者是替换方块的数据标签,后者是替换实体的数据标签。基本格式为

blockdata需要改变的方块坐标方块数据标签

坐标一定要掌握好,不然就会提示“目标方块没有持有数据”。

每个方块都有自己特殊的数据标签(当give处的物品数据标签更新好了之后请见give处)。比如改变一个坐标处的命令方块里的命令,那就用

blockdataxyz{Command:"xxx"}

一般用于更改漏斗、发射器等NBT,比如将命令方块上的箱子的第一格变为命令方块,用

blockdata~~1~{Items:[{id:"minecraft:command_block",Damage:0s,Slot:0,Count:1b}]}

即可。

有时可以用高频来不断地执行命令,比如不停的变换物品就可以起到做一个机关的效果。

因为setblock放置方块时会有放置方块的声音,所以用这个指令可以做到很隐蔽的效果(先把commandBlockOutput关掉)。

1.give指令

give是比较常用的一个指令。最初用到命令方块都必须要用过这个指令。最基本的形式是

/give玩家名数据标签

1.7(或者更低版本)的形式为

/give玩家名方块代码

比如/give@p137就是给予玩家一个命令方块。

/give@aminecraft:command_block

是目前比较通用的一种。可以在游戏中按F3+h来查看英文名称。还有一种形式,具体为

/give@aminecraft:command_block10

前面的数字1是给予玩家物品的数量,意为“给予玩家一个命令方块”,后面的0是损伤值。(1.8通用)这个方法是用于区分某些物品,比如刷怪蛋(spawn_egg)有许多的种类,就要用到不同的损伤值。按下F3+h也可以查看损伤值。

其次,跟give配合、给物品加上一系列数据比较贴切的就是display指令。它可以为给予的物品增加许多的特效。比如Name标签,举个例子:

/give@pexperience_bottle10{display:{Name:"xxx"}}

使用这个指令就会得到一个不同名字的附魔之瓶。不同名字的物品会有不同的name标签(名称),以后可以用到各种指令的name标签处。xxx处填写你想要的名称。比如"燃烧瓶",出来的效果为

和Lore标签不同的是,当持有这个带有特殊标签(或者直接用铁砧)的东西时,不需要在物品栏里便能看到。

还有比较常用的ench附魔标签,比如

give@pminecraft:spawn_egg150{display:{Name:"xxx"},ench:[{id:附魔编号,lvl:等级}]}

就能给予玩家一个带附魔特效的苦力怕蛋。第一个id是附魔编号,而第二个lvl是等级,效果随着等级的变化而变化。以及可以添加文字效果的Lore指令:

give@pminecraft:diamond_sword10{display:{Name:"名字",Lore:["说明"]}}

使用这个指令就可以给予玩家附加一个文字说明的钻石剑。“说明”处填写你想加的文字,比如在说明处加上“专打僵尸剑”,说明就会变成说明处的文字。如图:

只不过跟名字不同,拿着被附加文字的物品是无法直接看到文字的,在物品栏里才能看到。

顺便说下按下F3+h后的形式(再按一遍可取消):

注:现在1.8版本已经将give的方块代码形式删除了,但是其他(例如附魔id,或者其他指令)的指令并没有影响。像类似直接添加数字代码的(give@p137)1.8版本以上的已经没有用了,还请注意。上面的是give的基本指令,而不同的方块拥有不同的数据标签。方块nbt请看这里

2.clear指令

此指令用于清除玩家身上的物品。基本格式为

clear玩家名物品名损伤值数量物品数据标签

除了开头的clear以外,其余的都可以省略掉。玩家名填写选择器或者玩家名称,物品名填写物品名称,损伤值和数量详请看give指令。物品数据标签可以填写自己本身的标签,比如箱子的Item,附魔武器的ench等等。(注意,和give相反,前面是损伤,后面是数量,看好了再清除)

如果在聊天框单单输入/clear的话,执行命令的玩家将会被清除所有物品。有keepInventory也会被强制执行。

举个例子,比如清除所有玩家的钻石,用

clear@adiamond

即可。钥匙清除所有玩家的花岗岩,那就需要用

clear@astone1

建议填上损伤值,不然假如不填写上面的1就会清除所有有关于石头类型的物品。

数据标签一般填写方块本身的数据标签,比如

clear@acommand_block01{BlockEntityTag:{Command:"1"}}

就会清除一个命令方块里的命令为“1”的命令方块。如果玩家持有两个或者两个以上并不会全部消除。

(注意:填写数量-1也会清除所有该物品)

clear指令虽然用处很大,但是一定要慎用,避免造成一些麻烦。

3.enchant指令

用于给玩家的武器附魔。具体格式为

enchant玩家名称附魔代码附魔等级

enchant目前只能给玩家附魔。而且只能附魔玩家正在拿着的武器。比如

enchant@a161

如果玩家手里拿着的是剑系列武器,那么就会给手里拿着的剑附加锋利属性。不适合此武器的附魔属性不会附在武器上。

和give不同的是,enchant用不着{id:xxx,lvl:xxx}的形式来执行附魔。

4.replaceitem指令

用于给现存的实体替换装备或者给现存的方块替换物品。现存的方块包括所有带有物品栏的方块(如箱子等)。基本格式为

replaceitem模式方块坐标/选择器格子数据物品名称数据值物品数据标签

replaceitem共有两种模式,分别是block以及entity。block是用于替换方块的物品,而entity用来替换实体的物品。坐标和选择器分别是block和entity的需求。格子数据是replaceitem特有的各自数据标签。其余的和give相同。

entity:基本格式为

replaceitementity格子数据物品名称数据值物品数据标签

任何生物都有格子数据,比如僵尸利用slot.weapon可以给僵尸全部带上武器(就像entitydata+Equipment)。

共有slot.weapon(武器栏)、slot.inventory(玩家背包/容器栏,需要指定,格子为0-26)、slot.armor.head(实体头)、slot.armor.chest(实体胸甲)、slot.armor.legs(实体腿)、slot.armor.feet(实体脚)、slot.enderchest(末影箱格子,需要指定,格子为0-26)、slot.hotbar(玩家物品快捷栏,需要指定,格子为0-8)、slot.villager(村民背包栏,需要指定,格子数为0-7)、slot.horse.chest(驴/骡箱子,需要指定,如果指定普通的马会失败,格子为2-16)、slot.horse.saddle(马鞍栏)、slot.horse.armor(马甲栏)

上面的格子数据需要有些数据需要制定,要指定玩家的格子数,后面都要加一个“.格子数”,比如

replaceitementity@e[type=Player]slot.inventory.21command_block

这会将玩家的背包栏的第22格替换为命令方块(0是第一格,所以要往后数一格)。

其他需要指定格子数的也按照这种格式即可。

在类似于马鞍这样的格子数据,只能用minecraft:saddle和minecraft:air之间替换,否则无效。马铠可以让三种马铠交换这来弄以及minecraft:air。

物品数据标签可以制定,比如

replaceitementity@e[type=Zombie]slot.weapondiamond_sword10{ench:[{id:20,lvl:1}]}

这会把所有的现存僵尸都装上带火焰伤害的钻石剑。

(某些即使看似无法使用武器的生物,比如末影人,装上后攻击也会有附魔的效果)

block:基本格式为

replaceitemblock方块坐标slot.container.格子物品名称数据值物品数据标签

坐标处填写要改变物品数据的方块坐标,block只能使用slot.container.格子来执行命令。格子填写数字,用来指定替换的格子(比如箱子是0-26,漏斗是0-4,发射器和投掷器是0-8,熔炉是0-2,酿造台是0-3等等)。其余使用方法和entity一样。

replaceitem要和entitydata区分,前者是改变生物/方块物品栏,后者是改变实体本身NBT。

1.testfor指令

mc中最常用的指令之一,用于探测一系列的东西。可以探测玩家、探测实体甚至探测玩家背包的东西(方块用testforblock,这一点需要注意,两者要区分)。最基本的形式是

testfor玩家/选择器testfor系列数据标签

如果直接探测这个世界有没有某个玩家,比如探测这个世界有没有叫“End-Enderman”的玩家,就用

testforEnd-Enderman

使用这个指令,如果这个世界有一个叫做“End-Enderman”的玩家,便会显示“发现End-Enderman”并且命令方块持续输出,直到这个玩家不存在为止。一般testfor需要高频持续探测一个东西得输出。

或者运用选择器,比如探测这个世界的所有玩家,用

testfor@a

即可。自从到了1.8后,运用@e的次数就越来越多了。一般用在UUID上。比如

testfor@e[type=实体名称,name=名字]

type后面填写实体的英文名称,比如僵尸就填写Zombie,掉落物就填写Item等等。name填写玩家起的名称(比如用命名牌或者CustomName),如果想指定所有的这个种类那就把name去掉即可。最好用于高频,在做RPG、机关、解密、冒险无论是哪个地图都有着很大的帮助。(但是唯一缺点就是容易卡)当探测到特定的生物后,命令方块就会有输出。一般连接比较器来执行一系列的命令。(探测到会一直有输出,直到探测不到)

还有一种形式,就是探测玩家在一个坐标的形式。

testfor选择器[x,y,z,r]

选择器就是@a、@e、@r、@p,x、y、z是坐标,在游戏中按下默认的F3可以查看。r是半径,比如1就是1格,2就是附近2格。举个例子,比如

testfor@a[123,45,789,1]

高频这个指令,当123,45,789这1格方块的地方有玩家的时候,便会输出信号。

一般testfor都是用于探测玩家在某个地方,之后连接比较器做出一系列效果。对于地图是很有帮助的一个指令。

(自从execute出来之后貌似testfor就被冷落了些...因为execute可以省下一个比较器...但是testfor却是有着不可磨灭的作用)

除了探测玩家,testfor还可以探测玩家背包里的物品。比如

/testfor@a{Inventory:[{id:"minecraft:xxx}]}

Inventory便是背包,而xxx处填写要探测的物品名称,之前说到过可用F3+h看到。比如我们要探测玩家背包里有没有罂粟,那就用

/testfor@a{Inventory:[{id:"minecraft:red_flower"}]}

但是我们知道,物品可以叠加,那么,要探测一定数量的物品,假如探测玩家背包里有没有3个钻石,那就用

/testfor@a{Inventory:[{id:"minecraft:diamond",Count:3b}]}

物品正常情况下叠加只能达到64。假如探测玩家背包里有没有67个钻石,用

/testfor@a{Inventory:[{id:"minecraft:diamond",Count:64b},{id:"minecraft:diamond",Count:3b}]}

以此类推,可以无限叠加下去,但是一定要注意括号。

除了玩家背包里的物品,也可以探测玩家物品栏的9个物品。要用的是Slot数据标签。

/testfor@a{SelectedItemSlot:格子数,Inventory:[{Slot:格子数b,id:"方块名称"}]}

格子数是一样的。比如你需要探测第一个物品栏装的是刷怪蛋,那就用

/testfor@a{SelectedItemSlot:0,Inventory:[{Slot:0b,id:"minecraft:spawn_egg"}]}

有人说这个指令必须要用到9个命令方块,实际上那个是在完全不知道玩家物品会在哪个物品栏里的情况下。当知道玩家或者在解密(比如必须格子数正确才能触发机关)的情况下一般用这个指令。(9个命令方块就是每一个数字改一下,0-8即可)

如果探测的物品是附加了数据标签的(比如用铁砧改了名字),那么就用

/testfor@a{SelectedItemSlot:格子数,Inventory:[{Slot:格子数b,id:"方块名称",tag:{display:{Name:"名字"}}}]}

总之,虽然execute类似的指令很方便,但是testfor容易理解,它的实用度还是非常高的。(testfor分数具体看scoreboard)

2.testforblock指令

和testfor性质相同,但是testfor一般用于探测玩家或者其他实体,而testforblock用于探测方块。在做机关等地图有很大的用处。最基础的形式为

testforblockxyz方块数据值数据标签

xyz处填写方块所处位置的坐标,方块名想要探测方块的对应名称(老方法查看,F3+h)。数据值这里要特殊强调下,这个在其他指令总是不填,但是在testforblock最好要填上,也就是探测方块状态。不同的朝向、不同的方式(例如按钮按下去的时候、箱子打开的时候等等)都会有不同的数据值。比如当箱子打开的时候,数据值就会改变,会变成和原来关上箱子不同的数据值,一旦关上又会变回原样。所以数据值在testforblock得到了很大的应用。数据标签填写类似于give的标签,不同物品会有不同的数据标签,比如容器的Item等等。不填写数据值依然可以用的,但是探测不了状态,只能探测方块的种类,比如随便输入一个坐标,

testforblockxyzchest

如果是箱子就会成功探测到,不是的话就会显示位于xyz的方块为xxx(预定:箱子)的形式。所以在想把玩家随机tp到一个坐标时可以先用testforblock来查看这个坐标是否安全。但是这并无法探测方块状态。

假如要探测一个朝南的箱子,那就用

testforblockxyzchest3

如果不确定它的数据值,可以随便填写一个数据值,当你执行命令的时候,如果探测到箱子,但是数据值不对,会提示"位于xyz的方块拥有数据值xxx(预定:你所填写的数据值)",xxx便是这个物品所有的数据值。当数据值和物品都对上了号时,便会提示"成功找到了位于xyz的方块"并且会有信号输出。

物品自己本身的数据标签依然可以使用,如果想探测一个箱子里的物品那就用

testforblockxyzchest数据值{Items:[{id:"minecraft:物品名",Damage:损伤值s,Slot:格数b,Count:数量b}]}

数据值之前说过,就是用于调整方块的状态,Item指令是方块自带的特殊标签,凡是容器都带有这个标签。损伤值就是用于区分物品的种类(F3+h查看,give的图片里有)格数说过,比如箱子第一格物品栏就填写0,以此类推(数字b千万不能丢掉,不然可能会造成指令有误)。数量填写方块叠加的数量。这个指令可以用来做机关,本人推荐用非电路来配合类似的testforblock。

非电路类似于↓

一旦探测不到某个物品(物品状态被改变)就会触发后面一系列的指令。

如果想探测另一格子的物品,就用

testforblockxyzchest数据值{Items:[{id:"minecraft:物品名",Damage:损伤值s,Slot:格数b,Count:数量b},{id:"minecraft:物品名",Damage:损伤值s,Slot:格数b,Count:数量b}]}

其他的和上面的讲解相同,只是需要注意下括号,以此类推。

建议学会了testfor再来学习testforblock,因为学会了testfor后这个就好理解了。自从出了execute探测方块(detect)之后testforblock使用频率也受到了影响。但是testforblock对于execute而言还是比较好理解的多,所以做陷阱还是比较方便些。陷阱例子请看此帖

(execute算是testfor和testforblock的进一层指令)

3.testforblocks指令

(建议先学会clone再来学习这个指令)和clone有些相似,用法也几乎相同,但是不同的是,clone是复制并粘贴方块,这个是检测并比较一个区域的方块是否相同(检测一个区域的方块可以用testfor的r半径)。基本格式为

testforblock斜对角坐标斜对角坐标被比较区域模式

当两个区域的方块相同的话,那么命令方块就会有输出。

由于是检测方块是否相同,所以用不着填写物品名称。

模式处填写all或者masked。all是默认的,而masked和clone的masked相同,如果比较区域中有空气,那么空气并不会被比较,所以即使两个区域都是空气也不会有输出。

4.execute指令

(注:建议先学上面的testfor以及testforblock后再来学习这个指令,学会了这两个指令就比较好理解了)

1.8常用的指令,一般用于探测实体或者方块(带高频)。基本格式为

execute选择器数据标签执行指令

也是传说中的炸服神指令。(你认为服主们会给你op来做这项任务吗233)比如

execute@e[type=xxx]~~~summonPrimedTnt~~~

(在xxx处填写生物种类名称。填写僵尸就是在所有僵尸处生成点燃的TNT,填写弓箭就是在所有弓箭处生成点燃的TNT)这个指令,在做冒险类地图都是很常用的。上面的选择器一般填写@a、@e、@p、@r,而type处填写的是实体名称,用来探测实体。如果要区分实体,比如僵尸,数量比较多,假如要探测一只叫做PlantVSZombie的僵尸并且要在这只僵尸的地方生成雷电那就用

execute@e[type=Zombie,name=PlantVSZombie]~~~summonLightBolt~~~

添加了name数据标签。如果连续激活就会连续在这个僵尸处生成雷电,直到僵尸死亡。后面添加想要执行的命令。包括testfor等一系列的指令。

而且这个指令基本上都是要接触高频,所以使用请小心,稍有不慎容易对存档造成伤害。除了探测实体执行命令,还有一种形式,

execute选择器实体执行命令区域坐标detect探测方块坐标方块名损伤值命令

这个形式比较繁琐。除了探测实体,这个指令还需要探测方块才能激活。比如高频

execute@e[type=Slime]xyzdetectx2y2z2minecraft:air0setblock~~~minecraft:redstone_block

这个指令的意思是:在xyz处放置一个红石块(注意啦:setblock后面最好不要添加坐标什么的,比如~~1~,它是直接作用在xyz上的,等于x,y+1,z的坐标...以此类推,不要乱用)。先前必须要检测到史莱姆以及x2,y2,z2为空气方块。两种条件缺一不可,否则不会激活(将detect执行为xxx失败)。这个在解密的地方很有用,比如放置一个东西就会触发其他机关。在高频这个指令之前,一定要检查好,否则可能会造成意外的影响。

有一点要注意的是,execute探测成功一次后会一直保留信号,所以很多人在看电路结构的时候不知道是怎么回事。这需要再用一次红石信号来激活它,如果探测不到输出信号才会消失。所以高频(保证电脑)是最好的方法。(保留信号可以做出一系列的效果,可以参考上面的testfor)

execute还可以强制生物做一些事情,比如/say,这一点本来不能让生物做到,但是用execute可以做到。

最简单的比如

execute@e[r=5]~~~sayIamHeroBrine

比如这个,r是半径。指令意为探测玩家附近半径为5的生物并且半径为5内的生物说"IamHeroBrine"。

这个方法可以用来查看生物的UUID(下面会说到,可用在僵尸猪人的HurtBy和entitydata等)。

execute属于testfor和testforblock进一步理解的指令,初期不是很好理解。建议先掌握testfor与testforblock再来学习execute指令。

1.scoreboard指令

mc中比较常用的指令之一(这是mc中范围比较大的一个指令)。计分板属于一种系统,通常用来团队合作或者用来指定变量等等。这个指令可以说是变幻多端,用处极大。现在甚至可以把实体拉到队伍来指定你想做到的效果。

比较常用的三大类,分别为objectives(指定判据/目标)、players(指定玩家/实体)、teams(指定队伍)。

1.objectives

创造/删除目标:基础格式为

scoreboardobjectivesadd创造目标名称判据显示名称

目标计分版名称自由填写,填写你想给这个目标起的名字。之后创建的目标就会以这个名字的形式来进行。判据处下面会解释到,用来对玩家的行为作出判断并且如果玩家的行为和输入的判据符合便会进行加分。正常情况下如果不想进行任何判据这里就可以填写dummy(可以说是最基础的判据)。显示的名称可以不填写,不影响指令的效果。

显示栏:

具体格式为

scoreboardobjectivessetdisplay显示选项显示名称

显示选项有sidebar、belowName、list等等。

sidebar:

如果让显示名称有效,还必须要先添加侧边栏,否则这个名称不会显示。添加侧边栏可以用

scoreboardobjectivessetdisplaysidebar创造目标名称

这个指令必须要和最初创造的目标名称一致。

比如我们建一个名称为“End”的目标,那么要侧边栏显示区就在后面的“创造目标名称”填写“End”。但是之后还需要一步才可启动侧边栏,因为必须要给这个目标设定分数才可以。

scoreboardplayersset显示名称创造目标名称分数

(注:players的方法请详细看“players”的用法,要在任务栏显示还必须要经过这步)这个显示名称和之前的显示名称不同。如果最初时不填写那么第一个显示名称就是默认创造出来的目标的名称。

图中的侧边栏就是在最初时创造目标是在显示的名称处填写的是1,如果不填写就会显示目标名称“End”。“击杀End-Enderman”即是在players填写的显示名称,用这个方法可以做出任务栏,比如指定一个任务,之后队友们努力去完成等等。(任务栏的原理其实是添加一个假玩家,因为scoreboard可以填写不存在的玩家。可以填写存在的玩家名来随时观察此玩家的分数变化,这个可以用来作用在玩家上。当假玩家分数改变时红色数字部分也会改变)如果想把侧边栏清除,那就用

/scoreboardobjectivessetdisplaysidebar

使用这条命令,将会把侧边栏清除。

list:

目标不仅仅可以创造一个,还可以创造多个目标。如果不记得自己都添加了哪些目标,可以用

/scoreboardobjectiveslist

来查看计分板创造过的目标。

类似于这样显示目标的指令,不推荐在命令方块里使用。在命令方块里即使是默认的gamerule(比如commandBlockOutput等等)也不会显示图中这样的形式,而是在命令方块里显示。并且如果有多个目标命令方块在使用起来会很麻烦。

belowName:

在多人的时候,还可以直接在显示选项处填写belowName即可。用这个方法可以把显示栏放到玩家的头上。

显示区也可以用list来进行显示所有玩家的效果。基本格式为

/scoreboardobjectivessetdisplaylist目标名

使用之后需要按下Tab即可显示所有玩家。

移出这个效果的方式和清楚侧边栏相同。使用这个指令之后再按下Tab就不会再出现了。

(还有sidebar.team.颜色名称,不过可以直接用option的color来改变)

remove:

如果想移除某个目标,那就用

scoreboardobjectivesremove创造目标名称

使用这个指令即可将计分板所在的目标移除。

判据:用于改变一些加分的效果。基本格式为

scoreboardobjectivesadd创造目标名称判据

设置目标后,探测这个目标里的分数即可。(用testfor,一会会讲到)如果想把目标分数设为0,那就用

scoreboardplayersset玩家名创造目标名称0

(都可作用于objectives和teams)

比如我们想把一个已经叫Death的目标设为0分,用

scoreboardplayersset@aDeath0

即可做到这个效果(一旦有分数对于某些指令而言可能会直接有输出)

(下面是具体各种判据。虽然有一种说法叫“把玩家加进判据”,但是创造一个目标就可以直接探测了,默认为0,不用再设置)

特殊判据

所谓特殊判据,就是可以指定东西的一种判据。比如achievement就可以指定特殊的成就等等。

stat.walkOneCm(判断玩家行走)

stat.sprintOneCm(判断玩家跑步)

stat.crouchOneCm(判断玩家潜行)

stat.swimOneCm(判断玩家游泳)

stat.flyOneCm(判断玩家飞行)

stat.climbOneCm(判断玩家爬行)

stat.diveOneCm(判断玩家水中移动)

stat.horseOneCm(判断玩家骑马移动)

stat.pigOneCm(判断玩家骑猪移动)

stat.minecartOneCm(判断玩家坐车移动)

stat.boatOneCm(判断玩家坐船移动)

stat.mobKills(判断玩家击杀生物)

stat.playerKills(判断玩家击杀玩家)

stat.damageDealt(判断玩家造成伤害)

stat.damageTaken(判断玩家手都伤害)

stat.jump(判断玩家跳跃)

stat.fallOneCm(判断玩家除跳跃外的掉落)

stat.drop(判断玩家除死亡外的掉落)

stat.animalsBred(判断玩家繁殖生物)

stat.fishCaught(判断玩家钓鱼)

stat.treasureFished(判断玩家钓到宝藏)

stat.junkFished(判断玩家调到垃圾)

stat.talkedToVillager(判断玩家和村民说话)

stat.tradedWithVillager(判断玩家和村民交易)

stat.recordPlayed(判断玩家播放CD)

stat.itemEnchanted(判断玩家附魔物品)

stat.flowerPotted(判断玩家将花种在花盆)

stat.chestOpened(判断玩家打开箱子)

stat.enderchestOpened(判断玩家打开末影箱)

stat.trappedChestTriggered(判断玩家触发陷阱箱)

stat.craftingTableInteraction(判断玩家打开合成台)

stat.noteblockPlayed(判断音符盒发声)

stat.noteblockPlayed(判断玩家左击音符盒)

stat.noteblockTuned(判断音符盒被玩家调音)

stat.furnaceInteraction(判断玩家打开熔炉)

stat.beaconInteraction(判断玩家打开信标)

stat.hopperInspected(判断玩家打开漏斗)

stat.dispenserInspected(判断玩家打开发射器)

stat.dropperInspected(判断玩家打开投掷器)

stat.brewingstandInteraction(判断玩家打开酿造台)

stat.armorCleaned(判断玩家卸下装备架的物品)

stat.cauldronFilled(判断玩家向炼药锅倒水)

stat.cauldronUsed(判断玩家向炼药锅打水)

stat.cauldronFilled(判断玩家吃蛋糕)

stat.bannerCleaned(判断玩家洗旗帜)

stat.leaveGame(判断玩家退出游戏)

这些判据只按照最上面的格式把对应的判据复制到上面即可进行,并且如果玩家一直做相应的动作就会一直加分。(可以设回0分)以下判据需要再加对应的数据。

scoreboardobjectivesaddzombiesstat.breakItem.minecraft.diamond_sword

之后的都按照这种格式来进行。

killedByTeam(被某个颜色的玩家杀死)我会以后慢慢补上(只有玩家才生效,用teamkill.颜色即可,实体加进队伍里并不会生效),虽然标题上写的是除了服务器指令(毕竟是scoreboard这个大型指令的判据)。这里给您带来了不方便,抱歉==

2.players

set:

players可以给特定的玩家设定分数。一般用到的是set,基础格式为

scoreboardplayersset玩家名/实体名/选择器目标/队伍分数

testfor选择器[score_目标名称/队伍名称_min=分数]

比如我们要探测在一个叫TeamA的队伍里的所有玩家分数为1,那就用

testfor@a[score_TeamA_min=1]

add:

players还可以给个别玩家或者实体(假玩家也可以)加分,用add即可。具体格式为

scoreboardplayersadd玩家名目标/队伍分数

分数填写数字,填写多少就给玩家加多少分(add的方式只有增加,-1不可以,只能用set或remove)

比如我们给一个在目标名为End,叫做End-Enderman的玩家加一分,用

scoreboardplayersaddEnd-EndermanEnd1

即可做到这种效果。

和目标不同,创建之后需要把玩家或实体加进来才能进行一系列的效果。

在使用player系列标签时,除了可以加分,还可以直接减分。可以用remove做到。基础格式为

scoreboardplayersremove玩家名目标/队伍名分数

比如我们给一个叫“End-Enderman”的玩家,在“End”目标里减一分,

scoreboardplayersremoveEnd-EndermanEnd1

配合显示栏,能直接看出玩家的分数变化。

(set可以直接设置,而add是加分,只加不减,这个是只减不加,需要区分)

利用list可以显示出玩家或者实体的分数。

scoreboardplayerslist玩家/实体名

enable:

加分和减分不仅只有有作弊权限的人可以使用(op),可以用enable给玩家加一个权限。基础格式为

scoreboardplayersenable玩家名目标名

用这个格式可以给玩家一个权限。当按照这个格式给玩家权限之后,玩家就可以使用trigger指令来改变自己的分数。(详请看trigger指令处)

reset:

如果想重置某个玩家里目标的分数,那就可以用reset。基础格式为

scoreboardplayersreset玩家名目标名

使用之后总是会显示重置了xxx玩家的xxx的分数。可以清除玩家特定的显示栏(而不是直接将所有的显示栏的东西清除)并且将玩家分数设为0。

operation:operation属于计分板的一种系统。它可以用来计算玩家的分数,也就是起到了计算器的作用。operation运算系统的格式为

scoreboardplayersoperation主要针对对象主要针对对象的目标名称运算方式次要针对对象次要针对对象的目标名称

举个例子吧,假如主要针对对象分数为1,次要针对对象的分数为1,用的是减法,那么用的第一次就会让主要针对对象的分数减去次要针对对象的分数,也就是1-1=0,之后主要针对对象会变成运算的结果也就是0,而次要针对对象的分数不变。而如果再用一次(目前主要针对对象的分数为0,次要针对对象为1)的话,就会变为0-1=-1,也就是主要针对对象的分数会变为-1,而次要针对对象还是1。简单来说,就跟计算器的方法相同。

两个目标可以填写相同的,也可以填写不同的(之前需要先创造目标)。计算只会改变玩家所设置的目标分数,并不会改变玩家其他目标分数。比如玩家a是主要针对的对象,玩家b是次要针对对象,两个玩家都在目标为c和d。比如用的是加法,a玩家目标c分数为1,目标d分数2,b目标c分数为1,目标d分数为0。如果a选的是目标c,次要b也是目标c,那么就会由a玩家目标c的分数+b玩家目标c的分数,也就是1+1=2。这时玩家a目标c分数变为2,d目标的分数不会改变。如果a的目标选的是c,b的目标是选的是d,那么就会由a玩家目标c的分数+b玩家目标c的分数,也就是1+0=1,这时玩家a目标c分数还是1,d目标的分数不会改变。所以可以跨目标执行运算。

运算方式有很多种(计分板和title不同,不需要再另执行命令,所以一些运算方式直接加上后缀"="即可),分别有

=相等,会让主要针对对象的分数和次要针对对象的分数保持持平。

+=加法,会让主要针对对象的分数和次要针对对象的分数加起来。

-=减法,会让主要针对对象的分数减去次要针对对象的分数。

*=乘法,会让主要针对对象的分数乘以次要针对对象的分数。

/=除法,会让主要针对对象的分数除以次要针对对象的分数。

%=除法取余,取算出来的余数。比如3÷2,余数为1,那么主要针对目标分数会变为1。也就是让主要针对对象的分数除以次要针对对象的分数并且主要对象的分数会变为除出来的余数。如果是整数那么会变为0。

>如果目前主要针对对象的分数比次要针对对象的分数小,那么主要针对对象的分数会和次要针对对象的分数持平。反之,如果主要针对对象的分数比次要针对对象的分数大,那么分数不会有变化。

<如果目前主要针对对象的分数比次要针对对象的分数大,那么主要针对对象的分数会和次要针对对象的分数持平。反之,如果主要针对对象的分数比次要针对对象的分数小,那么分数不会有变化。

><几种运算方式里唯一会改变次要针对对象分数的运算方式。用这个运算会将主要针对对象和次要针对对象的分数互换。

举个例子,比如

scoreboardplayersoperationa1+=b1

运算的格式略复杂,当使用成功时会显示"操作已应用成功"。

3.teams

teams一般用来执行一些队伍操作。它可以在计分板上添加一个队伍并且可以让这个队伍做出许多效果。

add:此指令用于创造一个队伍。这是要执行计分板上队伍效果的前提。基本格式为

scoreboardteamsadd创造队伍名称显示名

创造队伍名称处填写你想创造队伍的名字,显示名原理和objectives相同,需要显示栏才可运行。

join:此指令用于将实体加入一个队伍从而起到可以给玩家或者实体执行一些命令的效果。基本格式为

scoreboardteamsjoin队伍名称玩家/实体名称

队伍名称填写加入的队伍(加入后执行其他命令可以填写这个队伍)。除了玩家,还可以将任何实体加入这个队伍。

option:此指令用于给队伍执行一系列的效果。基本格式为

scoreboardteamsoption队伍名称效果名称效果状态

下面是option的效果选项。

friendlyfire:此效果选项用于给队伍开启友好状态。当一个队伍开启了友好状态时,队伍中的玩家亦不可互相伤害。基本格式为

scoreboardteamsoption队伍名称(使用add)friendlyfiretrue/false

true/false即为状态,当填写true的时候,这个队伍便会开启友好状态。实体也可以开启友好,具体看这个帖。

nametagVisibility:此效果选项用于对看到队友头上的姓名标签做一系列的操作。具体格式为

scoreboardteamsoption队伍名称nametagVisibilitynametagVisibility的数据标签

always:此数据标签用于对玩家头上的姓名标签做出一直显示的效果。在nametagVisibility的数据标签处填写always即可做到这种效果。

(由于是自己跟自己联机,双开mc,并且渣水准,所以只能凑活用了...)比如把一个叫behurt的队伍做出这样的效果

scoreboardteamsoptionbehurtnametagVisibilityalways

never:此数据标签用于对玩家头上的姓名标签做出不再显示的效果。在nametagVisibility的数据标签处填写never即可做到这种效果。

hideForOtherTeams:此指令用于对玩家头上的姓名标签做出其他队伍的玩家看不到的效果。也就是使用后,其他队伍的玩家不能再看到这个队伍里玩家的姓名标签,只有自己队伍的玩家才能看见。在nametagVisibility的数据标签处填写hideForOtherTeams即可做到这种效果。

hideForOwnTeam:此指令用于对玩家头上的姓名标签做出自己队伍的玩家看不到的效果。也就是使用之后,这个队伍的玩家不能再看到自己队伍玩家的姓名标签,只有其他队伍的玩家才可以看到。在nametagVisibility的数据标签处填写hideForOwnTeam即可做到这种效果。

deathMessageVisibility:此指令用于对玩家死亡时的死亡信息做出一系列的效果。具体格式为

scoreboardteamsoption队伍名称deathMessageVisibilitydeathMessageVisibility的数据标签

deathMessageVisibility和nametagVisibility的数据标签基本相同。

always:此指令用于对玩家死亡时的死亡信息做出一直显示的效果。在deathMessageVisibility的数据标签处填写always即可做到这种效果。

never:此指令用于对玩家死亡时的死亡信息做出不再显示的效果(可以直接用gameruleshowDeathMessagesfalse)。在deathMessageVisibility的数据标签处填写never即可做到这种效果。

hideForOtherTeams:此指令用于对玩家死亡时的死亡信息做出对其他队伍的玩家不显示效果。也就是使用后,其他队伍的玩家不能再看到这个队伍里是否会有玩家死亡,只有自己队伍的玩家才能看见。在deathMessageVisibility的数据标签处填写hideForOtherTeams即可做到这种效果。

hideForOwnTeam:此指令用于对玩家死亡时的死亡信息做出对自己队伍的玩家不显示效果。也就是使用后,自己的队伍的玩家不能再看到是否会有自己队伍的玩家死亡,而其他队伍的玩家依然能看见。在deathMessageVisibility的数据标签处填写hideForOwnTeam即可做到这种效果。

seeFriendlyInvisibles:此指令用于对自己队伍的玩家隐身效果做出一些操作。用这个指令,可以看到自己队伍隐身的玩家。基本格式为

scoreboardteamsoption队伍名称seeFriendlyInvisiblestrue/false

填写true的效果:

当然,别的队伍依然看不到隐身的玩家,自己队伍的看到隐形的玩家是半透明的效果。

color:此指令用于改变玩家队伍的颜色。当使用color之后,玩家的侧边栏以及用list等等都会变成玩家选择的颜色。基本格式为

scoreboardteamsoption队伍名称color颜色名称

颜色名称一共有16种,和tellraw相同,具体颜色请看tellraw部分的color。

由于可以直接用这种方法来进行变色效果,所以可以省略sidebar.team这一步骤。

list:此指令用于显示所有队伍里的玩家(实体也可以)。和其他list不同,只要加进来的玩家/实体就会显示。基本格式为

scoreboardteamslist队伍名称

使用这条指令可以把一个特定队伍里的所有玩家(实体)。

(ps:这样的不推荐在命令方块里使用,直接在聊天框里输入指令比较方便)

也可以不输入队伍名称,这样会显示有多少队伍并且有几个玩家。

leave:此指令用于将某个特定的玩家或者实体离开某个队伍。基本格式为

scoreboardteamsleave玩家名称/实体名称

比较特殊的是,只要指定特定的玩家或者实体即可,并不用指定某个队伍。

empty:此指令用于解散一个队伍里的所有玩家以及实体。当使用这个指令之后,指定的队伍将会移除所有的玩家和实体。但这并不代表删除这个队伍。基本格式为

scoreboardteamsempty队伍名称

并不用指定玩家,只需要指定队伍即可。

remove:此指令用于移除一个队伍。当使用这个指令之后,指定的队伍会被删除。(注意:删除队伍后队伍中的玩家和实体也会被全部解散)。建议慎用,因为当删除这个队伍后队伍中的一些效果将不会再度存在(只能再创)。基本格式为

scoreboardteamsremove队伍名称

计分板指令可能初期理解不太容易,但这些指令基本上都是固定的。

2.trigger指令

这个指令用于给目标加分。用法跟计分板的playersset或add相同,但是不同的一点是,后者必须是管理员(有作弊权限)才能使用,而前者任何人都可以使用。在这之前,首先要有作弊权限的人给没有作弊权限的人一个权限。(有作弊权限的人直接使用trigger也可以,和players的最终效果没有什么区别)先用

scoreboardplayersenable玩家名称创建目标名称

具体可以看计分板处。trigger指令基本格式为

trigger创建目标名称set分数

这个指令可以用来设定玩家的分数,和playersset相同。这之前必须要先创建目标才可以。(创建的目标判据必须为trigger,否则这个指令会提示不是触发型或者触发型无效等一系列话语)之后即可使用这个指令为目标设定分数分。

除了set,也有add指令(依然是只能加分)。基本格式为

trigger创建目标名称add分数

一定要注意在创建目标时加上trigger判据。

3.stats指令

说起来,这个指令就相当于计分板的高级判据。使用这个指令需要先创建一个计分板,比如创造一个目标。具体格式为

stats模式坐标/玩家名set/clearstats判据目标名称

一般用于探测命令输出。当玩家执行一项命令成功之后,影响到的方块/实体数量将会被即为一定数量的值。

模式有两种,分别是entity和block。这里一定要区分:如果是玩家用聊天框执行的命令,那么就用entity;如果是玩家用命令方块执行的命令,那么就用block。如果玩家用命令方块执行的命令却使用的是entity,那么不会stats即使显示了将xxx(stats判据)的统计信息储存在了xxx(队伍名称/目标名称)的xxx(玩家名)上,命令成功了也不会显示影响到的方块/实体数量。所以一定要区分开来。

坐标是block模式用的,也就是指定成功执行命令的命令方块坐标处。而玩家名称是entity模式用的。set是执行命令时需要用的,也是比较基础的。一般情况下要用到stats设置分数都需要用到set。而clear是用于清除统计信息。当使用完clear之后,玩家/方块执行命令将不会再影响分数(clear不用添加队伍名称/目标名称)。

stats判据:

AffectedBlocks:此判据用于区分命令影响的方块数量。比如玩家使用setblock召唤出一个方块,那么分数就会自动设定为1。stats判据很高级,分数是自动设定,所以当玩家使用fill类似的指令时,比如使用fill~~1~~~2~redstone_block之后,那么分数会自动设定为2,而把波浪号的2改为1之后,也就是之后填充1个红石块,那么分数又会自动变为1。要注意好是命令方块执行命令还是玩家用聊天框执行命令。

AffectedEntities:此判据用于区分命令影响的实体数量。比如玩家使用summon召唤出一个实体,那么分数就会自动设定为1。性质与AffectedBlocks相同。

SuccessCount:此判据用于区分命令成功的次数。无论任何指令,只要成功输出便会+1。

QueryResult:此判据用于区分询问命令的结果。比如玩家在使用time指令时,得到的结果便会变为玩家得分数。

其中,有一个较特殊的效果,那就是用gamerule来实现对应加分效果(这里感谢[size=1em]乾.坤指出丢下的部分)

和其他gamerule数据标签不同的是,这个gamerule需要指定目标的值。

首先需要创造一个目标,并且将玩家加入到这个目标里(详请看scoreboard,前者用objectives的add,后者用players的set),之后使用

statsentity玩家名称/选择器setQueryResult玩家名称(要进行对应分数变化的玩家)创造目标名称

在这之后,就可以用gamerule直接来改变分数。具体用法为

gamerule创造目标名称分数

分数由自己制定,之后直接使用一次(图中为entity,会自动追踪使用这个命令的玩家,否则用命令方块需要指定block的坐标)

gamerule创造目标名称

你就能发现,分数已经变为你指定的分数了。

AffectedItems:此判据用于区分命令影响的物品数量。比如玩家使用give给玩家一个物品,那么分数就会自动设定为1。而当玩家用give给玩家更多的物品时,设定就会变得跟给予玩家的物品相同。

当然,使用这些指令,前提是必须要创建计分板才可以执行。

总之,stats步骤为创造计分板-设定玩家-建立stats变量-执行命令。一定要按照这个步骤来走。

1.xp指令

这个指令用于给玩家经验值。在生存模式做出附魔等动作都会消耗一定量的经验值。基本格式为

xp经验值数量玩家名

经验值数量填写大于0的数字,意为给玩家多少经验。(有人说后面的玩家名处只能填写选择器,实际上填写玩家的登陆名也可以)

如果想给玩家一定等级的经验值,用

xp经验值数量L玩家名

L意为level,比如填写1,就是让玩家升一级

如果用level的形式,那么就可以填写负数来做到让玩家掉级。比如

xp-1L@a

用这个指令可以给让玩家掉一级。

(注意:只有level的形式才可以填写负数,不然就会显示“无法给玩家为负数的经验值”)

2.gamemode指令

mc中最常用的指令之一,用来改变游戏模式。如果玩家想先在创造里建一些东西后变生存(前提是必须要开作弊,初始没开作弊的可以在开局域网时设置)就需要用到这个指令(和difficulty指令不同,difficulty的效果可以在设置栏里找到,而游戏模式则不可以)基本格式为

gamemode模式

模式处填写数字或者英文名称。和give不同的是,升为1.8后数字依然可以在gamemode处运用。(比较方便)

输入gamemode0或者gamemodesurvival即可将游戏模式转换为生存模式;

输入gamemode1或者gamemodecreative即可将游戏模式转换为创造模式;

输入gamemode2或者gamemodeadventure即可将游戏模式转换为冒险模式;

输入gamemode3或者gamemodespectator即可将游戏模式转换为旁观模式。

目前无法通过指令变为极限模式(为了防止损坏存档)

还可以通过选择器的方式来改变单个玩家的模式,比如

/gamemode1玩家名

这个方法就可以指定特定的玩家,例如僵尸在两个玩家当中,如果一个玩家突然变为生存,僵尸只会追逐变生存的玩家,而另一个玩家并不会改变模式亦不会受到攻击性生物的干扰。

用法和difficulty相同。(defaultgamemode和gamemode的用法一样,但是前者使用在服务器)

3.achievement指令

此指令用于给予玩家成就。当玩家完成一系列的要求时,就会得到一些成就(就像论坛里得到勋章一样)。利用achievementgive可以跳过要求直接获得一项成就。基本格式为

achievementgive成就名玩家名

其中成就名为必填项,玩家名可以在聊天框中不填或者填写选择器等等(命令方块属于必填项)。如果不填(聊天框里)则会将这项成就授予执行命令的玩家。

要注意如果授予一些高级成就(需要完成其他成就),那么授予这个成就的同时也会授予其他成就。

也可以清除玩家的成就,那就需要用到take,基本格式为

achievementtake成就名玩家名

使用这个指令可以做到消除成就的效果。

当清除一个玩家的高级成就时,其他成就并不会消失。

4.say指令

用于向玩家发出话语。可以制定特定的玩家或者运用选择器等等,基本格式为

say发送的信息

相反,如果在命令方块里发送就会默认为系统发送(显示@)。也可以使用选择器来显示世界内所存在的玩家,比如

say发送的信息@a

只是用这种方法不能用来查看玩家的UUID。

用选择器显示的玩家有点和suggest_command相像,可以在聊天框里点击并且会自动输入在聊天框里,可以用来发送信息。

如果是单纯的聊天还是比较推荐直接在聊天框里发送文字。

5.me指令

用于发出一些动作话语。用这个指令可以显示发出这个指令的玩家正在干什么(干什么的话语是玩家自定义的,和say、tellraw等性质相同)

me显示话语

显示话语和text差不多,填写什么就会显示什么。

和say与tellraw不同的是,这个指令直接就可以使用,不需要作弊权限。(非op玩家依然可以用)

推荐在聊天框里使用这个指令,否则在命令方块使用的话将不会显示玩家,只会显示默认为系统的@

6.tellraw指令

mc中最常用的指令之一。这个指令也属于一个系统,和say、title非常相似。基本格式为

tellraw玩家Json信息

比较基础的Json信息(Json信息在这里=数据标签)就是text,用来向玩家说一段话。比如

tellraw@p{text:发现玩家}

和say相比,好处是省略了前面说话者的名字,也就容易让人察觉到这句话是哪些人说的。

对比图

(say另有用处,比如用来查看UUID)

text还可以用来清屏,\n可以把文字接到下一行,如果要清屏那就用

tellraw@p{text:"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"}

(这种Json信息必须要加引号,否则无效,并且要注意符号的方向)

Json信息要求比较苛刻,有一些东西即使有一点点失误都不会触发指令。(会显示无效的Json信息)

text触发的信息还可以给它加上效果,比如颜色。类似效果基本格式为

tellraw玩家{text:xxx,Json效果数据标签}

Json效果数据标签

这些Json数据标签都可以加在一起,比如

tellraw@a{text:苦力怕来了,bold:true,strikethrough:true,italic:true,color:gold,underlined:true,insertion:"输入kill@e有惊喜"}

另一个基础的标签为selector,用于显示存在的玩家或实体的信息,和say的作用差不多。基础格式为

tellraw玩家{selector:选择器}

选择器处填写@a、@p、@e、@r等(亦可加上type或name,就像testfor)。比如填写@e,效果为

和say一样,可以用来查看UUID用于entitydata指令等等。

在使用text的时候,有的人发现假如给text添加了颜色后,所有的文字都会有这种颜色。比如加粗,只能全部加粗而不能单个加粗,那就需要添加额外的Json数据标签了。extra指正是用来添加额外的效果。基本用法为

tellraw玩家{text:文字,extra:[{text:文字}]

第一个text后可以加一系列的效果,比如color等等,不过这只对第一个text文字内容有效,所以给文字添加各种各样的效果。比如

tellraw@a{text:Dangerous,color:red,extra:[{text:"Zombie",color:blue}]}

一定要注意括号。extra里面还可以接着加text,比如

tellraw@a{text:Dangerous,color:red,extra:[{text:"Zombie",color:blue},{text:"Coming",color:dark_blue}]}

另一个text里依然可以加Json数据标签。(所以不用一直extra再套extra)

Event系列:Event用来给Json信息添加一些奇特的效果。具体格式为

tellraw玩家{text:"文字”,clickEvent/hoverEvent:{action:clickEvent/hoverEvent的Json数据标签,value:"{命令/效果}"

用来给tellraw的文字加一种点击效果,有它存在指定字文字便可以被点击,逐渐出现一系列效果。

clickEvent

run_command:此指令用于在点击特定的文字后触发指令。基本格式为

tellraw玩家{text:"文字",clickEvent:{action:run_command,value:"{命令/效果}"

就像execute一样,后面可以执行其他命令,也就是点击之后就会执行那个命令。任何命令都适合。比如

tellraw@a{text:"召唤术",color:red,clickEvent:{action:run_command,value:"/summonVillagerGolem~~20~{PlayerCreated:1}"}}

激活指令后点击文字即可召唤出一只默认为玩家创造的铁傀儡。value后面加上任何指令以及其指令的数据标签都可以。需要注意的是引号的位置,前引号要引在命令之前,后引号引在命令之后,而不能引在前面的Json信息标签的后面,否则会显示Json信息无效。

suggest_command:此指令用于区分当玩家点击用来获得value后面的文字并且自动复制到聊天栏里。用法和run_command相同。就像insertion。例如

tellraw@a{text:"点一下吧",color:aqua,clickEvent:{action:suggest_command,value:"kill@e"}}

(value也可以起到发一段话的作用。注意比如run_command必须要加那个斜杠,否则默认为发一段话,就像say一样)

效果:

(可以恐吓队友2333,不加“/”的话kill@e只会当作玩家说的话发出去2333)

hoverEvent

当玩家将鼠标指针悬停在制定文字上便会显示玩家指定的效果。

show_text:此指令用于区分当鼠标悬停在指定文字时是否会显示另外一段文字。基本格式为

/tellraw@a{text:"文字",hoverEvent:{action:show_text,value:"另一段文字"}}

当鼠标指针悬停在第一个“文字”的时候,便会出现另一段文字的内容。

show_item:此指令用于当玩家将鼠标指针悬停在指定文字上会显示一种物品(可以使添加过NBT的物品)。格式为

/tellraw@a{text:"文字",hoverEvent:{action:show_item,value:"{物品数据标签}"}}

之后就会显示这个物品的属性和方块代码等等。举个例子,比如

/tellraw@a{text:"鼠标点这里",hoverEvent:{action:show_item,value:"{id:command_block}"}}

就会在悬停在“鼠标点这里”的文字时会出现普通命令方块的介绍。

小提示:id前面必须要加括号,否则会显示这样↓

show_achievement:此指令用于当玩家将鼠标指针悬停在特定文字出会显示某个成就的信息(具体可以看achievementgive一栏)。基本格式为

/tellraw玩家名{text:"文字",hoverEvent:{action:show_achievement,value:"成就名"}}

注意:成就名处必须要填写achievement.xxx,否则就会像显示无效的物品一样,出现了Invalidachievement)

/tellraw@a{text:"您获得了一个新成就",hoverEvent:{action:show_achievement,value:"achievement.killWither"}}

show_entity:此指令用于当玩家将鼠标悬停在特定文字处会显示某个实体的信息。此实体信息可以是假实体,完全由玩家创造。基本格式为

/tellraw@a{text:"文字",hoverEvent:{action:show_entity,value:"{type:实体类型,name:实体名称,id:自拟的UUID或者介绍}"}}

就和summon一样,只不过id处可以自拟。比如

/tellraw@a{text:"图鉴326号",hoverEvent:{action:show_entity,value:"{type:Giant,name:进击的巨人,id:巨人8791号}"}}

效果拔群

Json信息是学习命令初期不太好理解的。可以先学学其他的指令再来学习tellraw。

7.titile指令

和tellraw有些相似,但是不同的是,tellraw是显示在聊天栏,而title是直接在玩家屏幕上的。

title玩家title选项Json信息

玩家填写选择器或者人名。而title选项要填写title特有的方式。Json信息和tellraw相同,比如

title@atitle{text:"123456789",color:red}

title选项:

title:此选项用于将玩家发出的话语显现在屏幕上,也是title最基础的选项。基本格式为

title玩家titleJson信息

之后填写选项也按照这种格式来填写。

和text非常相似,但是如果单单就是发出话语可以不加text。

subtitle:此选项用于给屏幕上的title文字添加一个副标题。需要注意这个指令需要和带title选项的指令分别执行一次才会有效果。当执行完一次subtitle之后可以给下一次title添加副标题,基本格式为

tltle玩家名subtitle副标题Json信息

分别执行一次后,会出现一次副标题(仅会出现一次)。比如执行一次

title@asubtitle{text:"来自末影人",color:red}

之后再激活

title@atitle下雨了

效果为

clear:此选项用于将屏幕上的字幕清除。使用/title@aclear即可将屏幕上的字幕瞬间清除。由于一般直接title的字幕很短,所以一般都和times联用。

普通的title如果注意看就能发现,屏幕上的文字是逐渐出现并且逐渐消失的,是有特效的。比如填写

title@atimes202020

这个选项有很大的用处,比如激活

title@atimes5100865

再分别激活

title@asubtitle囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧囧

title@atitle十五字十五字十五字十五字

reset:此选项用于重置所有title选项。使用之后已激活的subtitle和times都会恢复为默认状态

其余讲解请看tellraw部分。

8.tell指令

用于给特定玩家一条信息,也就是私聊。基本格式为

tell玩家名称内容

如上图,白色的是发起tell的玩家,灰色的是被指定tell的玩家。也就是发起人会显示"xxx→xxx",被发起人会显示"xxxwhispers"。

要注意只有服务器才可以用这种指令。

9.msg指令

用于给特定玩家发一条信息。和tell有一些区别,基本格式为

msg玩家名称内容

前者是发起msg的玩家的效果,后者是被选定msg玩家的效果。也就是发起人会显示"我→xxx",被发起人会显示"xxx→我"。

需要注意只有服务器才可以用这个指令。

1.particle指令

此指令用于在世界里生成颗粒。颗粒几乎无处不在,无论是攻击生物或者对生物执行操作,还是天然的方块等等,都有自己独特的颗粒。甚至包括像远古守护者鬼脸类似的,都算作颗粒。

particle颗粒名称执行坐标颗粒坐标颗粒速度颗粒数执行模式

"blockcrack_物品id"来指定。比如

particleblockcrack_119~~1~1110.00051500

可以指定损伤值,比如

particleblockcrack_1_1~~1~1110.00051500

还有blockdust_物品名(物品破坏颗粒)、iconcrack_物品名(吃东西颗粒),按照上面的格式填写即可。

这几种指定物品名的颗粒也可以制定损伤值,比如

/particleiconcrack_351_1~~1~1110.000012000

执行坐标是颗粒基础的坐标,会在玩家指定的地方产生效果。而颗粒坐标是在前面执行坐标的基础上扩散的坐标。比如填写100,颗粒会向x为1的地方扩散,而填写010,效果是摞起来的,填写001,颗粒会向着z为1的地方扩散。填写不同的坐标则会产生不同的扩散效果。

执行模式有anything和force。anything为默认的模式,而使用force可以让在颗粒16格外的玩家看到。任何颗粒(包括远古守护者的鬼脸颗粒),只有16格的视野,16格以外不能看到。而填写force可以避免。

粒子效果除了可以用作装饰,还可以迷惑、干扰玩家(比如岩浆、鬼脸等等),用处广泛。

2.playsound指令

此指令用于向玩家播放在mc里存在的音效。基本格式为

playsound声音名称玩家名称

声音名称填写playsound自己本身拥有的声音,比如

playsoundmob.zombie.say@a

便会像全体玩家播放僵尸空闲音效。音量默认为生物自身的音量。但是可以指定。基本格式为

playsound声音名称玩家名称播放坐标音量音调

播放坐标是声音坐标的地点,如果不指定玩家听到的是正好的声音。当播放的声音超过了半径约128格以外,玩家就不会再听到指定的音效了(不包括128,超过了128之后就会显示"玩家离得太远了,无法听到这声音")

音量是播放音量的大小,比如

playsoundmob.endermen.stare@a~~~15

但是效果非常不明显,而坐标可以弥补这一点。而音调是音调的高低,比如

playsoundmob.ghast.scream@a~~~30.5

会像玩家播放很低的恶魂尖叫声音。

下面是所有生物的声音。

全生物声音一览

僵尸系列:

mob.zombie.hurt(僵尸挨打)、mob.zombie.death(僵尸死亡)、mob.zombie.say(僵尸空闲)、mob.zombie.step(僵尸走路)、mob.zombie.remedy(僵尸受治疗)、mob.zombie.metal(未引进的声音)、mob.zombie.infect(村民变僵尸)、mob.zombie.unfect(僵尸变村民)、mob.zombie.wood(僵尸砸门)、mob.zombie.woodbreak(僵尸砸坏门)。

骷髅/凋零骷髅系列:

mob.skeleton.death(骷髅死亡)、mob.skeleton.say(骷髅空闲)、mob.skeleton.hurt(骷髅被打)、mob.skeleton.step(骷髅脚步)。

苦力怕系列:

mob.creeper.say(苦力怕挨打)、mob.creeper.death(苦力怕死亡)。

末影人系列:

mob.endermen.hit(末影人挨打)、mob.endermen.death(末影人死亡)、mob.endermen.idle(末影人空闲)、mob.endermen.scream(末影人激怒)、mob.endermen.portal(末影人瞬移)、mob.endermen.stare(末影人嚎叫)。

蜘蛛系列:

mob.spider.say(蜘蛛挨打、空闲)、mob.spider.death(蜘蛛死亡)、mob.spider.step(蜘蛛脚步)。

史莱姆系列:

mob.slime.attack(史莱姆攻击)、mob.slime.small(大史莱姆挨打/死亡/空闲)、mob.slime.big(小史莱姆挨打/死亡/空闲)。

蠹虫系列:

mob.silverfish.hit(蠹虫挨打)、mob.silverfish.kill(蠹虫死亡)、mob.silverfish.say(蠹虫空闲)、mob.silverfish.step(蠹虫脚步)。

僵尸猪人系列:mob.zombiepig.zpighurt(僵尸猪人挨打)、mob.zombiepig.zpigdeath(僵尸猪人死亡)、mob.zombiepig.zpig(僵尸猪人空闲)、mob.zombiepig.zpigangry(僵尸猪人激怒)。

恶魂系列:

mob.ghast.scream(恶魂挨打)、mob.ghast.death(恶魂死亡)、mob.ghast.moan(恶魂空闲)、mob.ghast.charge(恶魂扔火球之前)、mob.ghast.fireball(恶魂火球)、mob.ghast.affectionate_scream(恶魂空闲2)。

烈焰人系列:

mob.blaze.hit(烈焰人挨打)、mob.blaze.death(烈焰人死亡)、mob.blaze.breathe(烈焰人空闲)。

地狱史莱姆系列:

mob.magmacube.big(地狱大史莱姆挨打/死亡/空闲)、mob.magmacube.small(地狱小史莱姆挨打/死亡/空闲)、mob.magmacube.jump(地狱史莱姆跳跃)

守卫者系列:mob.guardian.hit(守卫者在水里挨打)、mob.guardian.land.hit(守卫者在陆地挨打)、mob.guardian.death(守卫者在水里死亡)、mob.guardian.land.death(守卫者在陆地死亡)、mob.guardian.attack(守卫者攻击)、mob.guardian.idle(守卫者空闲)、mob.guardian.land.idle(守护者在陆地空闲)mob.guardian.flop(守护者跳跃)。

远古守护者系列:

mob.guardian.elder.hit(远古守护者挨打)、mob.guardian.elder.death(远古守护者死亡)、mob.guardian.elder.idle(远古守护者空闲)。mob.guardian.curse(远古守护者加疲劳)。

狼系列:

mob.wolf.hurt(狼挨打)、mob.wolf.death(狼死亡)、mob.wolf.bark(狼空闲)、mob.wolf.panting(狼空闲2)、mob.wolf.growl(狼激怒)、mob.wolf.howl(狼嚎叫)、mob.wolf.shake(狼抖落水)、mob.wolf.whine(被驯服的狼祈求食物)、mob.wolf.step(狼走路)。

铁傀儡系列:

mob.irongolem.hit(铁傀儡挨打)、mob.irongolem.death(铁傀儡死亡)、mob.irongolem.throw(铁傀儡攻击)、mob.irongolem.walk(铁傀儡走路)

末影龙系列:

mob.enderdragon.hit(末影龙挨打)、mob.enderdragon.end(末影龙死亡)、mob.enderdragon.growl(末影龙空闲)、mob.enderdragon.wings(末影龙飞行)。

凋零系列:

mob.wither.spawn(凋零生成)、mob.wither.hurt(凋零挨打)、mob.wolf.death(凋零死亡)、mob.wither.idle(凋零空闲)、mob.wither.shoot(凋零射击)。

村民系列:

mob.villager.hit(村民挨打)、mob.villager.death(村民死亡)、mob.villager.idle(村民空闲)、mob.villager.haggle(打开交易)、mob.villager.yes(村民满意)、mob.villager.no(村民不满意)。

普通马系列:

mob.horse.death(马死亡)、mob.horse.hit(马挨打)、mob.horse.idle(马空闲)、mob.horse.breathe(马呼吸)、mob.horse.soft(马走路)、mob.horse.wood(被驯服的马走路)、mob.horse.gallop(马跑步)、mob.horse.angry(骑马/驯服马失败)、mob.horse.armor(马穿装甲)、mob.horse.leather(马穿鞍)、mob.horse.jump(马跳跃)、mob.horse.land(马落地)。

驴/骡系列:

mob.horse.donkey.hit(驴/骡挨打)、mob.horse.donkey.death(驴/骡死亡)、mob.horse.donkey.idle(驴/骡空闲)。mob.horse.donkey.angry(骑/驯服驴/骡失败)。

僵尸/骷髅马系列:

mob.horse.zombie.death(僵尸马死亡)、mob.horse.zombie.hit(僵尸马挨打)、mob.horse.zombie.idle(僵尸马空闲)、mob.horse.skeleton.death(骷髅马死亡)、mob.horse.skeleton.hit(骷髅马被打)、mob.horse.skeleton.idle(骷髅马空闲)。

豹猫/猫系列:

mob.cat.hitt(豹猫/猫挨打/死亡)、mob.cat.meow(猫空闲)、mob.cat.purreow(猫空闲2)、mob.cat.purr(猫吃鱼)、mob.cat.hiss(猫的嘶嘶声)。

猪系列:

mob.pig.say(猪挨打/空闲)、mob.pig.death(猪死亡)、mob.pig.step(猪走路)。

羊系列:

mob.sheep.say(羊死亡/空闲)、mob.sheep.shear(羊被剪)、mob.sheep.step(羊走路)。

牛/哞菇系列:

mob.cow.hurt(牛/哞菇挨打/死亡)、mob.cow.say(牛/哞菇空闲)、mob.cow.step(牛/哞菇走路)。

鸡系列:

mob.chicken.hurt(鸡挨打/死亡)、mob.chicken.say(鸡空闲)、mob.chicken.plop(鸡下蛋)、mob.chicken.step(鸡走路)。

兔子系列:

mob.rabbit.death(兔子死亡)、mob.rabbit.hurt(兔子挨打)、mob.rabbit.idle(兔子空闲)、mob.rabbit.hop(兔子跳)

蝙蝠系列:

mob.bat.hurt(蝙蝠挨打)、mob.bat.death(蝙蝠死亡)、mob.bat.idle(蝙蝠空闲)、mob.bat.loop(蝙蝠飞行)、mob.bat.takeoff(蝙蝠收起或开始飞行)。

(声音很多,不仅仅是生物的声音,甚至还有环境等声音,在这里不一一例举了)

1.time指令

timequery询问种类

2.toggledownfall指令

/toggledownfall

3.weather指令

这个指令用于改变玩家所在世界的天气。世界的天气一般都会随机改变,所以突然下雨或者突然打雷会非常烦人(亮度太低,影响建筑等工作),基本格式为

weatherclear

weatherclear1000000

数字最多填写1000000,折合起来大约在这个世界玩277个小时才会下雨/下雪或者雷暴,所以不用担心。(1.6.4之前原版获得闪电苦力怕的捷径,不用再苦等雷暴,但是1.7之后可以直接用summon)

注:在沙漠生物群系用weather设定的天气也不会下雨和雷暴,只是会降低亮度而已。

5.difficulty指令

此指令用于改变玩家游戏时的难度。和gamemode用法非常相似。基本格式为

difficulty难度

和gamemode一样,要输入对应的数字或者对应名称。

输入difficulty0或者difficultypeaceful即可将游戏难度转换为和平难度;

输入difficulty1或者difficultyeasy即可将游戏难度转换为简单难度;

输入difficulty2或者difficultynormal即可将游戏难度转换为普通难度;

输入difficulty3或者difficultyhard即可将游戏难度转换为困难难度。

说实话,在原版这个指令有些鸡肋。因为按Esc再设置处都能自主调节游戏难度。

具体用法和gamemode相同。也可以通过选择器的方法改变某个玩家的难度。

6.seed指令

由于某些原因请看截图

/seed

7.help指令

此指令用于帮助玩家查看其他的指令。当玩家忘记了命令格式或者想看看没有见过的命令什么的,就需要用到help指令。help单独使用就能成功。基本格式为

help页数

也可以不指定页数直接输入/help,默认为帮助栏的第一页。(“/”输不输都无所谓,只是很多人都习惯直接在聊天栏输入。如果聊天栏不加“/”默认为打一行字,在发送的时候会把这段话发出去而不是触发一个指令)

想看第二页的话输入

/help2

即可。2也可以改变为其他数字,范围为1-7,每一页都有不同的指令。运用这个指令就不用再费尽心思来搜集指令了。

没有作弊权限的玩家也可以使用这个指令,只不过显示的是另一个页面。

8.spawnpoint指令

用于设置玩家出生点。具体格式为

spawnpoint玩家名称坐标

此方法亦可配合选择器来做到玩家想做到的效果。

如果直接在聊天框输入/spawnpoint(注意,是聊天框,不是命令方块)便会将这个发出这项指令的玩家坐标设为此玩家呆在的坐标处。

(x,y,z的数值不能为负数,也就是意味着不能出生在虚空)

9.setworldspawn指令

这个指令和spawnpoint非常相似,但是这个指令和前者区别在于这个是用来设置世界出生点/出生区块。基本格式为

setworldspawn坐标处

因为是直接设置在某个地点,所以不用加上玩家。

当设置了世界出生点后,指南针将会指向这个地方(玩家最初始出生点)。玩家设置的出生点突然被改变(比如床被破坏或被方块挡住),那么玩家将会出生在这里。一般用于服务器,当设置世界出生点后开服,加入的玩家就会出生在这里。当然,setworldspawn更主要的用处适用于设置出生区块。玩家最初始出生的地点会被当做出生区块的中心点,也就是围绕着这个点附近都是出生区块。出生区块会一直加载,无论玩家在哪个地方。比如要激活某些命令方块,如果玩家离得太远就会导致这片区域不被加载从而激活不了命令方块。而将命令方块放在出生区块附近便可以避免这种情况。和使用spawnpoint的频率没有任何关系。

如果直接使用,便会默认为将玩家所在的坐标处设为出生区块的中心点。

1.setblock指令

比较常用的指令之一,这个指令可以用来放置方块,基本格式为

setblockxyz方块名称损伤值模式

和自己手动放置方块不同的是,比如刷怪笼、蘑菇方块(不算用精准采集的),原版中无法再创造背包界面得到的物品,用setblock都能得到。比如

setblock~~1~minecraft:red_mushroom_block

即可在上面1格处放置一个红色巨型蘑菇方块。用setblock弄出的方块方块会被强制放置,即使有实体会强制放置(如果是手动放置有生物在你想放置的地方的话是放置不了的)。

老样子,方块名称可以用F3+h进行查看。

在这里,这个数据值我需要强调一下。这个代表方块的状态,比如方向,或者像按钮在按进去这样的状态。数据值填写0-15,如果不填即为默认一种数据值。比如按钮,不同的朝向(默认为你放置方块的正面)就会有不同的状态,按下去也会有不同的数据值,这个也可用在testforblock。甚至召唤出各种神奇的东西,比如

setblock~~1~vine15

这个指令则会召唤出一种正常途径弄不出来的藤蔓方块,四面都是藤蔓而中间是空心的。

而setblock的模式则有三种,一种是destroy,在替换方块的时候会把方块破坏,而不是替换。破坏和替换的区别是,破坏会有特效声音并且会有掉落物(不开gamerule的情况下),而替换不会有特效声并且不会有任何掉落物。比如

setblock~~1~minecraft:redstone_block0destroy

这个就是利用destroy做的脉冲。它可以起到非常快速频率的效果。(使用最好用/gamerule把掉落物关了,不然还得kill@e[type=Item])

另一种是replace,这个是默认的,一般不输入任何模式都会默认为这个数据标签。意为把原来的方块替换。在数据标签处输入replace或者不填即可做到这个效果。

最后一种是keep,用来保存原有的方块。只要不是空气,如果有方块则不会放置方块。意为保留除了空气外所有的方块,在数据标签处输入keep即可。或者地形探索等。另外,使用setblock一定要算好坐标,否则替换错误可能会造成一些影响。

setblock给予玩家的方块也可以加上自身的数据标签,和give性质相同。

2.fill指令

用于填充一个区域的方块。和clone差不多,只是不用指定粘贴坐标,直接指定斜对角即可。基本格式为

fill填充坐标斜对角填充坐标斜对角方块名称损伤值方块模式

和clone相同,哪一个斜对角都一样。方块模式有五种,三种和setblock一样,有destroy、replace和keep(详情看setblock)。另外两种为hollow与outline。

hollow:

一旦用上这个方块模式,填充的方块区域外面一圈不会受到任何影响,但是里面会变为空心的(填充空气)。

需要保证是立体的,如正方体长方体这样的,不然一条直线会和普通的fill相同(用这种方法可以做围墙等等)。

outline:和hollow基本上相同,会将填充方块区域的外围一圈填充为指定的方块。但是中间的方块不会更改,就像keep一样,但是中间无论是什么方块都会被保留(空气依然会被保留)。

fill要和setblock区分开,setblock是在单个坐标处放置方块,而fill是填充一个区域的方块。比如

fill~~1~~~2~wool7keep

缺点是,fill只能让一个区域填充同样的方块,而不能指定这个区域各个地方都是方块。所以如果要做到这种效果的话的话需要连续fill才可以。

3.clone指令

此指令用于复制一片方块并且粘贴到某一个地方。这个指令在做需要换地形的地图里非常实用,比如运用自由选择更换地图等等。基本格式为

clone复制区域的一角复制区域的另一角(两个斜对角)粘贴区域clone数据标签

如果是单单的复制粘贴可以不填写clone数据标签。复制区域的一角与复制区域的另一角分别是要复制的区域的斜对角。两个斜对角都可以,坐标一定要对应,否则可能会造成一些偏差。如下图↓

而粘贴区域就是想把方块复制到的地方。对角线没有前后之分,所以无论是哪个坐标效果都不会改变,而粘贴区域的坐标一定要掌握好。粘贴区域的坐标一般都是复制过来的斜对角。

当然,y坐标相同只能复制一个平面的方块,如果要复制一片立体的方块区域,像下图这样就可以了。

clone指令的数据标签就和setblock相似,可以进行不同的复制方法。

clone数据标签有两大类,分别是复制种类和复制方法。总体顺序为

clone复制区域复制区域粘贴区域复制种类复制方法

复制种类和复制方法都是可以不填写的,或者填写一种都可以。复制种类分为filtered、masked和replace。

filtered:此指令用于区分方块的种类。在复制种类处填写filtered即可指定复制方块的种类。需要注意,这个数据标签的使用方法并不是filtere:minecraft:xxx,那样的话根本没有任何用处。详细用法请看最下方。

masked:此指令用于区分是否复制空气。在复制种类处填写masked即可在复制的时候不会复制目标区域里的空气方块。使用这个方法可以防止在错误复制一些空气方块来替换目标区域的一些方块。性质和replace稍微有些相似。

replace:此指令用于区分是否替换目标区域的方块。这是默认的复制种类,也就是说,不填写任何方式的时候会把粘贴区域的所有方块替换成复制的方块。如果不想改变克隆方块种类而必须要改变复制方法的话,那么可以填写这个数据标签。

而复制方法分为force、move以及normal。

force:此指令用于区分是否会强制复制目标方块。

move:此指令用于区分是否会将复制区域剪切到粘贴区域。也就是会把原来的区域变为空气。在复制方法处填写move即可直接粘贴方块。move只会剪切被复制的方块,也就是用filtered不会替换掉没被复制的方块。

normal:此指令用于区分复制方法是否是正常的方式。也就是普通的复制粘贴。这是默认的复制方法,在复制方法处填写normal即可指定普通的复制方式。normal一般可以用来和fitered配合。

filtered使用方式一般为

clone复制区域复制区域粘贴区域filterednormalminecraft:方块名

使用之后只会复制特定的方块。

(注意:很多人在最开始使用clone的时候总是复制不了任何方块,那是因为坐标的问题。方块对角坐标应该是玩家站在的对角坐标-1,也就是y-1)

1.op指令

此指令用于给予玩家op权限(管理员)。需注意op权限和飞行权限不同。飞行权限只是单纯的可以飞行,而op权限不单单是飞行,还可以用各种各样的指令(作弊权限+飞行权限)。基本格式为

op玩家名称

原版是无法使用的。当开了服务器之后,服主就能使用这个指令来给予其他玩家op,不需要装任何插件即可使用。

提醒各位服主:这是服务器里最需要慎用的指令!一定要先鉴定给予op的玩家是否有能力胜任这个职位,否则,后果不堪设想!一切服务器用指令毁灭现象的源头都是出自这个指令,所以请一定小心使用(熊孩子用op秒杀一切系列)!

2.deop指令

和op指令正相反,用于取消玩家的op权限。基本格式为

deop玩家名称

使用之后玩家将不再拥有op权限。但是建议:想制止用命令毁服的熊孩子,应该在最初要给op时就想好了,因为毁服只是一瞬间的事,给他们op后那短短的几秒,服务器都有可能会被毁掉。被毁服之后再deop已经晚了。

一般服主(腐竹)都用于惩罚那些拥有op权限的人,他们犯了错误一般要用到这个指令。

3.list指令

用于列出服务器的当前在线玩家。最初进入服务器也会提示一下当前在线玩家。当然,使用list不会显示已退出的玩家,但会显示刚进入的玩家。基本格式为

list

单独使用即可。效果为

这也会将玩家的在服务器的职业(op、接待、普通玩家等等)显示出来,可以一目了然。

4.ban指令

用于防止一个特定的玩家进入服务器。基本格式为

ban玩家名称

无论这个玩家是否加入过服务器,以后任何人用这个名字都进入不了这个服务器。

(PS:如果ban的玩家是没有加过服务器的,那么将会显示下图的样子)

ban玩家名称ban原因

原因由发起ban的玩家定即可。(最好加上,因为ban一个人其他玩家都能看到,无缘无故ban掉还是不太好,除非大家都知道了原因)

只要有op权限的玩家都能使用。所以腐竹一定要注意不要随便给不相信的人op,不然有可能op会滥用这个指令,可能会对服务器造成极大的影响。

5.ban-ip指令

这个指令比ban要上一个台阶,因为这个指令ban掉的玩家如果不恢复或者换ip就基本上进不来了。基本格式为

ban-ip玩家名称/ip地址

如果输入的是玩家名称(在不知道ip地址的前提下),那么这个所用的ip将会被ban掉并且以后无法进入这个服务器。而ip地址直接输入即可,比如一个ip地址为123.123.123,那么我们就用

ban-ip123.123.123

之后使用这个ip的玩家将无法进入这个服务器。

和ban一样,后面可以加上理由,因为在将玩家ban掉的时候会公布于众。

(注意:和ban不同的是,这个指令无法ban掉没有加入服务器的玩家,而ban指令却不用顾虑这一点)PS:只适用于固定宽带,路由器重启ip会变化,所以这个方法对路由器上网的无效。

6.pardon指令

用于取消对玩家或者ip的ban(不要误解任务有pardon-ip这个指令)。基本格式为

pardon玩家名称/ip地址

必须是用于被ban过的玩家才行。如果这个玩家并没有被ban那么这个指令并不会有什么效果。被ban的列表可以使用banlist来查看。

也就是说,使用完这个指令之后,被ban的玩家或者被ban的ip可以重新回到这个服务器(谨防熊op,比如腐竹ban掉一个人之后,被ban的人找到熊op给恢复...)。

7.setidletimeout指令

效果↓

对于清理一些总是没事在服务器占位置的,而腐竹和op又不能一直在线的话,这一招非常管用。

THE END
1.末日100天2.0下载1.12.2[灵衫]最新版1.12.2 配置需求:中配及以上运存要求:2G及以上 肝帝专区喜恐最爱胆小勿入 按键说明: “↑↓←→”这四个按键是在枪械组装时用的按键,如何使用,自己琢磨 “滑铲”这个按键要在冲刺下才能使用,否则不能达到滑铲效果 “一键丢弃”这个按键是可以将一组物品直接丢弃 注意事项: 枪械合成表是自制的请不要删除以下...https://www.7723.cn/ups/1217491
1.我的世界死亡物品不掉落指令电脑我的世界死亡物品不掉落指令1.12.2第二步: 我们在命令方块里面输入: /gamerule keepInventory true 就可以死亡不掉落了。 以上就是我的世界死亡物品不掉落指令电脑 我的世界死亡物品不掉落指令1.12.2的详细内容,更多关于我的世界指令大全的资料请关注脚本之家其它相关文章!https://www.jb51.net/gonglue/846391.html
2.我的世界JAVA怎么设置白天我的世界1.12.2设置白天死亡不掉落指令:/gamerule keepinventory true(关闭用false替代true) 防爆指令:gamerule mobgriefing false(关闭用false替代true) 这两个指令厉害了,它可以使你在不小心死亡的情况下身上的所有物品不会掉落,而防爆指令大部分的世界都是为了防止熊孩子把我们的房子炸掉! https://blog.51cto.com/u_16213628/9204307
3.饥荒死亡不会掉落物品MOD下载饥荒死亡不会掉落物品MOD我的世界1.12.2万能物品编辑器Modv0.6 绿色版 绿色版/中文/ 我的世界蜜蜂启动器(BeeLauncher)v2020 最新版 中文/ 饥荒死亡不会掉落物品MOD是为喜欢饥荒的玩家准备的MOD,这款mod可以使得玩家在饥荒游戏中死亡后再次复活时依然能够保存下自己的物品,而不用再跑老远去捡东西了,需要的玩家不要错过了! https://www.qqtn.com/gamefz/117530.html
4.我的世界1.12.2死后掉落破坏火焰蔓延关闭MOD免费下载死后掉落破坏火焰蔓延关闭MOD软件简介 1.12.2死后掉落,地形破坏,火焰蔓延关闭MOD是一个使游戏简单化的mod,让你死亡不会掉落物品,怪物不破坏地形,防止火焰蔓延。感兴趣就来下载使用。 使用方法: MOD适用于游戏版本v1.12.2,需要Forge 14.23.5.2768安装。 查看更多 ...https://xiazai.zol.com.cn/detail/50/499861.shtml
5.我的世界死亡不掉落(InventoryKeeper)插件玩家死亡后将优先扣除背包中物品,最后再扣除玩家账户中的虚拟物品。 对于拥有权限的玩家,则玩家死亡不会掉落的同时也不会消耗复活币(虚拟、真实物品)。 所设置的物品支持自定义头颅、自定义模型id(1.13+) 现已支持星系(Galacticraft)模组的物品栏死亡不掉落(1.7.10/1.12.2) ...http://www.minecraftxz.com/inventorykeepermod
6.盘点MC百大历史(四)不要试图在下界创造一个雪傀儡,这会让它立即死亡。从这点来说“我的世界”还是很科学的。毕竟雪的本质依然是水。 11、岩浆延伸 你是否会发现,自己在地狱总是会被岩浆灼伤?除了岩浆分布更广以外,岩浆的流速和范围也更大。就好比水流一样,在主世界只能单向延伸3格的岩浆,在下界可以延伸至7格。 https://www.jianshu.com/p/d43f84809a05
7.魔兽世界死亡矿井掉落装备汇总魔兽世界60年代怀旧服副本有很多,例如死亡矿井正是当中之一。那么作为怀旧服1.12版本低级副本,死亡矿井掉落什么装备?下面就为大家带来魔兽世界怀旧服死亡矿井掉落物品汇总。 魔兽世界死亡矿井掉落什么装备 1、矿工约翰森 矿工斗篷 拾取后绑定 背部 16点护甲 +3 耐力 需要等级 14 ...https://m.3dmgame.com/ol/gl/59470.html
8.咸阳市人民政府造成3人以下死亡,或者10人以下重伤,或者直接经济损失50万元以上1000万元以下,或者连续中断行车2小时以上6小时以下的运营突发事件。 上述分级标准有关数量的表述中,“以上”含本数,“以下”不含本数。 2 ?运营突发事件分类 ? 附件2 市应急指挥部各成员单位及 ...https://www.xianyang.gov.cn/zfxxgk/zcwj/zfbwj/202405/t20240530_1773253.html
9.危险作业管理制度(精选12篇)4.2.2申请动火单位,应根据动火安全规定落实动火中的各项动火措施,安排好动火监护人(不得少于2人且至少有一名男职工)后方可申请动火。 4.2.3动火证由申请动火单位指定专人或动火项目负责人办理,动火证由公司安全部门审批,特别危险区动火,报分管生产副总审批。 https://www.ruiwen.com/guanlizhidu/5474827.html
10.1.12木喉要塞声望攻略魔兽世界1.12木喉要塞声望怎么刷有几率掉落串珠,可以去找NPC萨尔法兑换声望。 魔兽世界怀旧服简介 怀旧服是暴雪官方的经典旧世版本,将玩家带回到魔兽世界最初的六十年代。 游戏于2019年8月末上线,国服由网易代理运营,虽然名称为怀旧服,但是并不是魔兽世界的一个服务器,是有独立客户端的。 https://gl.ali213.net/wenda/49193.html
11.[已完成]将要逝去的1.12,猎人RAID不完全手册(无图不杀猫)NGA玩家...B.低吼,不需要训练点,何乐不为。C.爪击8,在冬泉可抓熊学习 D.急跑3,冬泉学习 E.隐身1或者2: ...https://bbs.nga.cn/read.php?tid=1007330&rand=591
12.我的世界1.12.2java下载我的世界1.12.2电脑版下载我的世界死亡不掉落指令,怎么设置? 1、打开我的世界并且进入一个存档 2、按下T键 3、输入/gamerule keepInventory true 4、回车后应该是这样的 5、这个世界死亡就不会掉落物品了了,但是!地狱世界和末地会掉落! 6、如果需要在地狱里死亡不掉落,就到地狱世界输入上面的指令 ...https://blog.csdn.net/weixin_39953673/article/details/111485418
13.凋灵? 在PAX上, Dinnerbone透露有可能会通过某种摆放凋灵骷髅头颅的方式来生成凋灵。[1][2] 12w36a 现在,凋灵可以通过在摆成“T”字形的灵魂沙上放置三个凋灵骷髅头颅来生成它。 凋灵现在在死亡时会掉落20点经验和一个下界之星。 12w37a 凋灵在生命值加满后会大规模地爆炸。 当凋灵没有攻击目标时,有时会发射蓝...https://minecraft-zh.gamepedia.com/index.php?title=%E5%87%8B%E7%81%B5&variant=zh-sg&mobileaction=toggle_view_mobile