扫码在手机阅读
手机阅读《Minecraft指令手册》
Minecraft指令手册

第114章死亡的玩家到底是不是个实体

3.创建一个新的名为“测试”的计分项,并把它显示在侧边栏

4.获得并放置一个一直重复执行的命令方块,并写上/sreboard players add a 测试 1

5.将模式调到生存

首先先给正在参加高考(没错今天高考,不会有人不知道吧?不会吧?)的各位送上一个祝福。

然后估计大家看了这么多章NBT后头有些疼吧?那么接下来我们做一个中场休息,开一个新的第十二卷:中场休息。

实际上作者比你们更头疼,毕竟NBT这东西,五分靠记忆一分靠Minecraft Wiki。

但这仍然无法回答我们的问题:死亡的玩家到底是不是个实体?

为何呢?

因为a是“全部玩家”,而e才是“全部实体”啊!

如果e包含死亡的玩家,那么死亡的玩家是实体,如果没有,那就不是实体。

那么使用e怎么才能变成类似a的效果呢?

很久以前就说过了,是e[type =players

接着实验继续:

7.将模式再一次调回创造

8.将命令方块内的/sreboard players add a 测试 1改成/sreboard players add e[type =players]测试 1

9.再一次将模式调回生存

10.输入/kill,同时观察侧边栏的值有没有停止增加

你猜结果怎么着?

当死亡的那一刻,侧边栏的值就停止增加了!

这说明了什么呢?

死亡状态的玩家,他根本就不!是!一!个!实!体!

虽然你可以使用a检测到他,但你无法用e[type =playe

检测到他!

但得出了这个结论,我们也就同时得出了另一个结论:

在Minecraft中,处于死亡状态的生物他不是一个实体!

这就可以说明为什么死亡的生物会雪~花~飘~飘~(北~风~啸~啸~,天地~一片~苍~茫~~~~~)变成一个粒子效果然后消逝。

那么这个冷知识到底有什么用呢?

我们知道a包括全部玩家,e[type =players]包括除死亡玩家外的所有玩家,那么我们就可以得出一个公式:

a -e[type =playe

=die(die指死亡玩家)

也就是说可以用a和e[type =playe

这两个的差来检测死亡玩家。

但如果要检测单个玩家的死亡呢?

建议提出这种问题的人重读一下小学,看看上面这个公式是什么运算?

减法!

既然是减法,你当然可以通过“两个减数同时加上或减去相同的数,差不变”的减法性质,来对a和e同时添加相同的额外条件,让结果不变,而同时又实现别的功能,比如同时添加一个计分项值判定,就可以判断单个玩家了是不是?这样子,你就可以在基岩版做出一个死亡榜了!

而上面这段话也同时证明:虽然MC不归牛顿管,但还是归阿基米德管的嘛。

所以理科要学好啊,不然你连一个游戏都玩不好啊。

嘿,那位,别暂停了,继续放。

一~剪寒梅~~傲立雪中~~

只为~伊人~飘~香~~~~

爱~我所爱~~无怨无悔~~

此情~长留~心~间~~~~

........

完蛋被一剪梅洗脑了

那么剩下四分呢?全靠理解力!

接着就该进入今天的正题了:死亡的玩家到底是不是个实体?

1.开启我亲爱的基岩版

2.创建一个新的存档

接下来这个问题就来了,这个锁定全部玩家,是指锁定全部活着的玩家,还是全部的玩家?

OK,在断更了一周多之久后,作者我又回来啦!

我们知道,一个游戏中的玩家,他和你一样,有两种形态:活着和死了。

你死了,那就真死了,但就算你死了,起码你还是一团物质,有质量。

为了了解这个问题,并把“?”拉直成“!”(等等,你这是???),我们需要找到游戏的外部文件,然后.......

肯定是后者,不然为什么Mojang为什么是写“全部玩家”而不是写“全部活着的玩家”呢?

当然过早下结论是不行的,还是得要实验的。

具体的实验过程(有兴趣的可以自己做一做):

现实中一个人是一坨物质,死了,也是一坨物质。

MC里的玩家是一坨实体,死了,是不是也是一个实体呢?

6.输入/kill,同时观察侧边栏的值有没有停止增加

结果应证了我们的猜想:a包含死亡的玩家。

呃,其实不用这样的,我们可以直接从目标选择器入手,因为通过目标选择器,可以锁定目标玩家。

s、r、a、p都是用来锁定目标玩家的,而其中的a可以锁定全部玩家。

那么MC里的玩家死了会变成什么呢?

  • 加入收藏
  • 目录
  • A+
  • A-