实验之前我先开启了对自己盔甲值判据的计分板以便分析。
首先跟以往不同的就是盔甲值可以由玩家改变了,官.方数值在0~30之内
默认的装备盔甲值是固定的,而且是锁定在身上的效果。
那么如果用之前的装备属性NBT来改变呢,就又是另一种情况。
用指令刷出一个带有速度加成的盔甲
指令:
/give @a minecraft:diamond_chestplate 1 0 {AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:0.05,AttributeName:generic.movementSpeed,Name:speed}]}
这样刷出的是对所有列出物品栏条件都触发效果,光是拿在手上就有速度加成,
但是穿上以后整个人都慌了。。。
可以看到全身钻石甲的人护甲值不满20.其实准确的说就是胸甲本身没有被赋予护甲值的属性。
那么就需要相应的属性NBT。
指令:
/give @a minecraft:diamond_chestplate 1 0 {AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:30,AttributeName:generic.Armor,Name:armor}]}
这里新增的属性名字为:generic.Armor
好了,这样就获得一个护甲值为30的胸甲,瞬间秒杀其他防具
前面说过了,任何物品都能被赋予这个属性并且有效,那是因为这种方式得到的物品对所有之中列出的物品栏都有效
开启盔甲值判据计分板
将物品拿在手上,可以看到护甲值变为30
只穿这个胸甲也是可以的
那么接下来我们研究护甲值高低的影响,取两个最值来研究,30和负值。
官.方描述护甲30就是所谓的无敌,我们来试试。
通过普通僵尸的攻击后会发现,我们的血量并不是不会减少,而是半颗心半颗心地扣,
所谓的无敌只能说是最大防御,不能避免损害
接下来试试摔伤,用胸甲判定摔伤显然不行。
那么我们试试靴子,穿上护甲值30的靴子以后,从24格高空摔落,发现然并卵。
那么可以得出结论:护甲值只能防护非不可抗力的伤害,外来伤害除了基础防护,其余直接影响。
接下来试试负数等级的防护值,将胸甲的防护值设为-10
试验后发现护甲值依旧是0,攻击也没有增加损害
因此负数等级的护甲值将会被视作无护甲值计算。
最后的亮点:护甲值为30的羊毛