Minecraft(我的世界)中文论坛

 找回密码
 注册(register)

!header_login!

只需一步,立刻登录

查看: 13959|回复: 51

[命令方块] 实体应用-实体nbt

  [复制链接]
发表于 2015-5-3 19:25:12 | 显示全部楼层 |阅读模式

您尚未登录,立即登录享受更好的浏览体验!

您需要 登录 才可以下载或查看,没有帐号?注册(register)

x
本帖最后由 End-Enderman 于 2016-7-8 13:45 编辑

各位看官请注意,此贴针对的是1.9以下的版本(其中不包括1.9)。此时此刻在下还并没有学习1.9的nbt,还请各位多多见谅!
                                                                                生物系列
很多生物都有自己独立nbt。这些nbt可以给生物附加各种各样的效果。之前说过,用命令方块召唤的生物和刷怪蛋不同,刷怪蛋具有随机性,而命令方块只会召唤特定的。比如用summon Zombie ~ ~1 ~,它永远只会召唤出一只普通的僵尸。假如要召唤僵尸村民呢?那就需要用到生物的NBT了。常用于summon,基本格式为
  1. summon 坐标 数据标签
复制代码
但是生物的nbt不单单属于summon,它可以用在许多有关于生物的指令,比如entitydata(详情看entitydata教程),亦可替换生物本身的NBT,比如
  1. entitydata @e[type=Zombie] {IsVillager:1}
复制代码
会将现存所有的僵尸变为僵尸村民。
下面是生物的nbt标签,对照着数据标签使用即可。
僵尸:
IsVillager:此nbt用于区分僵尸的种类。僵尸有两种种类(不算小僵尸,都是一个血统的),除了普通僵尸就是村民僵尸。在数据标签处填写IsVillager:1即可生成村民僵尸。生成的村民僵尸依然可以被虚弱药水和金苹果治疗。
IsBaby:此nbt用于区分僵尸的大小。也就是大僵尸以及小僵尸。在数据标签处填写IsBaby:1即可生成小僵尸。此nbt可以和IsVillager数据标签配合生成小村民僵尸或者和Riding指令配合来生成鸡骑士。
CanBreakDoors:此nbt用于区分僵尸是否可以破坏门。这个指令最好用在极限模式或者困难难度等,因为僵尸只有在极限和困难能将门打碎。在数据标签处填写CanBreakDoors:0即可生成无法破坏门的僵尸。
ConversionTime:此nbt用于区分僵尸是否被治疗。被治疗的僵尸(被虚弱药水喷过+吃了金苹果的村民僵尸)会在你设置的时间过会变回村民。在数据标签处填写ConversionTime:xxx即可生成被治疗的僵尸。xxx处填写时间,比如填写5,就会生成僵尸大约不到1秒(这个和Fuse相同,5不代表5秒)后变回村民的僵尸。填写0秒即为瞬间生成村民。(注:已经亲自在1.8.0实验了一番,即使不用IsVillager标签的普通僵尸依然会在数秒内也会变成村民)
骷髅:
SkeletonType:此nbt用于区分骷髅的种类。原版中骷髅有两种,一种是普通骷髅,另一种是凋零骷髅。在数据标签处填写SkeletonType:1即可生成凋零骷髅。这是原版无mod不在地狱的情况下唯一能召唤出凋零骷髅的方法。(原版刷怪蛋无法生成,除非用execute等指令配合entitydata、kill等可用刷怪蛋生成凋零骷髅,但是必须要经过SkeletonType这个nbt)
苦力怕:
powered:此nbt用于区分苦力怕的种类。苦力怕有两种:一种是普通的,另一种就是闪电苦力怕。在数据标签处填写powered:1即可生成闪电苦力怕。(这个指令很方便,不用再去召唤雷电或者等待雷电劈中苦力怕)
ExplosionRadius:此nbt是用于区分苦力怕的爆炸强度(范围,伤害)。在数据标签处填写ExplosionRadius:xxx即可召唤出不同爆炸强度的苦力怕。xxx处填写数字,不同的数字代表不同的爆炸强度。默认的苦力怕爆炸强度为3。这个指令与powered指令配合比较好,因为闪苦的伤害嘛...
Fuse:此nbt是用于调整苦力怕的爆炸时间。在数据标签处填写Fuse:xxx即可改变苦力怕的爆炸时间。注意:这个指令只能调整爆炸时间,而不是召唤出直接爆炸的苦力怕,这个很多人容易搞混,因为再召唤TNT的时候也要用到。召唤TNT是PrimedTnt,那个本来意为即将爆炸的实体TNT。(因为即将爆炸的TNT本来就是实体,而没点燃的TNT属于方块)当用打火石或者生存里靠近(前提是敌对,不用friendlytrue)时就能看到效果。但是如果填写0的话就会瞬爆,生存慎用。
ignited:此nbt是用于区分苦力怕的状态。苦力怕有两种状态,一种是被点燃的,另一种则是未被点燃的。在数据标签处填写ignited:1即可生成被点燃的苦力怕。此指令和Fuse连用最佳。

                               
登录/注册后可看大图
末影人:

