首页 男生 游戏竞技 Minecraft指令手册

第一百三十四章 生物的共通NBT-4

Minecraft指令手册 你好MC 7223 2024-07-09 15:29

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

  Brain

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

  minecraft:meeting_br /oint——这个村民聚会的位置

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

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

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

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

  minecraft:last_worked_at_br /oi——这个村民多久没工作了

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

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

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

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

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

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

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

  minecraft:meeting_br /oint——这个村民聚会的位置

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

  {Brain:{memories:{minecraft:meeting_br /oint:{}}}}

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

  {......:{minecraft:meeting_br /oint:{value:{}}}}}

  (老套复合标签了啊)

  value里有这么几个参数:

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

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

  {......:{minecraft:meeting_br /oint:{value:{br /os:[X,Y,Z],dimension:“纬度id“}}}}}

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

  {......:{minecraft:meeting_br /oint:{value:{br /os:[45,77,1862],dimension:“0“}}}}}

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

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

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

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

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

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

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

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

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

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

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

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

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

  minecraft:last_worked_at_br /oi——这个村民多久没工作了

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

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

  {......:{minecraft:last_slebr /t:{value:时间(单位:刻)}}}}

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

  {......:{minecraft:last_slebr /t:{value:144000}}}}

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

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

  minecraft:last_woken格式——

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

  minecraft:last_worked_at_br /oi格式——

  {......:{minecraft:last_worked_at_br /oi:{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在这条记忆里的作用是:

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

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

  {......:{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}}

  是不是简洁明了?

  所以,这就是原版Brain的全部内容。

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

  ......

  ——生物共通NBT:

  包含所有实体共通NBT

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

  Absorbr /tionAmount——生物可抵消攻击的值。值:浮点数

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  HandDrobr /Chances——手持物品掉落几率。值:列表([])

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

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

  ArmorDrobr /Chances——盔甲掉落几率。值:列表([])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

目录
设置
手机
书架
书页
评论