扫码在手机阅读
手机阅读《Minecraft指令手册》
Minecraft指令手册

第134章生物的共通NBT-4

里面只有一个标签value(值:复合标签):

{......:{minecraft:meeting_point:{value:{}}}}}

(老套复合标签了啊)

ain

而这个

ain里面的memories就是存储记忆的地方。记忆有这么几个:

dimension(值:字符串)——聚会地点的纬度id

{......:{minecraft:meeting_point:{value:{pos:[X,Y,Z],dimension:“纬度id“}}}}}

现在我们举个例子,比如这个村民它的聚会场所是在主世界的X=45,Y=77,Z=1862的地方,那么它的这项记忆就将是:

{......:{minecraft:meeting_point:{value:{pos:[45,77,1862],dimension:“0“}}}}}

是不是很简单?对了,这里的纬度id也就是世界id,主世界的世界id是0,下界是-1,末地是1(好像讲过了哎)。

minecraft:home(这个村民床的位置)的格式和minecraft:meeting_point几乎一样,都是:

{......:{minecraft:home:{value:{pos:[床的X,床的Y,床的Z],dimension:“床的纬度“}}}}}

比如一个村民的床在下界的X=45,Y=87,Z=106的位置,那么:

{......:{minecraft:home:{value:{pos:[45,87,106],dimension:“-1“}}}}}

嗯。对哦,村民在下界睡觉床不会爆炸吗?

还真的不会爆炸(奇怪的知识增加了!)。

既然minecraft:home的格式和minecraft:meeting_point几乎一样,而minecraft:job_site(这个村民工作的地方)也是记录着坐标,所以minecraft:job_site实际上格式也和前面两个一样:

{......:{minecraft:home:{value:{pos:[工作方块X,工作方块Y,工作方块Z],dimension:“工作方块的纬度“}}}}}

举例子就不用举了,都懂。

然鹅接下来这三个就不一样了:

minecraft:last_slept——这个村民已经睡觉多长时间了

minecraft:last_woken——这个村民已经多久没睡觉了

minecraft:last_worked_at_poi——这个村民多久没工作了

它们都是存储时间的,所以格式就和之前三个存储坐标的不一样。但既然它们都是存储时间的,所以它们的格式.......

没错!它们三的格式也是完全一样的。比如minecraft:last_slept(这个村民已经睡觉多长时间了)的格式是这样的:

{......:{minecraft:last_slept:{value:时间(单位:刻)}}}}

举个例子,假设这个村民已经睡了2个小时了(村民:?),那么这个村民的这个记忆的值就是:

{......:{minecraft:last_slept:{value:144000}}}}

代表着这个村民已经睡了144000刻了,也就是120分钟,即两小时。

而我们已经知道了minecraft:last_woken(这个村民已经多久没睡觉了)和minecraft:last_worked_at_poi(这个村民多久没工作了)格式都和minecraft:last_slept一样,所以:

minecraft:last_woken格式——

{......:{minecraft:last_woken:{value:这个村民没睡觉的时间(单位:刻)}}}}

minecraft:last_worked_at_poi格式——

{......:{minecraft:last_worked_at_poi:{value:这个村民没工作的时间(单位:刻)}}}}

至于举例子嘛......这么简单就不用举了,况且格式都一样。

接下来就是猪灵了。猪灵一共有4个记忆,即:

minecraft:angry_at——这个猪灵的目标

minecraft:admiring_item——这个猪灵端详物品的状态

minecraft:admiring_disabled——这个猪灵拿起物品端详这个技能的冷却状态

minecraft:hunted_recently——这个猪灵追猎这个技能的冷却状态

这四个标签的内容,都有一个“ttl”标签。这个标签的值是数值,实际作用就是:

这项记忆还有多久消失(单位:刻)

又或者可以说是:

猪灵的技能冷却剩下时间(单位:刻)

当然,具体的作用会根据不同的记忆会出现一些出入。

第一个minecraft:angry_at(这个猪灵的目标),它的值有两个:

value(值:UUID整形数组)

ttl(值:数值)