carried:此nbt用于区分末影人手拿物品的种类。如果在数据标签处填写carried:xxx即可生成拿着不同方块的末影人。xxx为方块代码,和give不同,它在1.8适用。末影人只能搬得了方块,而类似于钻石剑这样的它搬不了的。而且如果它本身拿不了的(比如钻石块)东西,一旦放下就不会再捡起来。这一点请注意。
carriedData:此nbt用于区分末影人手拿方块的损伤值。如果在数据标签处填写carriedData:xxx即可生成拿着不同损伤值的方块的末影人。请注意此指令必须要和carried数据标签配合。比如代码为43的方块,如果填carriedData:4便会出来砖块。就像刷怪蛋一样。(如果没有carried指令的前提下,那么这个指令没有一点用处...还请注意。)
马:
Tame:此nbt用于区分于马是否被驯服。如果在数据标签处填写Tame:1即可生成被驯服的马。用这个nbt生成的马即可加鞍(如果不用Saddle指令),与正常驯服的马相同。
Saddle:此nbt用于区分马是否被加鞍。如果在数据标签处填写Saddle:1即可生成加了马鞍的马。要注意这个标签最好和Tame标签配合,虽然可以骑乘,但是无法打开马自带的物品栏(加了马鞍后再用Riding指令让另一个生物骑上马的话,马并不会把另一个生物甩下去)如果玩家要骑马就必须和Tame:1配合了。
Type:此nbt是用于区分于马的种类。马共有五种,普通马(不分颜色,都是一个血统)、驴、骡、僵尸马和骷髅马。在数据标签处填写Type:xxx即可生成不同种类的马。
Temper:此nbt用于区分于玩家和马的亲密度。如果在数据标签处填写Temper:xxx即可生成与玩家不同亲密度的马。亲密度是用于驯服马的,最初是亲密度默认为0。xxx处填写数字,0-100,亲密度越高的马越容易被驯服。(可用做地图等。有了Tame数据标签貌似这个标签有些鸡肋,但是要比像EatingHaystack这样的指令要有用得多)
OwnerName:此nbt用于区分被驯服玩家的名称,也就是说区分马的主人。如果不是马的主人即使被驯服的马也无法骑乘。在数据标签处填写OwnerName:xxx即可生成主人为xxx的马。凡是可以驯服并且可控制(两个条件缺一不可)的生物都有这个nbt。
ChestedHorse:此nbt用于区分马是否带箱子。如果在数据标签处填写ChestedHorse:1即可给生成的马附带一个箱子。最好和Tame以及Saddle联用。这个nbt也有很大的用处,正常打开马的物品栏右半边是空的,用ChestedHorse召唤的右半边便有了空格栏,可以存放东西,也就是比较便捷的运输车。(矿车还需要修铁路,这个不用,骑着就走)
Items:有容器才能使用的nbt。此指令用于区分于马箱子里的物品。必须要和ChestedHorse联用,否则无效。在数据标签处填写Items:[{id:xxx,Slot:2-16b,Count:xxxb}]即可给马生成的箱子佩戴物品。由于普通的马正常是无法弄箱子的,所以即使用了这个指令也无效(虽然看着有箱子)。此nbt只对种类为驴或骡才有效。而且格数必须为2-16才有效。举个例子,比如
  1. summon EntityHorse ~ ~1 ~ {ChestedHorse:1,Tame:1,Type:1,Saddle:1,Items:[{id:arrow,Slot:2b,Count:-1b}]}
复制代码
即可召唤出一只被驯服的、佩戴马鞍、箱子里物品为-1弓箭的驴。改变id处的数据即可生成装着不同物品的驴。
EatingHaystack和Variant数据标签不做讲解(Variant:8等等),前者是只会有一个吃草的动作,和蝙蝠的BatFlags不同,用NoAI:1无法使马停留在这个动作。后者生成半隐身的马(底下会有影子,一看就能看出来),似乎没什么用。
马还有用在Attributes的特殊标签,horse.jumpStength(以前曾经有人说的是generic.horse.jumpStength,实际上如果在游戏中用是没有任何用处,并不会生成自定义跳跃高度的马。之前说过,generic在类似的生物标签是不管用的)比如
  1. summon EntityHorse ~ ~1 ~ {ChestedHorse:1,Tame:1,Type:0,Saddle:1,Attributes:[{Name:horse.jumpStrength,Base:2000000000}]}
复制代码
可以生成一只带着箱子,被驯服有马鞍,一下能跳半径20格(y+20)的高度。实际上这里填1已经超乎了正常的马,正常马最高只能跳大约半径4格,而Base为1的马能跳半径6格。如果Base太大,按跳跃的时候马只会做一个起跳的动作而在原地不动。(其实僵尸也拥有自己特殊的Attributes标签,只是我并没有实验出什么,如果实验成功我会解释这个nbt)

                               
登录/注册后可看大图
兔子:
RabbitType:此nbt用于区分兔子的种类。兔子有三种,分别为普通兔子(虽然在RabbitType标签里不同的数字会出现不同颜色的兔子,但是还是一种血统)、吐司兔子(只有命名为“Toast”的普通兔子才可出现)以及杀手兔子。在数据标签处填写RabbitType:xxx即可生成不同颜色的兔子。(浅棕色,白,黑,黑白,金,浅棕,填写0-5或者以上)另外杀手兔子需要在xxx处填写99才可生成。
MoreCarrotTicks:此nbt用于区分兔子是否可以食用被种植的萝卜。说起来,这个数据标签有些鸡肋。在数据标签处填写MoreCarrotTicks:0即可生成一只会吃掉被种植的萝卜。就像村民一样,但是村民会将萝卜收起来。而用了这个数据标签的兔子会把自己底下已经长出来的萝卜吃掉。(可用作吓人)
史莱姆/地狱史莱姆:
Size:此nbt用于区分史莱姆/地狱史莱姆的大小。用了Size指令不仅可以调出原来史莱姆的三种大小,还可以调成其他的大小。在数据标签处填写Size:xxx即可召唤处不同大小的史莱姆/地狱史莱姆。xxx处填写数字,当然填写数字越大,史莱姆/地狱史莱姆的体型就越大。(注:史莱姆/地狱史莱姆越大,拿剑越不容易打到,伤害也就越高...一定要慎用)
WasOnGround:此nbt用于探测史莱姆/地狱史莱姆是否在地面上,和弓箭原理一样。这个一般用在testfor里,比如
  1. testfor @e[type=Slime,name=xxx] {wasOnGround:1b}
