本帖最后由 龙腾猫跃 于 2015-7-14 21:47 编辑

命令方块全图文教程

第九节 物品属性

本节信息

教程使用版本:1.8.1
教程适用版本:1.8及以后
教程更新时间:2015-02-05

我先发一章把那些说我弃坑的人的嘴巴堵上= =!注意复制的命令记得把空格删了!
  首先,这一节要讲啥?直接上图:
     
  我们先上一只正常的钻石剑:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword}}
复制代码
  物品生成后,我们可以看到,这里有个“攻击伤害 +7”,这货就是物品的属性(有些人叫“DNA数据”),我们今天就要拿它开刀……
     
  我们再使用这个命令:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage}]}}}
复制代码
  生成的物品似乎与刚才的没有区别,但它的属性却是人工指定的……
     
  那么,刚才那一串到底是哪里在控制攻击力?大家再用这个命令:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:1000,AttributeName:generic.attackDamage,Name:Damage}]}}}
复制代码
  我的天,真是1000的攻击力!
     
  我们来验证一下是不是真的有一千攻击……怎么验证呢……呢……
     
  咳咳,不要吐槽我欺负BOSS  = =,总之,这个属性修改确实有效!那么,我们来分析一下命令:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
  2.  AttributeModifiers:[
  3.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:1000,AttributeName:generic.attackDamage,Name:Damage}
  4.  ]
  5. }}}
复制代码
  多出来的这个“AttributeModifiers”,就是修改的属性了。这些代码比较繁杂,通常复制粘贴吧= =……修改数值,只需要修改第3行的“Amount”后面的数字。比如这样会发生什么?
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
  2.  AttributeModifiers:[
  3.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:-233,AttributeName:generic.attackDamage,Name:Damage}
  4.  ]
  5. }}}
复制代码
     
  啊喂,负攻击真的没关系么?会不会负负得正,给怪物补血了?还是实验一下吧……
  你会发现,你TMD打不动小果冻了T^T…………但是根据测试,不会补血,当伤害小于0只会攻击无效……
     
  然后,第二个属性:速度。上~代~码~
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
  2.  AttributeModifiers:[
  3.   {Operation:0,UUIDLeast:4,UUIDMost:4,Amount:0.1,AttributeName:generic.movementSpeed,Name:Speed}
  4.  ]
  5. }}}
复制代码
     
  喂,这个弱渣,增加0.1的速度有毛用!但是我要告诉你,0.1就是提升1倍,史蒂夫的基础速度就是0.1!
  继续测试。没拿钻石剑的时候:
     
  拿着的时候,视野明显增大了,走起来那可是= =……
     
  大家需要注意的是,这个千万别乱弄,设置个几万,走一步就是几十区块,然后MC就崩了!这个数据对飞行速度没有加成。然后是负数测试……
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
复制代码
  同样,负数不会负负得正,也不会让你倒着走,只会让你无法移动,你就只能……当!兔!子!
     
  看这神奇的视野……
     
  或许大家注意到了,刚才设置了速度的钻石剑的攻击属性消失了,所以我们必须得手动把它补上来,以后设置了属性的都是这样。
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
  2.  AttributeModifiers:[
  3.   {Operation:0,UUIDLeast:4,UUIDMost:4,Amount:0.1,AttributeName:generic.movementSpeed,Name:Speed},
  4.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage}
  5.  ]
  6. }}}
复制代码
  看吧,实际上设置多属性也是很简单的!注意第3行末尾的逗号就是。
     
  掌握了这些,上第3个属性,生命提升……这可不是药水效果,是货!真!价!实!的!生命提升……
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
  2.  AttributeModifiers:[
  3.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage},
  4.   {Operation:0,UUIDLeast:3,UUIDMost:3,Amount:10,AttributeName:generic.maxHealth,Name:Health}
  5.  ]
  6. }}}
复制代码
  召唤出的物品也确实带上了这个属性= =
     
  改成生存测试一下?
     
  嗯……这个也要注意!不要改太大,很卡的,比如作死的一百万:
     
  然后,负数可以减少生命值,如果在0以下……
     
  心会全部消失,但是也不会无限秒杀,而是你轻轻碰一下仙人掌就洗白白了!
     
  这里有个需要注意的地方,比目前最大生命多出来的生命值不会清空而会保留,但是受伤后多出来的这部分会被无视。
  举例:1.你拿生命+20的物品前,生命只有20,但是拿着之后,20的生命慢慢恢复成了40。
     2.这时,你不拿物品,最大生命从40变成了20,所以看起来只有20的生命。
     3.但是如果你再把物品拿起来,会发现你没有经历1.中的从20恢复到40的过程,而直接就是40。
     4.现在不拿物品,最大生命还原到20,如果这时受伤,再拿起物品,却发现生命不是40。
  上面的看不懂就算了= =!~

  第四个属性:击退抗性。
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{
  2.  AttributeModifiers:[
  3.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:7,AttributeName:generic.attackDamage,Name:Damage},
  4.   {Operation:0,UUIDLeast:2,UUIDMost:2,Amount:0.5,AttributeName:generic.knockbackResistance,Name:K_Resistance}
  5.  ]
  6. }}}
复制代码
  注意,击退抗性的最高值就是1,1即为100%。由于默认是0,所以负数无用。
     
  截图就不上了,原因你懂。但是根据我的测试结果,这个数据会减少被击退的概率,还会减少部分击退距离。
  比如说,击退抗性0.2(20%)的时候,你只有80%的几率被击退,并且被击退的距离也会减少(但是不是20%,具体未知)。
  所以,当抗性是1(100%),你就不会被击退了,所以再高也没用= =
  大家注意一下,实际使用时,不同装备的“UUIDLeast”和“UUIDMost”必须不一样,要不然属性会冲突的OwO!
  下一节,制作物品の实战练习~看看这几节你掌握了多少!最后,放出本节第一张图的物品代码:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,tag:{AttributeModifiers:[{Operation:0,UUIDLeast:1,UUIDMost:1,Amount:1000.0,AttributeName:generic.attackDamage,Name:Damage},{Operation:0,UUIDLeast:2,UUIDMost:2,Amount:10,AttributeName:generic.knockbackResistance,Name:K_Resistance},{Operation:0,UUIDLeast:3,UUIDMost:3,Amount:100.0,AttributeName:generic.maxHealth,Name:Health},{Operation:0,UUIDLeast:4,UUIDMost:4,Amount:0.01,AttributeName:generic.movementSpeed,Name:Speed}]}}}
复制代码


20.jpg (11.26 KB, 下载次数: 65)

20.jpg

21.jpg (19.29 KB, 下载次数: 67)

21.jpg

22.jpg (21.3 KB, 下载次数: 66)

22.jpg

24.jpg (34.51 KB, 下载次数: 66)

24.jpg

25.jpg (35.19 KB, 下载次数: 65)

25.jpg