ttl刚才说过了。这个value存储着UUID,再联系一下“目标”,你想到了什么?

这个value填的就是猪灵的目标实体的UUID!

嗯,没错。现在我们举个例子,假设这个猪灵已经锁定了一个UUID为[I;-478658285,1942176603,-2057916122,-1995913697]的凋零骷髅,而且距离这个猪灵忘记这个凋零骷髅的时间还有1分57秒,那么其这项记忆就是:

{......:{minecraft:angry_at:{value:[I;-478658285,1942176603,-2057916122,-1995913697],ttl:2340}}}}

嗯,除了UUID有点长之外,其他都挺简单的。

然后是minecraft:admiring_item(这个猪灵端详物品的状态)。其值也有两个:

value(值:布尔值)

ttl(值:数值)

这里的value是布尔值,也就是true和false。如果是true,那么就代表着这个猪灵在端详物品。false则不是。

ttl在这里的作用是:端详还剩下的时间(单位:刻)

举个例子,比如一个猪灵它正在端详,且剩下的端详时间还有7秒,那么其这项记忆就是:

{......:{minecraft:angry_at:{value:“true“,ttl:140}}

接着是minecraft:admiring_disabled(这个猪灵拿起物品端详这个技能的冷却状态)。其值仍然有两个:

value(值:布尔值)

ttl(值:数值)

既然是冷却状态,我们就得了解一下“猪灵”其“端详”这个技能的冷却会因为什么而触发。一共有3种触发方式:

1.正在转化成僵尸猪灵

2.受到伤害

3.使用完了”端详”这个技能

当上面3个条件的任意一项达成时,“端详”技能将会进入冷却。同时,该记忆也将会改变。

value在这条记忆里的作用是:

当值为true,代表“端详”技能处于冷却状态。当值为false,代表“端详”技能可以使用。

ttl在这条记忆里的作用是:

“端详”技能的剩余冷却时间(单位:刻)

举个粒子。假设一个猪灵刚刚端详完成,其“端详”技能已经进入冷却状态,冷却时间为,那么这个记忆就将是:

{......:{minecraft:admiring_disabled:{value:“true“,ttl:168}}

懂了吧?懂了就下一个:minecraft:hunted_recently(这个猪灵追猎这个技能的冷却状态)

和minecraft:admiring_disabled一样,这也是技能的冷却。但这次的技能是“追猎”。

首先,minecraft:hunted_recently仍然有这几个值:

value(值:布尔值)

ttl(值:数值)

然后,“追猎”技能会在出现以下任何一种情况都会冷却:

1.使用完“追猎”技能

最后,这里的value当为true时,就代表着“追猎”技能正在冷却。为false,就是可以正常使用。ttl跟minecraft:admiring_disabled一样,也是技能冷却的剩余时间。

举个栗子:假设一只猪灵刚刚追猎完成,其“追猎”技能已经进入冷却状态,冷却时间为1m24s,那么这个记忆就将是:

{......:{minecraft:hunted_recently:{value:“true“,ttl:1680}}

是不是简洁明了?

所以,这就是原版

ain的全部内容。

太棒了!生物共通NBT终于完了!

......

——生物共通NBT:

包含所有实体共通NBT

Health——生物当前生命值。值:浮点数

AbsorptionAmount——生物可抵消攻击的值。值:浮点数

HurtTime——生物已经发红的时间,单位刻。值:整数

HurtByTimestamp——生物距上次受到伤害的时间值,或是距生成的时间值,单位刻。值:整数

DeathTime——距生物死亡的时间刻数。值:整数

FallFlying——生物是否滑翔。值:布尔值(1 or 0)

SleepingX——生物正在睡的床X坐标。值:整数

SleepingY——生物正在睡的床Y坐标。值:整数

SleepingZ——生物正在睡的床Z坐标。值:整数

ain——生物的记忆。值:复合标签({})

——memories——值:复合标签({})

Attributes——生物的属性。值:列表(

——一个属性——值:复合标签({})

————Name——属性名称id。值:字符串

————Base——属性基础值。值:浮点数

————Modifiers——属性修饰符。值:列表(

——————一个属性修饰符——值:复合标签({})

————————Name——修饰符的名称,可随便。值:字符串

————————Amount——修饰符调整属性基础值的数值。值:浮点数

————————Operation——修饰符对属性修饰符调整的基础算法。值:整数

————————UUID[版本及以上]——修饰符的UUID,用于区分修饰符。值:整形数组([I;1,2,3,4])

————————UUIDMost[以下]——修饰符的UUID高位,用于区分修饰符。值:整数

————————UUIDLeast[以下]——修饰符的UUID低位,用于区分修饰符。值:整数

ActiveEffects——生物所有的状态效果。值:列表(

——一项状态效果——值:复合标签({})

————状态效果NBT(见第一百三十三章)

HandItems——生物手持的物品。值:列表(

——主手手持物品——值:复合标签({})

————物品共通NBT(见第一百零八章)

——副手手持物品——值:复合标签({})

————物品共通NBT(见第一百零八章)

ArmorItems——生物穿在身上的物品。值:列表(

——脚上穿的物品——值:复合标签

————物品共通NBT(见第一百零八章)

——腿上穿的物品——值:复合标签

————物品共通NBT(见第一百零八章)

——胸前穿的物品——值:复合标签

————物品共通NBT(见第一百零八章)

——头上戴的物品——值:复合标签

————物品共通NBT(见第一百零八章)

HandDropChances——手持物品掉落几率。值:列表(

——主手物品掉落几率。值:浮点数

——副手物品掉落几率。值:浮点数

ArmorDropChances——盔甲掉落几率。值:列表(

——靴子栏物品掉落几率。值:浮点数

——护腿栏物品掉落几率。值:浮点数

——胸甲栏物品掉落几率。值:浮点数

——头盔栏物品掉落几率。值:浮点数

DeathLootTable——生物战利品表。值:字符串

DeathLootTableSeed——生成战利品表的种子。值:整数

CanPickUpLoot——生物是否可捡起战利品。值:布尔值(true|false)

NoAI——生物是否没有AI。值:布尔值(true|false)

PersistenceRequired——生物是否不会自然消失。值:布尔值(true|false)

LeftHanded——生物是否渲染时的主手为左手。值:布尔值(true|false)

Leashed——生物是否被拴住。值:布尔值(true|false)

Team——生物要加入的队伍,这实际上不是生物的NBT。值:字符串

Leash——这里说不清楚,具体见第一百三十三章。值:复合标签

——UUID[及以上]——被拴住的生物的UUID。值:整形数组

——UUIDMost[以下]——被拴住的生物的UUID高位。值:整数

——UUIDLeast[以下]——被拴住的生物的UUID低位。值:整数

——X——拴绳的位置的X坐标。值:整数

——Y——拴绳的位置的Y坐标。值:整数

——Z——拴绳的位置的Z坐标。值:整数

minecraft:meeting_point——这个村民聚会的位置

minecraft:home——这个村民床的位置

这个记忆是个复合标签({}),实际上所有记忆都是复合标签:

ain:{memories:{minecraft:meeting_point:{}}}}

这些记忆都带有“minecraft:”,说明mod也可以对记忆进行增加。

上一章讲到生物的共通NBT的最后一个:

minecraft:job_site——这个村民工作的地方(就是这个村民的工作站坐标)

minecraft:last_slept——这个村民已经睡觉多长时间了

minecraft:admiring_item——这个猪灵端详物品的状态

其中,6项都是村民的,剩下4项都是猪灵的。

现在我们来看第一项记忆:

minecraft:meeting_point——这个村民聚会的位置

minecraft:last_worked_at_poi——这个村民多久没工作了

minecraft:angry_at——这个猪灵的目标

value里有这么几个参数:

pos(值:列表)——聚会地点的X、Y、Z坐标

minecraft:admiring_disabled——这个猪灵拿起物品端详这个技能的冷却状态

minecraft:hunted_recently——这个猪灵追猎这个技能的冷却状态

minecraft:last_woken——这个村民已经多久没睡觉了

  • 加入收藏
  • 目录
  • A+
  • A-