复制代码
xxx处填写史莱姆名称。如果把name去掉就是直接探测史莱姆。后面的标签是用来探测史莱姆/地狱史莱姆是否在地面上(换成地狱史莱姆在type的那个名称调换一下即可),一旦落地即可输出信号(高频)。
猪:
Saddle:此nbt用于区分猪是否带鞍。和马的效果相同,不过猪必须要有萝卜钓竿才能控制它的行走。如果在数据标签处填写Saddle:1即可生成带上鞍的猪。(和马性质相同)

                               
登录/注册后可看大图
村民:
Profession:此nbt用于区分村民的职业。村民共有五种职业,农夫(包括制箭师,牧羊人还有农民)、图书管理、牧师、铁匠、屠夫。(不算绿色村民)。在数据标签处填写Profession:xxx即可生成特定职业的村民。(农夫随机)xxx处填写数字,0-4,或者更多,按照顺序职业以此类推。绿色村民在1.8已经被删除,1.7用Profession:5或者Profession:-1可以召唤出。愚人节也会变成绿色村民的皮肤。不同职业会有不同的交易数据。
Offers:此nbt用于区分村民交易的情况。这个指令用处比较大,属于一个较大的数据标签,一般都是在数据标签处加上{Offers:[{Offers里的数据标签}]}
以下讲解都是为Offers标签里的。(注:有特定顺序,具体的会在最下面讲解)
Recipes:此nbt用于添加一系列的选项。下面会解释到。如果在数据标签处加上{Offers:{Recipes:[{村民交易数据标签}]}}即可改变村民交易情况。
                                                                                         用在Recipes的数据标签
rewardExp:此nbt用于区分与村民交易时是否会给予玩家经验。如果在村民交数据标签处填写rewardExp:1即可生成和玩家交易会给予被交易的玩家经验。说实话这个标签感觉有些鸡肋,但是用来做生存RPG还是蛮有用的。因为铁砧、合成书什么的都需要经验才可以。(创造无用)
maxUses:此nbt用于区分村民交易次数的上限。如果在村民交易数据标签处填写maxUses:xxx即可修改某项交易的交易次数。此指令必须和buy、sell数据标签联用,否则无效。xxx处填写数量,意为你想交易的次数,超过这个次数便会刷新这项交易。所以如果想保留这项交易最好填的数字大点。这是一般填在最前面的数据标签。如果超过了交易上限被指定的交易会被刷新并且交易上限变为2-12中的某个数值。
uses:此nbt用于区分村民已交易的次数。在村民交易数据标签处填写uses:xxx即可。xxx处填写数字说实话,这个数据标签看似没有任何用处,因为这个指令专门是和maxUses对着干,比如已交易这一项,想让村民交易上限两次,谁还会maxUses:3再用uses:1呢?实际上,这个指令可以起到锁定交易的作用,如果xxx处填写数量大于或者等于maxUses(如果没有maxUses数据标签那么此指令没有任何用处)就会锁定这项交易。效果图:

                               
登录/注册后可看大图

buy:此nbt用于区分玩家要和村民交易时需要给村民的物品。在村民交易数据标签处填写buy:{id:xxx,Count:xxx,Damage:xxx,tag:{数据标签}}即可指定需要给予村民的物品。id为方块代码或名称,在1.8依然适用,Count为给予村民这件物品的数量。需注意Count必须要大写否则默认为0。(数量为的0方块拿在手里,只要右键就会凭空消失)Damage是损伤值,用在刷怪蛋等物品有点用处,也可以不加。tag处的数据标签可以加上ench、display等标签,具体可以看give。需要注意末尾的括号,这个比较繁琐。
sell:此nbt用于区分玩家要和村民交易时村民给玩家的物品。在村民交易数据标签处填写sell:{id:xxx,Count:xxx,Damage:xxx,tag:{数据标签}}即可指定村民给予玩家的物品。i其他数据标签和buy相同。需注意这要和buy数据标签联用,否则无效。
buyB:此nbt用于区分于和村民交易时需要给村民的第二种物品。在村民交易数据标签处填写buyB:{id:xxx,Count:xxx,Damage:xxx,tag:{数据标签}}即可指定需要给予村民的第二项物品。数据和buy、sell相同。需要注意这个数据标签必须要和buy联用,否则无效。
Career:此nbt用于区分村民每个职业中不同的工作。在数据标签处填写Career:xxx即可指定不同村民职业的分支。自从1.8之后,村民的每个职业都有了不同的工作,比如分农夫、渔夫、牧羊人、制箭师等等。xxx处填写数字,用来指定村民的分支。不同的分支会有不同的Career。下面在固定交易讲解处会提到各村民职业的Career。
CareerLevel:此nbt用于区分村民在各个不同的分支中的交易选项。当用命令方块生成了村民后CareerLevel默认为1。(天然生成的CareerLevel随机,当完成一系列的交易,CareerLevel便会逐渐增加)指定了CareerLevel的村民交易选项会固定。需要和Career指令联用,举个例子,比如
  1. summon Villager ~ ~1 ~ {Profession:3,Career:1,CareerLevel:2}
复制代码
会出来一个盔甲商,而且每次交易的物品都相同(召唤出来的是固用好几个钻石换一个绿宝石的交易的村民...)但是这并不代表CareerLevel越高,交换的东西质量越高,这需要看玩家的需要。

                                                                                 CareerLevel固定交易物品(均已在1.8.0实验)
