命令方块全图文教程

第十节 物品实战

本节信息

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

物品相关教程最后一节!建议没看以前教程的先去看看,看过的一定要弄懂,不然这节看不懂我可不管。
  首先,做RPG地图,如果总是summon,不好~那么,summon和give是可以来回转换的。从一个简单的开始:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,
  2.  tag:{ench:[{id:20,lvl:1}]}
  3. }}
复制代码
  这个命令会召唤一个带有火焰附加附魔的钻石剑,附魔相关在第六节讲过了,如图。
     
  如果我们要把这个summon指令转换为give怎么办?首先,我们写出召唤一个普通钻石剑的give指令:
  1. /give @a diamond_sword 1 0
复制代码
  然后,看向刚才的summon的第二行,就是tag那里:
  1. tag:{ench:[{id:20,lvl:1}]}
复制代码
  我们把这里的“tag:”后面的一坨放在刚才give指令的最后,就有了一个新命令:
  1. /give @a diamond_sword 1 0 {ench:[{id:20,lvl:1}]}
复制代码
把它放进命令方块,可见可以用。
     
  再来一个例子,这次是有名称和介绍的钻石剑。
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword,
  2.  tag:{display:{Name:"名称",Lore:["介绍"]}}
  3. }}
复制代码
  测试效果:
     
  仍然,我们把“tag”里面的内容给找出来:
  1. tag:{display:{Name:"名称",Lore:["介绍"]}}
复制代码
  接着把它放到/give @a diamond_sword 1 0的后面:
  1. /give @a diamond_sword 1 0 {display:{Name:"名称",Lore:["介绍"]}}
复制代码
  测试效果:
     
  懂了吗……?没懂我也要继续了,举了俩例子了= =……
  接下来,我们研究summon物品的特效处理。如果我们要把物品留作展示,我们要让它无法拾起并且无法消失:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword},PickupDelay:32767,Age:-32768}
复制代码
  这俩东西前面都讲了,这里不再赘述。我们可以发现,这两个NBT标签不在tag里面,所以它们也无法放进/give。效果就是这样:
     
  接着,我们可以给它设置姓名牌=w=~姓名牌的设置已经在第五节教了,也不再多说。直接上命令:
  1. /summon Item ~ ~1 ~ {Item:{Count:1,id:diamond_sword},PickupDelay:32767,Age:-32768,CustomName:"23333",CustomNameVisible:1}
复制代码
  测试效果:
     
  注意,物品姓名牌必须设置“CustomNameVisible:1”,不然基本不会显示。利用这个展示物品啥的还是不错哒!
  我们再做一些RPG的物品~顺带复习一下前面的知识。
  1. /give @a blaze_rod 1 0 {
  2.  display:{
  3.   Name:"炙热之棍",
  4.   Lore:["燃烧……燃烧……"]},
  5.  AttributeModifiers:[
  6.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:3,AttributeName:generic.attackDamage,Name:Damage},
  7.   {Operation:0,UUIDLeast:2,UUIDMost:2,Amount:-4,AttributeName:generic.maxHealth,Name:Health},
  8.   {Operation:0,UUIDLeast:3,UUIDMost:3,Amount:0.05,AttributeName:generic.movementSpeed,Name:Speed}
  9.  ],
  10.  ench:[
  11.   {id:32,lvl:2},
  12.   {id:20,lvl:5},
  13.   {id:17,lvl:1}
  14.  ]
  15. }
复制代码
  先不要叫着复杂!测试一下效果:
     
  这个经典的物品几乎涵盖的RPG需要的所有元素,包括物品名,介绍,附魔,自定义属性。现在详细地看看这个命令:
     
  如果觉得显示太烦人,那么我们可以在设置HideFlags以后自己编写属性介绍:
  1. /give @a blaze_rod 1 0 {
  2.  display:{
  3.   Name:"炙热之棍",
  4.   Lore:[
  5.    "燃烧……燃烧……",
  6.    "",
  7.    "+3 攻击力",
  8.    "-4 生命上限",
  9.    "+50% 移动速度",
  10.    "+19 火焰附加",
  11.    "+2.5 对亡灵生物攻击力",
  12.    "Lv2 挖掘速度增幅"
  13.   ]
  14.  },
  15.  HideFlags:3,
  16.  AttributeModifiers:[
  17.   {Operation:0,UUIDLeast:1,UUIDMost:1,Amount:3,AttributeName:generic.attackDamage,Name:Damage},
  18.   {Operation:0,UUIDLeast:2,UUIDMost:2,Amount:-4,AttributeName:generic.maxHealth,Name:Health},
  19.   {Operation:0,UUIDLeast:3,UUIDMost:3,Amount:0.05,AttributeName:generic.movementSpeed,Name:Speed}
  20.  ],
  21.  ench:[
  22.   {id:32,lvl:2},
  23.   {id:20,lvl:5},
  24.   {id:17,lvl:1}
  25.  ]
  26. }
复制代码
  HideFlags相关内容也讲过了,不多说。现在再测试效果,发现好了很多:
     
  好了好了,我知道某些人快看吐血惹……那么,写物品代码真的都得这样要死要死地查着附魔ID表,然后对着一堆属性复制粘贴吗?No!
     
  众人:尼玛有这些东西为什么不早拿粗来!找打是不是!我看了这么久教程,差点把脑袋弄坏,好不容易学会了,现在你特么告诉我只需要随便打几个数字就OK了,小白都能做出来?!欠扁!把楼主丢粗去!!!
  额唔……不是我玩你们……是因为这个教程开始做的时候这个程序我还木有做粗来= =……好了丢链接跑路……这里,下载完后关注下贴吧吧= =
  P.S.这个玩意还在内测中,所以没发到论坛= =  于是我就用这个玩意欢乐地写了几节教程最后还成功打广告啊呸我神马都没说……

  介个教程的物品部分完结!接下来开始讲解生物高级自定义部分= =~