Minecraft(我的世界)中文论坛
标题: 【1.9新特性】15w36d 物品的盔甲值
作者: MsYqgzt 时间: 2015-9-5 08:45
标题: 【1.9新特性】15w36d 物品的盔甲值
本帖最后由 MsYqgzt 于 2016-4-16 23:04 编辑
大家好,今天教大家如何在1.9新预览版本中做出自定义的盔甲值物品。为什么说是物品呢?这要说到以往版本的NBT:AttributeModifiers
实验之前我先开启了对自己盔甲值判据的计分板以便分析。
首先跟以往不同的就是盔甲值可以由玩家改变了,官方数值在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的羊毛

以下为@chyx 的补充说明:
为防止刷屏
可以加入Slot 可以是"mainhand", "offhand", "feet", "legs", "chest", "head"
像这样
{AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"Test",Amount:10.0,Operation:0,UUIDLeast:1l,UUIDMost:1l,Slot:"torso"}]}
不加就会认为是所有位置 于是刷屏
====================END=====================
[groupid=1009]The Command's Power[/groupid]
作者: GrowlR 时间: 2015-9-5 08:53
这是什么鬼?
作者: zyx2 时间: 2015-9-5 08:55
反正我是没看懂,是看懂了留个言
作者: nb_shandy 时间: 2015-9-5 09:43
谢谢LZ,我终于搞清楚这个值的影响了
作者: 小烨 时间: 2015-9-5 09:48
所以30护甲值不会无敌是吗
作者: 迷途的路人 时间: 2015-9-5 10:00
没看懂。。。{:10_522:}
作者: rshengcun_qwq10 时间: 2015-9-5 10:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: MsYqgzt 时间: 2015-9-5 10:11
并不会卡服
作者: 埃克斯歪 时间: 2015-9-5 12:01
这属性是要刷屏的节奏吗……
作者: lzs1234 时间: 2015-9-5 12:02
护甲值为30的靴子从高空掉下来依然有伤害?
作者: chyx 时间: 2015-9-5 13:13
为防止刷屏
可以加入Slot 可以是"mainhand", "offhand", "feet", "legs", "torso", "head"
像这样
{AttributeModifiers:[{AttributeName:"generic.maxHealth",Name:"Test",Amount:10.0,Operation:0,UUIDLeast:1l,UUIDMost:1l,Slot:"torso"}]}
不加就会认为是所有位置 于是刷屏
作者: chyx 时间: 2015-9-5 13:17
铠甲一直不防摔落伤害吧
作者: rroki 时间: 2015-9-5 13:37
最大防御么,只是防物理伤害。= =
作者: bobby825 时间: 2015-9-5 14:25
就是说防御值只能介于0到30之间?
作者: 蛇经病 时间: 2015-9-5 15:51
看不懂啊!
作者: MsYqgzt 时间: 2015-9-5 21:04
chyx 发表于 2015-9-5 13:13
为防止刷屏
可以加入Slot 可以是"mainhand", "offhand", "feet", "legs", "torso", "head"
像这样
你发过了么,或者说允许我讲解么...
作者: chyx 时间: 2015-9-6 00:15
谢谢征求我的意见
在这个帖子后面补充上啊 提下我就好了
比如说感谢chyx提醒什么的
作者: lichi2050 时间: 2015-9-6 00:49
如果设定成“mainhand”时加30防御然后不给予“body”的话拿到手里才会有效果是吧。。。
(这种设定总觉得怪怪的)
作者: chyx 时间: 2015-9-6 01:29
这种怪异感要赖想出它的人
就是你
作者: 840196733mw 时间: 2015-9-6 12:17
最后的言外之意是指nbt可以给盾牌加护甲吗?
作者: chyx 时间: 2015-9-6 17:35
要是把这放在盾牌上倒是挺合理的
作者: chyx 时间: 2015-9-6 18:12
/give chenyuxuan minecraft:shield 1 1 {AttributeModifiers:[{AttributeName:"generic.armor",Name:"Test",Amount:5,Operation:2,UUIDLeast:1l,UUIDMost:1l},{AttributeName:"generic.armor",Name:"Test",Amount:1,Operation:0,UUIDLeast:1l,UUIDMost:11l}]}
还能这么玩 1次函数233
作者: 坟王811 时间: 2015-9-19 19:57
实测这个Attribute对生物有效
作者: GoldenMC 时间: 2015-9-20 09:10
日常报道,每日一顶
作者: Gtrog 时间: 2015-10-25 08:32
指令改过generic.Armor的护甲比如一个靴子和一个胸甲穿身上护甲值不会堆叠怎么破。后来发现自定义装备上都是attributename.generic.armor+?,试了一下,generic.armor的a不大写时会和默认护甲显示的护甲值一样格式:Armor+?,但是依然无法堆叠护甲值。。。要怎么才能做到堆叠护甲值呢。
作者: Jack洛洛 时间: 2017-7-9 16:46
请问一下:是否生物群戏大小范围也可以在config文件修改?