如何应用TESTFOR指令输出的结果

更新时间:01-28 教程 由 果儿 分享

如何应用TESTFOR指令输出的结果?

运用testfor指令检测玩家物品栏中是否有一定的物品

/testfor @p {Inventory

[{Slot:0b,id:minecraft:stick,Damage:0s,Count:1b,tag:{display:{Name:"123"}}}}]}

@p就是最近玩家

Inventory是背包

Slot是指玩家槽位,单位是b,可选可不选

id就是物品的id,不用多说

Damage默认为0,用来检测如彩色的羊毛,相当于辨别多个相同物体

tag就是一个连接符,用来连接一个NBT与另一个NBT。如这个木棍有“123”这个名字,想同样检测到这个名字,或者其他属性,就用tag连接。如有附魔属性就了连接ench,有注释就连接lore等

接着关于testfor的红石电路,可自行查阅

接着说scoreboard

掌握了testfor的红石电路后,连接有scoreboard的命令方块

设置变量:

首先要设置一个变量,就是要给玩家加分要先选定这个变量,接着选定玩家,予以加分

/scoreboard objectives add test dummy

dummy指变量,test就是设置的那个变量,可以改名

/scoreboard objectives add Test1 deathCount

就是给test1这个变量设置一个判据,为deathcount即死亡次数

关于判据的相关信息可自行查阅

加分

好,那么设置完了变量和判据,就该设置玩家加分项了

/scoreboard players add @p Test 1

players add指加分

@p指最近的玩家

test指设置的变量,比如刚刚设置了变量test,那就给这个变量的玩家分数予以改变

1就是加一分

如果把players add改成set和remove,则代表设置分数和减去分数

好,接着设置指令以让玩家知道自己的分数

/scoreboard objectives setdisplay sidebat Test

setdisplay是显示分数

sidebat是旁边,也可以设在上面

test是刚刚设置的变量

接着说检测分数

如果一个玩家的分数到了20分,那他就赢了,该如何设置呢

/tellraw @a[score_Test_min=20] [{"text":"你赢了"}]

就是检测变量为test的玩家分数到了20,他就赢了。

tellraw是指令,用来在对话框显示文字

@a是所有玩家

text可以随意修改,保持格式即可

想要做这个指令,一定要做一个红石脉冲,那“你赢了”也就会一直显示

所以要重置一下分数

/scoreboard players set @a[score_Test_min=20] Test 0

就是当有个玩家分数到达20时将分数设为0,即重置。你也可以设置不同的玩家不同的分数,不同的变量不同的分数

然后可以设置一个传送,tp所有玩家至大厅或任何地方

总结一下,在我的世界做一个地图是很不容易的。别看那些红石命令大神做出来的地图怎么怎么好,一张图至少几百个命令方块,几千条指令,还要考虑红石电路,命令变量等等...如果是新手不建议做那些很高能的地图。做出来了也不一定做好...

(纯手打,除指令外没有任何复制粘贴。如果对你有帮助请采纳)

声明:关于《如何应用TESTFOR指令输出的结果》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2296806.html