农民:
农民(Career:1):当CareerLevel为1时,交易固定为几个南瓜换1个绿宝石,1个绿宝石换几个南瓜派。当CareerLevel为2时,交易固定为几个西瓜换1个绿宝石,1个绿宝石换几个苹果。当CareerLevel为3时,交易固定为一个绿宝石换几个曲奇,一个绿宝石换一个蛋糕。4以上没有任何交易。
渔夫(Career:2):当CareerLevel为1时,交易固定为几个绿宝石换附魔钓鱼杆(一般为耐久,偶尔会加一个海之眷顾)。2以上没有任何交易。
牧羊人(Career:3):当CareerLevel为1时,交易固定为一个或几个绿宝石换一个任意色羊毛,共有16项交易。2以上没有任何交易。
制箭师(Career:4):当CareerLevel为1时,交易固定为几个绿宝石换一副弓,沙砾和一个绿宝石换几个燧石。2以上没有任何交易。
当CareerLevel为0时,生成的村民将会无视Career随机生成职业和固定的交易选项。如果生成的是农民,交易固定为一些麦子换一个绿宝石,一些土豆换一个绿宝石,一些胡萝卜换一个绿宝石,一个绿宝石换几个面包。如果生成的是渔夫,交易固定为一些线换一个绿宝石,一些煤换一些绿宝石,一些生鱼和一个绿宝石换一些熟鱼。如果生成的是牧羊人,交易固定为一些羊毛换一个绿宝石,几个绿宝石换一把剪刀。如果生成的是制箭师,交易固定为一些线换一个绿宝石,一个绿宝石换几根弓箭。
图书管理员:
图书管理员(Career:1):当CareerLevel为1时,交易固定为几本书换一个绿宝石,几个绿宝石换一个指南针,几个绿宝石换一个绿宝石。当CareerLevel为2时,交易固定为几本成书换一个绿宝石,一些绿宝石换一座钟,一个绿宝石换几块玻璃。当CareerLevel为3时,交易固定为一本书和一些绿宝石换一本附魔书。(附魔书的效果随机,而且为工具附魔书)当CareerLevel为4时,交易固定为一本书和许多绿宝石换一本附魔书。(附魔书的效果随机,而且为攻击附魔书,一般都是高级效果)当CareerLevel为5时,交易固定为一些绿宝石换一副命名牌。6以上没有任何交易。
当CareerLevel为0时,由于图书管理员目前只有一种职业,所以输入CareerLevel:0只会出现一种交易选项。输入后交易固定为一些纸换一个绿宝石,一本书和一些绿宝石换一本保护系列的附魔书(附魔随机)。
牧师:
牧师(Career:1):当CareerLevel为1时,交易固定为一个绿宝石换几个红石,一个绿宝石换一个或者几个青金石。当CareerLevel为2时,交易固定为几个绿宝石换一个末影之眼,一个绿宝石换几个萤石。当CareerLevel为3时,交易固定为几个绿宝石换一个附魔之瓶。4以上没有任何交易。
当CareerLevel为0时,交易固定为许多腐肉换一个绿宝石,几个金锭换一个绿宝石。
铁匠:
盔甲商(Career:1):当CareerLevel为1时,交易固定为几个铁换一个绿宝石,几个绿宝石换一个铁胸甲。当CareerLevel为2时,交易固定为几个钻石换一个绿宝石,一些绿宝石换一个附魔钻石胸甲(附魔随机)当CareerLevel为3时,交易固定为分别用几个绿宝石换锁链全套(锁链头盔,锁链胸甲,锁链护腿,锁链靴子)4以上没有任何交易。
武器商:(Career:2):当CareerLevel为1时,交易固定为几个铁换一个绿宝石,几个绿宝石换一把附魔铁剑(附魔随机)。当CareerLevel为2时,交易固定为几个钻石换一个绿宝石,几个绿宝石换一把附魔钻石剑(附魔随机),几个绿宝石换一把附魔钻石斧(附魔随机)。3以上没有任何交易。
当CareerLevel为0时,如果召唤出来的是盔甲商,交易固定为一些煤换一个绿宝石,几个绿宝石换一个铁头盔。如果召唤出来的是武器商,交易固定为一些煤换一个绿宝石,几个绿宝石换一把普通铁斧。
屠夫:
屠夫(Career:1)当CareerLevel为1时,交易固定为一些煤换一个绿宝石,一个绿宝石换几个熟猪排,一个绿宝石换几个熟鸡肉。2以上没有任何交易。
皮匠:(Career:2)当CareerLevel为1时,交易固定为几个绿宝石换一个附魔皮外套(附魔随机),当CareerLevel为1时,交易固定为几个绿宝石换一个鞍。
3以上没有任何交易。
当CareerLevel为0时,如果召唤出来的是皮匠,交易固定为一些皮革换一个绿宝石,几个绿宝石换一个皮革裤子。如果召唤出来的是屠夫,交易固定为一些生猪肉换一个绿宝石,一些生鸡肉换一个绿宝石。

Inventory:此nbt用于区分村民背包里的物品种类。1.8之后村民可以捡起特定的掉落物品,会存放在一个背包里。在数据标签处输入Inventory:[{id:xxx,Damage:xxx,Count:xxx}]即可做到生成背包里有不同物品的村民。详细用法可以看testfor的Inventory,原理相同。
村民的背包可以用
  1. entitydata @e[type=Villager] {}
复制代码
来查看村民的背包物品。

                               
登录/注册后可看大图


                               
登录/注册后可看大图
铁傀儡:
PlayerCreated:此nbt用于区分铁傀儡是否为玩家创造。一般从命令方块召唤出的铁傀儡都默认为野生铁傀儡。(自建的铁傀儡永远不会攻击你,但是野生的铁傀儡就...你可以在生存找个村庄打一只自动生成的铁傀儡试试......)如果在数据标签处填写PlayerCreated:1即可生成默认为玩家创造的铁傀儡。在生存中用这个数据标签比较有用。
狼:
Angry:此nbt用于区分于狼的状态。狼共有两个状态:被激怒状态和未被激怒状态。激怒的特征就是眼睛变成红色。被加上Angry标签的狼如果被激怒后即使切换创造模式也不会消除愤怒状态,而是会接着追赶玩家。切换创造模式其他的狼并不会受干扰,依然会消除激怒状态。在数据标签处填写Angry:1即可生成一旦在生存模式激怒将会无视创造模式而攻击玩家的狼。(很多人都说Angry指令没有用处,我已经在1.8.0实验了一番,而且退出游戏狼的激怒效果会消失,但是Angry性质依然保留)

                               
登录/注册后可看大图

