第189章 ,/.

{Attributes:[{A属性},{B属性},{C属性}]}

既然是属性,我们就不妨复习一下一百零五章的属性修饰符:

“{AttributeModifiers:[{}]}

在这个文件夹里,有这么几个文件,需要我们修改一下(记得去“*”号):

AttributeName*——要修改的属性id

Name*——要修改的属性名字

Slot*——指定生效的槽位

Operation*——属性数值是怎样运算的

Amount*——属性数值

UUIDMost*——这个属性UUID的高位

UUIDLeast*——这个属性UUID的低位”

可以发现,当时讲到的属性修饰符,里面有很多个标签。

但别忘了,属性修饰符是属性的修饰符啊,我们现在才深入到属性啊,所以我们得先看看一个属性需要几个标签:

Name——属性的名称

Base——属性的基础值

Modifiers——属性的修饰符

只有三个,看起来非常简单。实际上也非常简单,比如我们的生命最大值,它就是这样的:

{Attributes:[{Name:“generic.max_health“,Base:20}]}

我们要修改,除了给这个属性添加修饰符,还可以直接把Base值修改。

那么Base可以修改到什么程度呢?

这个Base值的类型是“双精度浮点型”,比我们上一章提到的“单精度浮点型”高级了一倍。

注意,这里的“高级了一倍”不是作者自己猜的,而是有实际依据的,因为:

单精度浮点型——占用空间:32位(4字节)

双精度浮点型——占用空间:64位(8字节)

这章没有结束,请点击下一页继续阅读!

占用空间增加了一倍,确实是高级了一倍。

但如果按照这样子说的话,64位系统岂不只是32位系统的两倍?

那肯定是不对的。所以我们的这两个浮点型,它们虽然占用空间是两倍的关系,但实际可储存的数值是:

单精度浮点型——取值范围:-3.4E38~3.4E38

双精度浮点型——取值范围:-1.E308~1.E308

嗯,确实,是高级了亿倍.......好像还不止

所以,其实你的生命值上限最高并不是2048,也不是,而是:

1.×3081?!

所以,你还敢说你的创世之刃是能秒杀一切的武器了吗?

剩下的Modifiers就很简单了,因为我们早在第一百零五章就讲到了。只不过这里的Modifiers有些不一样,它只剩下了四个参数(1.16及以上5个):

Name——要修改的属性名字

Operation——属性数值是怎样运算的

Amount——属性数值