首頁 游戲

Minecraft指令手冊

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

Minecraft指令手冊 你好MC 3198 2020-10-08 16:11:03

  上一章講到生物的共通NBT的最后一個:

  Brain

  而這個Brain里面的memories就是存儲記憶的地方。記憶有這么幾個:

  minecraft:meeting_point——這個村民聚會的位置

  minecraft:home——這個村民床的位置

  minecraft:job_site——這個村民工作的地方(就是這個村民的工作站坐標(biāo))

  minecraft:last_slept——這個村民已經(jīng)睡覺多長時間了

  minecraft:last_woken——這個村民已經(jīng)多久沒睡覺了

  minecraft:last_worked_at_poi——這個村民多久沒工作了

  minecraft:angry_at——這個豬靈的目標(biāo)

  minecraft:admiring_item——這個豬靈端詳物品的狀態(tài)

  minecraft:admiring_disabled——這個豬靈拿起物品端詳這個技能的冷卻狀態(tài)

  minecraft:hunted_recently——這個豬靈追獵這個技能的冷卻狀態(tài)

  這些記憶都帶有“minecraft:”,說明mod也可以對記憶進(jìn)行增加。

  其中,6項(xiàng)都是村民的,剩下4項(xiàng)都是豬靈的。

  現(xiàn)在我們來看第一項(xiàng)記憶:

  minecraft:meeting_point——這個村民聚會的位置

  這個記憶是個復(fù)合標(biāo)簽({}),實(shí)際上所有記憶都是復(fù)合標(biāo)簽:

  {Brain:{memories:{minecraft:meeting_point:{}}}}

  里面只有一個標(biāo)簽value(值:復(fù)合標(biāo)簽):

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

 ?。ɡ咸讖?fù)合標(biāo)簽了?。?p>  value里有這么幾個參數(shù):

  pos(值:列表)——聚會地點(diǎn)的X、Y、Z坐標(biāo)

  dimension(值:字符串)——聚會地點(diǎn)的緯度id

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

  現(xiàn)在我們舉個例子,比如這個村民它的聚會場所是在主世界的X=45,Y=77,Z=1862的地方,那么它的這項(xiàng)記憶就將是:

  {......:{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(這個村民工作的地方)也是記錄著坐標(biāo),所以minecraft:job_site實(shí)際上格式也和前面兩個一樣:

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

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

  然鵝接下來這三個就不一樣了:

  minecraft:last_slept——這個村民已經(jīng)睡覺多長時間了

  minecraft:last_woken——這個村民已經(jīng)多久沒睡覺了

  minecraft:last_worked_at_poi——這個村民多久沒工作了

  它們都是存儲時間的,所以格式就和之前三個存儲坐標(biāo)的不一樣。但既然它們都是存儲時間的,所以它們的格式.......

  沒錯!它們?nèi)母袷揭彩峭耆粯拥摹1热鏼inecraft:last_slept(這個村民已經(jīng)睡覺多長時間了)的格式是這樣的:

  {......:{minecraft:last_slept:{value:時間(單位:刻)}}}}

  舉個例子,假設(shè)這個村民已經(jīng)睡了2個小時了(村民:?),那么這個村民的這個記憶的值就是:

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

  代表著這個村民已經(jīng)睡了144000刻了,也就是120分鐘,即兩小時。

  而我們已經(jīng)知道了minecraft:last_woken(這個村民已經(jīng)多久沒睡覺了)和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——這個豬靈的目標(biāo)

  minecraft:admiring_item——這個豬靈端詳物品的狀態(tài)

  minecraft:admiring_disabled——這個豬靈拿起物品端詳這個技能的冷卻狀態(tài)

  minecraft:hunted_recently——這個豬靈追獵這個技能的冷卻狀態(tài)

  這四個標(biāo)簽的內(nèi)容,都有一個“ttl”標(biāo)簽。這個標(biāo)簽的值是數(shù)值,實(shí)際作用就是:

  這項(xiàng)記憶還有多久消失(單位:刻)

  又或者可以說是:

  豬靈的技能冷卻剩下時間(單位:刻)

  當(dāng)然,具體的作用會根據(jù)不同的記憶會出現(xiàn)一些出入。

  第一個minecraft:angry_at(這個豬靈的目標(biāo)),它的值有兩個:

  value(值:UUID整形數(shù)組)

  ttl(值:數(shù)值)

  ttl剛才說過了。這個value存儲著UUID,再聯(lián)系一下“目標(biāo)”,你想到了什么?

  這個value填的就是豬靈的目標(biāo)實(shí)體的UUID!

  嗯,沒錯。現(xiàn)在我們舉個例子,假設(shè)這個豬靈已經(jīng)鎖定了一個UUID為[I;-478658285,1942176603,-2057916122,-1995913697]的凋零骷髏,而且距離這個豬靈忘記這個凋零骷髏的時間還有1分57秒,那么其這項(xiàng)記憶就是:

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

  嗯,除了UUID有點(diǎn)長之外,其他都挺簡單的。

  然后是minecraft:admiring_item(這個豬靈端詳物品的狀態(tài))。其值也有兩個:

  value(值:布爾值)

  ttl(值:數(shù)值)

  這里的value是布爾值,也就是true和false。如果是true,那么就代表著這個豬靈在端詳物品。false則不是。

  ttl在這里的作用是:端詳還剩下的時間(單位:刻)

  舉個例子,比如一個豬靈它正在端詳,且剩下的端詳時間還有7秒,那么其這項(xiàng)記憶就是:

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

  接著是minecraft:admiring_disabled(這個豬靈拿起物品端詳這個技能的冷卻狀態(tài))。其值仍然有兩個:

  value(值:布爾值)

  ttl(值:數(shù)值)

  既然是冷卻狀態(tài),我們就得了解一下“豬靈”其“端詳”這個技能的冷卻會因?yàn)槭裁炊|發(fā)。一共有3種觸發(fā)方式:

  1.正在轉(zhuǎn)化成僵尸豬靈

  2.受到傷害

  3.使用完了”端詳”這個技能

  當(dāng)上面3個條件的任意一項(xiàng)達(dá)成時,“端詳”技能將會進(jìn)入冷卻。同時,該記憶也將會改變。

  value在這條記憶里的作用是:

  當(dāng)值為true,代表“端詳”技能處于冷卻狀態(tài)。當(dāng)值為false,代表“端詳”技能可以使用。

  ttl在這條記憶里的作用是:

  “端詳”技能的剩余冷卻時間(單位:刻)

  舉個粒子。假設(shè)一個豬靈剛剛端詳完成,其“端詳”技能已經(jīng)進(jìn)入冷卻狀態(tài),冷卻時間為8.4s,那么這個記憶就將是:

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

  懂了吧?懂了就下一個:minecraft:hunted_recently(這個豬靈追獵這個技能的冷卻狀態(tài))

  和minecraft:admiring_disabled一樣,這也是技能的冷卻。但這次的技能是“追獵”。

  首先,minecraft:hunted_recently仍然有這幾個值:

  value(值:布爾值)

  ttl(值:數(shù)值)

  然后,“追獵”技能會在出現(xiàn)以下任何一種情況都會冷卻:

  1.使用完“追獵”技能

  最后,這里的value當(dāng)為true時,就代表著“追獵”技能正在冷卻。為false,就是可以正常使用。ttl跟minecraft:admiring_disabled一樣,也是技能冷卻的剩余時間。

  舉個栗子:假設(shè)一只豬靈剛剛追獵完成,其“追獵”技能已經(jīng)進(jìn)入冷卻狀態(tài),冷卻時間為1m24s,那么這個記憶就將是:

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

  是不是簡潔明了?

  所以,這就是原版Brain的全部內(nèi)容。

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

  ......

  ——生物共通NBT:

  包含所有實(shí)體共通NBT

  Health——生物當(dāng)前生命值。值:浮點(diǎn)數(shù)

  AbsorptionAmount——生物可抵消攻擊的值。值:浮點(diǎn)數(shù)

  HurtTime——生物已經(jīng)發(fā)紅的時間,單位刻。值:整數(shù)

  HurtByTimestamp——生物距上次受到傷害的時間值,或是距生成的時間值,單位刻。值:整數(shù)

  DeathTime——距生物死亡的時間刻數(shù)。值:整數(shù)

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

  SleepingX——生物正在睡的床X坐標(biāo)。值:整數(shù)

  SleepingY——生物正在睡的床Y坐標(biāo)。值:整數(shù)

  SleepingZ——生物正在睡的床Z坐標(biāo)。值:整數(shù)

  Brain——生物的記憶。值:復(fù)合標(biāo)簽({})

  ——memories——值:復(fù)合標(biāo)簽({})

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

  ——一個屬性——值:復(fù)合標(biāo)簽({})

  ————Name——屬性名稱id。值:字符串

  ————Base——屬性基礎(chǔ)值。值:浮點(diǎn)數(shù)

  ————Modifiers——屬性修飾符。值:列表([])

  ——————一個屬性修飾符——值:復(fù)合標(biāo)簽({})

  ————————Name——修飾符的名稱,可隨便。值:字符串

  ————————Amount——修飾符調(diào)整屬性基礎(chǔ)值的數(shù)值。值:浮點(diǎn)數(shù)

  ————————Operation——修飾符對屬性修飾符調(diào)整的基礎(chǔ)算法。值:整數(shù)

  ————————UUID[1.16版本及以上]——修飾符的UUID,用于區(qū)分修飾符。值:整形數(shù)組([I;1,2,3,4])

  ————————UUIDMost[1.16以下]——修飾符的UUID高位,用于區(qū)分修飾符。值:整數(shù)

  ————————UUIDLeast[1.16以下]——修飾符的UUID低位,用于區(qū)分修飾符。值:整數(shù)

  ActiveEffects——生物所有的狀態(tài)效果。值:列表([])

  ——一項(xiàng)狀態(tài)效果——值:復(fù)合標(biāo)簽({})

  ————狀態(tài)效果NBT(見第一百三十三章)

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

  ——主手手持物品——值:復(fù)合標(biāo)簽({})

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

  ——副手手持物品——值:復(fù)合標(biāo)簽({})

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

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

  ——腳上穿的物品——值:復(fù)合標(biāo)簽

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

  ——腿上穿的物品——值:復(fù)合標(biāo)簽

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

  ——胸前穿的物品——值:復(fù)合標(biāo)簽

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

  ——頭上戴的物品——值:復(fù)合標(biāo)簽

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

  HandDropChances——手持物品掉落幾率。值:列表([])

  ——主手物品掉落幾率。值:浮點(diǎn)數(shù)

  ——副手物品掉落幾率。值:浮點(diǎn)數(shù)

  ArmorDropChances——盔甲掉落幾率。值:列表([])

  ——靴子欄物品掉落幾率。值:浮點(diǎn)數(shù)

  ——護(hù)腿欄物品掉落幾率。值:浮點(diǎn)數(shù)

  ——胸甲欄物品掉落幾率。值:浮點(diǎn)數(shù)

  ——頭盔欄物品掉落幾率。值:浮點(diǎn)數(shù)

  DeathLootTable——生物戰(zhàn)利品表。值:字符串

  DeathLootTableSeed——生成戰(zhàn)利品表的種子。值:整數(shù)

  CanPickUpLoot——生物是否可撿起戰(zhàn)利品。值:布爾值(true|false)

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

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

  LeftHanded——生物是否渲染時的主手為左手。值:布爾值(true|false)

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

  Team——生物要加入的隊(duì)伍,這實(shí)際上不是生物的NBT。值:字符串

  Leash——這里說不清楚,具體見第一百三十三章。值:復(fù)合標(biāo)簽

  ——UUID[1.16及以上]——被拴住的生物的UUID。值:整形數(shù)組

  ——UUIDMost[1.16以下]——被拴住的生物的UUID高位。值:整數(shù)

  ——UUIDLeast[1.16以下]——被拴住的生物的UUID低位。值:整數(shù)

  ——X——拴繩的位置的X坐標(biāo)。值:整數(shù)

  ——Y——拴繩的位置的Y坐標(biāo)。值:整數(shù)

  ——Z——拴繩的位置的Z坐標(biāo)。值:整數(shù)

按 “鍵盤左鍵←” 返回上一章  按 “鍵盤右鍵→” 進(jìn)入下一章  按 “空格鍵” 向下滾動
目錄
目錄
設(shè)置
設(shè)置
書架
加入書架
書頁
返回書頁
指南