CollarColor:此nbt用于区分被驯服的狼项圈的颜色。狼共有16种颜色,分别是黑(0)、红(1)、绿(2)、棕(3)、蓝(4)、紫(5)、青(6)、浅灰(7)、灰(8)、粉(9)、黄绿(10)、黄(11)、浅蓝(12)、品红(13)、橙(14)、白(15)。用CollarColor指定狼被驯服的狼默认为红色或者橙色。在数据标签处填写CollarColor:xxx即可生成不同项圈颜色的狼。xxx处填写数字,0-15各代表一个颜色。需注意这个数据标签必须要和Owner联用,不然无主人的狼此指令无效。举个例子,比如
  1. summon Wolf ~ ~1 ~ {CollarColor:15,Owner:xxx}
复制代码
用这条nbt将会生成一个带着白色项圈,主人为xxx(登录名)的狼。效果跟手动给狼染色一样。
羊:
Sheared:此nbt用于区分生成的羊的状态。羊有两种状态,一种是正常的羊,另一种是被剪毛的羊。在数据标签处填写Sheared:1即可生成被剃了毛的羊。这个数据标签也可以配合Color数据标签来生成不同颜色的羊被剃毛的形态。当这只羊吃完草后羊毛依然可以长出来。
Color:此nbt用于区分羊的颜色。羊共有16种颜色,分别是白(0)、橙(1)、品红(2)、浅蓝(3)、黄(4)、黄绿(5)、粉(6)、深灰(7)、灰(8)、青(9)、紫(10)、蓝(11)、棕(12)、绿(13)、红(14)、黑(15)。Color指定的颜色数据与它们的损伤相同。在数据标签处填写Color:xxx即可生成不同颜色的羊。xxx处填写数字,填写哪个损伤值就是什么颜色。(七彩羊只能通过命名为"jeb_"的方式生成,并不能通过Color生成)

                               
登录/注册后可看大图
豹猫:
CatType:此nbt用于区分豹猫的种类。豹猫有四种,分别是普通豹猫,黑猫,黄猫,蓝猫。在数据标签处填写CatType:xxx即可生成不同种类的豹猫。(0为普通豹猫,1为黑猫,2为黄猫,3为蓝猫)需注意这个指令最好配合Owner指令(与狼相同),不然生成的豹猫被视为无主人。用这个方法可以生成独一无二的豹猫,因为这样的豹猫如果玩家接近它们,它们会逃窜。(加上Owner指令可以生成有主人的普通豹猫。由于1.7和1.8豹猫的记录方式被改变,所以如果把1.8的存档返到1.7,玩家附近被驯服的豹猫有可能被视为无主人从而会远离玩家)。

                               
登录/注册后可看大图


                               
登录/注册后可看大图
凋零:
Invul:此nbt用于区分凋零的大小。使用这个指令后的凋零生成时会变成初始状态(刚开始创造凋零,凋零体型很小,最后逐渐变大,血也逐渐增多,到一定程度就会来一次大爆炸)。在数据标签处填写Invul:xxx即可生成不同大小的凋零。xxx数填写数字,填写越大,凋零提醒越大。此方法亦可和NoAI结合来做出小凋零的效果。

                               
登录/注册后可看大图

守卫者:
Elder:此nbt用于区分守护者的种类。守护者共有两个种类,一个是普通守卫者,另一个是远古守卫者。在数据标签处填写Elder:1即可生成远古守卫者。正常情况下远古守护者只有海洋遗迹内部才能生成。用Elder生成的远古守卫者依然会对玩家造成挖掘疲劳效果。需注意直接用Elder生成的远古守护者只有15颗心,还需要配合maxHealth才能变为正常的40颗心。
僵尸猪人:
IsVillager:这个nbt,使用之后并不会有任何变化,只是生成的猪人不会拿金剑。1.8用命令方块生成僵尸猪人直接就会拿金剑,而空手还需要用Equipment。在数据标签处填写IsVillager:1即可生成这样的僵尸猪人。由于理解起来和僵尸差不多,不做过多的讲解。
IsBaby:此nbt用于区分于召唤出的僵尸猪人的大小。僵尸猪人有两种大小,一种是普通僵尸猪人,另一种小僵尸猪人。小僵尸猪人和大僵尸猪人不同的是,除了速度快以外,一旦被激怒愤怒值绝对不会降低(正常猪人激怒后会有愤怒值,到0变回变为中立,愤怒值随着时间的推移而降低)。在数据标签处填写IsBaby:1即可生成小僵尸猪人。召唤猪人鸡骑士的方法和小僵尸相同。
ConversionTime:此nbt用于区分僵尸猪人变为村民的时间。用了这个数据标签的僵尸猪人就等于被治疗的普通僵尸村民,一定时间后也会变为普通村民并赋予治疗后的特殊效果。在数据标签处填写ConversionTime:xxx即可指定僵尸猪人变为村民的时间。用法和僵尸的数据标签相同。
CanBreakDoors:此nbt用于区分僵尸猪人是否可以破坏门。在数据标签处填写CanBreakDoors:1即可生成可以破坏门的僵尸猪人。正常僵尸猪人不会砸门,因为它们不会主动攻击玩家和村民,并且当玩家激怒它们时,它们只能站在门口看着你。但是用这个指令生成的僵尸猪人就像僵尸一样,当玩家激怒它们时并且躲在有木门的屋子里时,它们会去破坏门。用上Angry标签的猪人则可以用作加强版僵尸。(不带金剑但是伤害高,并且不会燃烧)

                               
登录/注册后可看大图
对比图

                               
登录/注册后可看大图

