第189章 ,/.

在第一百一十二章到一百一十三章这两章里,我详细地介绍了实体的通用NBT,或者说是实体的基础NBT。在此基础上,Mojang又添加了一些新的NBT,这些新的NBT加上原来的实体NBT,就变成了:

生物的共通NBT

生物的共通NBT的内容相较于实体基础NBT增加了很多,以至于要用更多的篇幅去讲述它。当然这些并不一定要背下来,稍微了解个大概,需要用的时候过来看就行了。有时候用着用着说不定就记下来了呢!(当然,荒废一段时间还是会还回去的)

那么这些共通的NBT到底是什么呢?

我们知道,一个生物,最基础的就是血量,所以共通NBT自然而然就有血量:

Health(值:数值)

这个Health就是生物的血量值。但如果你玩过游戏,应该就会知道一个生物的血量至少要有两个变量:

1.当前的血量

2.血量最大值

而这个Health就是指当前的血量,比如现在有一只猪它有1滴血,它的NBT就是:

{Health:1}

但实际上,很多时候这个Health并不是个整数,而是个小数(准确的来说是“浮点数”)。比如你徒手去攻击一位全是钻石套的大佬,你别看它的心数没变,就认为你的攻击没起到作用,实际上是因为伤害过小被约没了而已,因为这个大佬在受伤后的的Health是:

{Health:19.}

你给这位大佬造成了0.0滴血的伤害,相当于这位大佬血量的3.‰

嗯,确实够小的。

而有时候,Health也可以达到负数,比如你一击就秒了对方,那么对方在临终前的血量就是:

{Health:-623.5}

嗯,这伤害都够同时秒末影龙和一只JAVA版的凋零了。

而如果这个Health的值超过了所允许的最大值,比如你通过修改器把自己的血量修改成了会怎么样?

答案是你进入游戏后就会拥有滴血,只不过这并没有什么卵用,因为当你遭受到了伤害,就算是一点点,游戏也会:

本次攻击共造成了0.00635滴血的伤害,正在扣除中

我靠,这家伙的血量怎么超过了这个生物属性里的generic.maxHealth*数值!

(*关于generic.maxHealth早在第一百零五章时就讲到了,当时就已经讲到了生物的属性,建议忘记的同学赶紧回去复习一下)

不行,这家伙绝对开挂了!必须要干点什么。

也不知道这家伙在修改之前的生命值是多少。算了,直接改成允许的最大值吧!

——Health的值从变成了20