(跟拿不拿金剑无关,即使拿着金剑的猪人带CanBreakDoors照样打门,不带金剑的普通猪人也不能破坏门。
Anger:此nbt用于区分僵尸猪人的怒气值。当僵尸猪人被攻击时,僵尸猪人怒气便会上升。当怒气大于0的时候,僵尸猪人便会变为主动型生物并且主动攻击玩家。(攻击一只僵尸猪人附近的僵尸主人怒气也会上升)在数据标签处填写Anger:xxx即可生成不同怒气值的僵尸猪人。xxx处填写数字。僵尸猪人的怒气值可以填写-32768到32767之间的数字。需注意即使填负数,如果玩家打了僵尸猪人怒气值依然会上升为正数并且攻击玩家。怒气值会随着时间的推移而降低。用这个方法可以生成主动攻击玩家的僵尸猪人。(服务器可以指定HurtBy标签,不然激怒的猪人会随机攻向所有的玩家)
HurtBy:此nbt用于区分最后攻击僵尸猪人的是哪个玩家,服务器拉猪人仇恨神指令。这个指令并不是用于summon的,而是用于entitydata的。需用用到玩家的UUID,指定最好攻击猪人的是哪个玩家。查看玩家UUID最简单的用say,再将鼠标悬停在玩家处即可。

                               
登录/注册后可看大图

每一个玩家、生物的UUID都不同。
当玩家将自己的UUID放到HuryBy处时,比如
  1. /entitydata @e[type=PigZombie] {HurtBy:e80470e7-065f-1303-b969-fb88b381b9cd}
复制代码

                               
登录/注册后可看大图

假如将玩家的UUID(HurtBy只能指定玩家UUID,生物无效)和entitydata结合后并出发后,一旦当玩家变成生存(或者本身就是生存),便会向玩家发起攻击。这不像Anger指令,Anger会随机攻向玩家,而这个只会攻击被指定的玩家。所以也是害人的好方法。(慎用,最好用来只对付对付熊孩子,害队友的事情不推荐做...)
末影螨:
PlayerSpawned:此nbt用于区分末影人是否会攻击玩家生成的末影螨。但这个指令标签不是用于末影人。在数据标签处填写PlayerSpawned:1即可让生成的末影螨被末影人攻击。曾经有一个快照版本(应该是14w11a)加入了末影螨,但是末影人会探测附近的末影螨并且去攻击。现在虽然已经移出了这个效果,但是依然可用命令方块召唤出这样的末影螨。当生成带了PlayerSpawned标签的末影螨,附近所有的末影人都会来攻击除了不带这种数据标签的末影螨。(个人比较喜欢这个指令,目前这是在创造里吸引末影人的好方法,可以用在末地等)
LifeTime:此nbt用于区分末影螨已存在的时间。注意此指令是用来改变末影螨已存在的时间,而并不是末影螨的生存时间。这个指令不是用summon指定的,而是用entitydata来指定。比如
  1. entitydata @e[type=Endermite] {LifeTime:2400}
复制代码
这会将末影螨存在的时间改为大约2分钟(濒临消失)。末影螨如果未被命名,即使玩家在末影螨附近末影螨到一定时间后依然会消失。2400也可以改变成其他的时间。需注意这个数据标签对已经命名的末影螨无效。
蝙蝠:
BatFlags:此nbt用于区分蝙蝠的状态。蝙蝠有两种状态,一种是蝙蝠飞行的状态,另一种是再方块上倒立的状态。在数据标签处填写BatFlags:1即可生成倒立的蝙蝠。此nbt标签必须要使蝙蝠生成在某个方块下面才会有效。正常情况下,如果玩家接近倒立的蝙蝠(即使生成在有一定的亮度的地方蝙蝠也会倒立)便会飞走。所以可以配合NoAI来使蝙蝠一直保持一种状态。

                               
登录/注册后可看大图

  1. summon Bat x y z {BatFlags:1,NoAI:1}
复制代码
使用这个指令即可生成图中的蝙蝠。
鸡:
IsChickenJockey:此nbt用于区分鸡的种类。使用这个指令,会刷出类似于“怪物鸡”的生物。刷出的鸡外观和习性和普通的鸡没有区别,但是性质改变了。它会被默认为怪物并且当玩家远离它时可能自动消失。在数据标签处使用IsChickenJockey:1即可生成这样的鸡(比如用Riding生成鸡骑士,离远了除了小僵尸会被清除,鸡也会被清除)。有些人认为这个数据标签是用来区分小僵尸是否能控制鸡,实际上小僵尸与鸡就是一种组合,只要在一块就能控制。(鸡的EggLayTime不做讲解,这个nbt并不是用来调整鸡每一次下蛋的时间,而是下第一颗蛋的时间)使用某些生物的nbt可以召唤出正常无法刷出的效果,所以学会NBT,你就能发现mc里新的一片乐趣。
                                                                         其他实体系列

                               
登录/注册后可看大图
盔甲架:
ShowArms:此nbt用于区分盔甲架是否有胳膊。正常的盔甲架都没有胳膊,所以无法将物品放置在盔甲架上。在数据标签处使用ShowArms:1即可生成有胳膊的盔甲架。之后即可将武器放在物品上了。↓对比图

                               
登录/注册后可看大图

Small:此nbt用于区分盔甲架的大小。使用指令可以调出一种特殊型号的盔甲架,大小就像小僵尸(可以做一些装饰)。在数据标签处填写Small:1即可生成小型盔甲架(注:当将物品放在盔甲架上时物品的大小随着盔甲架的大小变化,如果型号小对应的物品也会缩小)
和大盔甲架的对比图↓

                               
登录/注册后可看大图

和小僵尸猪人大小的对比图↓

                               
登录/注册后可看大图

NoGravity:
此nbt用于区分盔甲架的状态。如果盔甲架下是空的,那么它会像掉落沙一样下落。使用NoGravity可以使盔甲架像生物的NoAI:1一样,也就是不会再下落。在数据标签处使用NoGravity:1即可做到不会下落的效果。
NoBasePlate:此nbt用于区分盔甲架是否有底座。再数据标签处使用NoBasePlate:1即可生成没有底座的盔甲架。
对比图↓

                               
登录/注册后可看大图

Invisible:
此nbt用于区分盔甲架是否隐身。使用Invisible:1即可做到使盔甲架隐身的效果。需要和Marker区分的是,这个nbt算是"半隐身",因为Marker是包括装备在内全部隐身,而Invisible只会将盔甲架自身隐身,并不会让装备隐身。
Marker:此nbt可以给盔甲架添加完全隐形的效果。在数据标签处填写Marker:1即可让盔甲架完全隐形(不会显示盔甲架和盔甲架的装备)。
Equipment:此nbt可以给盔甲架添加装备。用法和之前帖子里讲解的Equipment相同。在数据标签处使用Equipment:[{id:武器名称/物品名称,Count:数量},{id:靴子名称,Count:数量},{id:腿甲名称,Count:数量},{id:胸甲名称,Count:数量},{id:头盔名称,Count:数量}]即可给盔甲架添加装备。如若盔甲架没有胳膊那么不会显示手持物品的名称。
Pose:此nbt可以调整盔甲架各个部位的方向(类似于Motion,但是区别在于这个可以进行单个部位的调整,而Motion是一个整体)。在数据标签处填写Pose:{Pose数据标签}即可。Pose的数据标签参见下面的表格。
Head用于控制盔甲架头部位的方向。
Body用于控制盔甲架头部位的方向。
LeftArm用于控制盔甲架左胳膊部位的方向。
RightArm用于控制盔甲架右胳膊部位的方向。
LeftLeg用于控制盔甲架左腿部位的方向。
RightLeg用于控制盔甲架右腿部位的方向。
因为盔甲架可以控制单胳膊或单腿的方向,所以盔甲架可以做出非常灵活的动作。

                               
登录/注册后可看大图
(LeftLeg)

                               
登录/注册后可看大图
(LeftLeg+RightArm)

                               
登录/注册后可看大图
(LeftLeg+LeftArm+RightArm)
比如第一个图,是左腿300度(图中为x坐标)的效果,后面填写的是Pose:{LeftLeg:[300.0F,0.0F,0.0F]。其他的也按照这个格式填写即可。
DisabledSlots:此nbt用于区分盔甲架禁止替换的部位。也就是说,这个nbt可以让盔甲架防止替换特定部位的装备(比如说,禁用了手持物品,那么如果不用entitydata改变的话,那么手持物品不能被改变)。在数据标签处填写DisabledSlots:xxx即可。xxx为特定的数字。填写1时会禁用手部物品替换,填写3时会禁用靴子和手部物品等等。具体表格如下↓(以下为本人的实验数据)
填写数字                               禁用部位
1手持物品。
3手持物品、靴子。
5手持物品、腿甲。
7手持物品、靴子、腿甲。
9手持物品、胸甲。
11手持物品、靴子、胸甲。
13手持物品、腿甲、胸甲。
15手持物品、靴子、腿甲、胸甲。
17手持物品、头盔。
19手持物品、靴子、头盔。
21手持物品、腿甲、头盔。
23手持物品、靴子、腿甲、头盔。
25手持物品、胸甲、头盔。
27手持物品、靴子、胸甲、头盔。
29手持物品、腿甲、胸甲、头盔。
31所有部位(禁止替换装备)。
烟花:
LifeTime:此nbt用于区分烟花燃放至爆炸的时间。烟花飞到空中正常都要有一段时间后才会爆炸。使用LifeTime可以使烟花爆炸时间变长或者变短。在数据标签处使用LifeTime:xxx即可做到改变烟花的燃放至爆炸的时间。xxx处填写数字,按照游戏刻来计算爆炸时间(和Fuse原理相同)。
Life:此nbt用于区分烟花已经燃放的时间。和LifeTime不同,LifeTime是用来调整一共爆炸的时间(爆炸上限),而Life是已经燃放的时间。在数据标签处使用Life:xxx即可。xxx处填写时间,按照游戏刻来计算。(常用于entitydata,因为直接用在summon可能显得有些鸡肋)
火球:
direction:此nbt用于区分火球(一般用于火焰弹,不然会直接消失,所以以下就直接将火球说成火焰弹了)飞的方向。和Motion的区别在于,Motion只是单单会区别方向,而direction可以直接会飞向指定的方向(也就是召唤出飞行的火焰弹)。在数据标签处填写direction:[xxx.xxx,xxx.xxx,xxx.xxx]即可生成这样的火焰弹。xxx处填写数字,为飞往的方向。比如direction:[1.0,0.0,0.0](意为向着玩家或者命令方块所在的x方向飞行)。如果都填写0的话,那么这个火焰弹会原地不动(玩家可以将它打出去)。比如
  1. summon Fireball ~ ~1 ~ {direction:[0.0,0.0,0.0]}
复制代码
(PS:此方法可以用作不让火焰弹消失的方法。如果不加direction火焰弹会消失。
掉落沙:
Time:此nbt用于区分掉落沙是否存在。正常情况下,如果直接填写FallingSand的话,这个召唤出来的掉落沙只会闪一下之后会消失(大约为一刻)。在数据标签处填写Time:1即可防止这种情况(可以一直下落,也就是变为正常的掉落沙。一般需要用到掉落沙时都需要填写这个数据标签)。
TileID:此nbt用于区分掉落沙的属性。运用这个nbt,许多方块都可以具有掉落沙属性。在数据标签处填写TileID:xxx即可做到这种效果。xxx处填写方块的数字ID。比如
  1. summon FallingSand ~ ~1 ~ {Time:1,TileID:57}
复制代码
就会召唤一个具有掉落沙属性的钻石块。(召唤出来便会像掉落沙一样下落)
PS:如果这个掉落的方块是本身不具有掉落沙属性的方块,那么当它下落到一个方块的上面之后,把下面的方块打掉并不会再下落。
HurtEntities:此nbt用于区分掉落沙是否可以对生物造成伤害(就像铁砧一样,但是伤害低)。如果使用这条nbt,只要是具有掉落沙属性的并且砸中了生物,那么掉落沙会对生物造成伤害(即使是普通的掉落沙,普通的掉落沙需要两个一起掉在生物身上使生物窒息,而这个一下就行,不过伤害是一次性的)。在数据标签处填写HurtEntities:1即可做到这种效果。
来自索引:http://www.mcbbs.net/thread-440268-1-1.html
来自群组: The Command's Power

评分

参与人数 29人气 +28 金粒 +320 收起 理由
哈哈大虾 + 1 大触我们做朋友吧!
tuxiu21 + 1 66
buhuichongfu + 1 + 20 良心作品!
546995 + 1 + 10 楼主你太帅了~
ruhuasiyu + 1 + 5 图挂了,<1.11
2465979072 + 11 神作
147q + 1 + 1 MCBBS有你更精彩~
egg_apple + 1 + 5 很棒的作品!
barrylv + 2 楼主你太帅了~
jd14 + 1 + 5 Mcbbs有你更精彩~
爱丽颖 + 1 + 10 Mcbbs有你更精彩~
Black_little + 1 很棒的作品!
hagiufay + 1 + 10 Mcbbs有你更精彩~
xiao_hao_hjh + 1 + 15 终于知道指令多么伟大了
武月天【】 + 1 + 5 报告,前方高能反应!
永不言弃 + 1 + 15 66666666666收藏了
scorpio975 + 2 + 35 很棒的作品!
hrhhhh + 1 + 15 楼主你太帅了~233
苏黎世° + 1 + 15 违反坛规/版规!
lxc0123 + 1 建议将排版改一下,要不一大溜看起来比较糟.

查看全部评分

回复

使用道具 举报

发表于 2015-5-3 19:30:47 | 显示全部楼层
写的真全啊!

                               
登录/注册后可看大图
回复

使用道具 举报

发表于 2015-5-3 19:38:50 | 显示全部楼层
没事来顶帖
回复

使用道具 举报

发表于 2015-5-3 20:53:18 | 显示全部楼层
题目加上【】应该更显眼一些  【NBT】生物的NBT应用

评分

参与人数 1金粒 +1 收起 理由
End-Enderman + 1 分支不用这么精细233

查看全部评分

回复

使用道具 举报

发表于 2015-5-3 21:11:56 | 显示全部楼层
太长了,貌似看不懂啊
回复

使用道具 举报

发表于 2015-5-4 13:41:54 | 显示全部楼层
IBSO 发表于 2015-5-3 21:11
太长了,貌似看不懂啊

此教程适合命令方块进阶玩家,刚开始必然看不懂
回复

使用道具 举报

发表于 2015-5-6 11:58:40 | 显示全部楼层
缺少所有生物共有的 所有实体共有的

评分

参与人数 1人气 +1 收起 理由
jianghr + 1 对的,我也想吐糟这个

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2015-5-6 12:00:04 | 显示全部楼层
chyx 发表于 2015-5-6 11:58
缺少所有生物共有的 所有实体共有的

以后在写咯2333,不管怎么说,谢谢那次对我总是回答错误的问答帖的批评指教2333

评分

参与人数 1金粒 +2 收起 理由
jianghr + 2 但是你赶快更啊

查看全部评分

回复

使用道具 举报

发表于 2015-5-6 12:03:04 | 显示全部楼层
我上次把一只牛拴在展示架上面了{:10_515:} 再把展示架推上矿车,沿着铁路走 牛在后面跟着

评分

参与人数 1金粒 +1 收起 理由
End-Enderman + 1 绳子没断?= =

查看全部评分

回复

使用道具 举报

发表于 2015-5-6 12:07:35 | 显示全部楼层
chyx 发表于 2015-5-6 12:03
我上次把一只牛拴在展示架上面了 再把展示架推上矿车,沿着铁路走 牛在后面跟着 ...

我还栓牛再猪上 再把猪拴在栅栏上 下面悬空 玩双摆{:10_525:}
回复

使用道具 举报

发表于 2015-5-17 16:08:05 | 显示全部楼层
谢谢作者的教程~



                               
登录/注册后可看大图
{:10_492:}

回复

使用道具 举报

发表于 2015-5-25 02:30:32 | 显示全部楼层
大僵尸也能骑鸡
回复

使用道具 举报

发表于 2015-5-25 09:27:41 来自手机 | 显示全部楼层
触的触的,渣新再次受教
看到僵尸猪人那段的时候脑补了一下拿着金剑砸门的僵尸猪人直接笑喷,简直充满了萌感啊
回复

使用道具 举报

发表于 2015-5-30 07:21:05 | 显示全部楼层
:小伙子有前途
回复

使用道具 举报

发表于 2015-5-31 23:03:45 | 显示全部楼层
看索引改了名字,不过过来一看还没有写完……

评分

参与人数 1人气 +1 收起 理由
End-Enderman + 1 = =

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册(register)

本版积分规则

Archiver|小黑屋|Mcbbs.net ( 京ICP备15023768号-1 ) | 手机版本

GMT+8, 2017-11-20 08:17 , Processed in 0.183693 second(s), 10 queries , Memcache On.

"Minecraft"以及"我的世界"为Mojang Synergies AB的商标。本站与Mojang以及微软公司没有从属关系。

© 2010-2017 我的世界中文论坛 版权所有。本站原创图文内容版权属于原创作者,未经许可不得转载。

快速回复 返回顶部 返回列表