登陆注册
66052300000160

第160章 可繁殖的生物共通标签

这儿有一只土猪,它的梦想是那颗白菜。

但今天我们并不是要研究这只土猪,而是在Minecraft中的猪。Minecraft中可没有白菜。

在生存前期,粮食紧缺,玩家们一般会直接把这只猪杀死;在生存后期,粮食的获取是长期的事情,因此玩家们经常种田,也就有了各种自动化红石机械。

但种田获得的是素食,长期吃素会导致营养不良,所以玩家们还需要一种肉食来源。这时,他们就会另找来一头猪,拉到这只猪旁边,然后喂几根胡萝卜。几秒下来,就多了一只小猪。

这个过程,我们称之为“繁殖”。

在Minecraft中,可繁殖的生物不只有猪一种。据“成双成对”成就统计,截至2021年7月6日,Minecraft中一共有19种可繁殖的生物,它们是——鸡、牛、哞菇、猪、兔子、羊、海龟、马(已驯服)、驴(已驯服)、骡(已驯服)、羊驼(已驯服)、豹猫、狼(已驯服)、猫(已驯服)、狐狸、熊猫、蜜蜂、疣猪兽、炽足兽。

既然有这么多生物可以繁殖,那么它们的NBT是否也有共通之处呢?

有的!

看看这只1.12.2版本的猪,在使用了entitydata给它添加了一个have_a_look标签后,我们获取到了它的NBT数据:

{HurtByTimestamp:0,Attributes:[{Base:10.0d,Name:“generic.maxHealth“},{Base:0.0d,Name:“generic.knockbackResistance“},{Base:0.25d,Name:“generic.movementSpeed“},{Base:0.0d,Name:“generic.armor“},{Base:0.0d,Name:“generic.armorToughness“},{Base:1.0d,Name:“forge.swimSpeed“},{Base:16.0d,Modifiers:[{UUIDMost:155161593230540818L,UUIDLeast:-7387004718408769437L,Amount:0.08697153622768039d,Operation:1,Name:“Random spawnbonus“}],Name:“generic.followRange“}],Invulnerable:0b,FallFlying:0b,ForcedAge:0,PortalCooldown:0,AbsorptionAmount:0.0f,Saddle:0b,FallDistance:0.0f,InLove:0,DeathTime:0s,HandDropChances:[0.085f,0.085f],PersistenceRequired:0b,Age:0,Motion:[0.0d,-0.0784000015258789d,0.0d],Leashed:0b,UUIDLeast:-8005055644514598705L,Health:10.0f,LeftHanded:0b,Air:300s,OnGround:1b,Dimension:0,Rotation:[267.60834f,0.0f],UpdateBlocked:0b,HandItems:[{},{}],ArmorDropChances:[0.085f,0.085f,0.085f,0.085f],UUIDMost:-3204752037661752558L,Pos:[618.3102734304896d,4.0d,47.52208547749273d],have_a_look:1b,Fire:-1s,ArmorItems:[{},{},{},{}],CanPickUpLoot:0b,HurtTime:0s}

看着很晕是吧?我们简化一下,删去已知的NBT标签,剩下了这么几个:

{ForcedAge:0,Saddle:0b,InLove:0,Age:0}

其中,除了Saddle以外,其他都是属于“可繁殖的生物共通标签”。

Saddle(布尔值)的作用是确定这猪背上是否放了个鞍,有鞍为1,没鞍为0.

不难发现,在这“可繁殖的生物共通标签”中,有两个NBT标签(ForcedAge和Age)其标签名中都有单词“age”。age这个单词的意思大家都知道,是年龄的意思,那这两个NBT标签有啥用呢?

看,那儿有两只猪正在村民种的土豆菜地里晃悠。赶紧过去收割一些成熟的土豆,然后喂给这两只猪吃。很快啊!不到几秒就出现了一只小猪,让我们看看这只可爱的小猪的NBT吧!

{ForcedAge:0,InLove:0,Age:-23586}

这只刚生出来的小猪,其Age值为-23586。在《MinecraftWiki:母猪的产后护理》一书中(实际上没有这本书啦),明确的写到:“幼年猪在没有食用任何食物的情况下,需要花费一整天时间长大。可以通过喂食来加快速度,一次喂食加快10%。”

Minecraft中的一天为20分钟,换算成游戏刻即20×60×20=24000刻,而Age的值是-23586,所以Age的作用是?

Age(Int整形)的功能是表示该生物的年龄,幼年时为负值,并随时间流逝不断增加直到0。当该生物Age值达到0时,判定该生物成年,并停止增加。

幼年猪要长大需要24000刻,即Age初始值为-24000。这只小猪的Age值为-23586,说明它已经20.7秒大了。

那ForcedAge有啥用?

刚刚引用的那段话最后两句讲到喂食可以加快生长速度,让我们试一试。

作者喂给这只小猪两个土豆,NBT就变成了:

{ForcedAge:4400,Saddle:0b,InLove:0,Age:-18853}

刚刚花去的时间不到二十秒,这只猪的Age值就增长了4733(236.65秒),ForcedAge值也变成了4400,这说明给小猪喂土豆是可以加快生长速度的,这加快的值被ForcedAge统计了,并且也加到了Age里面。

但一次喂食是加快10%,两次喂食岂不是加快了20%或19%,即4800或4560。但这儿却只加快了4400,稍微有些偏差,这是怎么一回事?

经过作者的多次试验,发现每次喂食并不是一定加快10%,而是有一个小幅度的浮动,所以这本《MinecraftWiki:母猪的产后护理》并不一定完全准确。

那InLove又有何用?

作者写着写着,这只小猪长大了。此时作者给了它一个土豆,然后就发现它的NBT标签变成了:

{ForcedAge:4400,Saddle:0b,InLove:577,Age:0}

“If you hold food in your hand, they follow you around. If you feed them, they enter “love mode“. Two animals in love mode = babies.(只要你手上有食物,它们就会跟着你。如果你喂它们,它们就会进入“求爱模式”。两只求爱的动物=下崽。)”——Notch

Notch的这番话中提到了一个“love mode(求爱模式)”,这个求爱模式是在喂食之后进入的,InLove也是在喂食之后变化的。而且,InLove直译是“在爱里”,意思类似“求爱模式”,难不成?

没错,InLove就是Notch文中提到的求爱模式在NBT标签中的具体表现,这个“求爱模式”时长2分钟,即600游戏刻。进入“求爱模式”后,再次喂食不能将InLove值重置为600。在“求爱模式”中,生物会持续散发红色粒子。当两只进入求爱模式且类型相同的生物相距8格,它们便会靠近,然后的事大家都知道,最终求爱模式结束。

InLove值随时间减少到0时,求爱模式也会结束。

这只进入求爱模式的猪,多了两个我们未曾相识的NBT标签:

{LoveCauseLeast:-8954364695892943005L,LoveCauseMost:865205586299127399

0L}

唉,这Least,这Most,这一长串的Long长整型值——这不就是UUID吗?

没错,这就是UUID,那这UUID是谁的?

是这只猪的爱人的UUID。

?不对啊,这世界的“生物自然生成”已经被关了,猪只有它一个人,那它爱着谁?

作者寻找了一下这个UUID的所有者,结果发现这是个空号。

嘶——细思极恐啊。

现在,我们已经了解了Age、ForcedAge、InLove和LoveCauseLeast、LoveCauseMost这五个NBT标签,这些标签就是“可繁殖的生物共通标签”的全部内容。众所周知,1.16版本UUIDLeast和UUIDMost合并了,所以在Minecraft Java1.16及以上版本,LoveCauseLeast和LoveCauseMost被合并成了LoveCause标签(整形数组)。

我们按照Minecraft生物一生的发展来对这些标签进行分类,可以分出:

幼年(20min)——Age、ForcedAge

成年——Age:0

单身——InLove

结婚——LoveCauseLeast、LoveCauseMost(<Java1.16)|LoveCause(≥Java1.16)

生子——???

可以发现,生物繁殖之后所用的NBT标签我们还不知道,但“可繁殖的生物共通标签”就五个标签,所以生物繁殖之后所用的NBT就在这五个标签之中。

当然,也可能根本就没有用到。只不过,在下结论前,请最后看一遍《MinecraftWiki:母猪的产后护理》,其中有这么一段话:“猪繁殖过后,两只猪都会进入繁殖冷却期,期间通过喂食将无法进入求爱模式。繁殖冷却期长达五分钟,五分钟过后将会自动回到正常期,可以再次进入求爱模式。”

嗯,按Mojang的尿性,这五分钟绝对有NBT标签存着。让我们动手看一看究竟是哪个NBT存着这繁殖冷却期的剩余时间。

作者又弄出一只猪,让这两只猪繁殖了一下,然后拉开其中一头,仔细看它的NBT:

{ForcedAge:0,Age:5416,InLove:0,LoveCauseLeast:-8954364695892943005L,LoveCauseMost:8652055862991273990L}

哦吼,发现没有!Age的值是5416!我们知道,5分钟换算成游戏刻是5×60×20=6000刻。所以,Age还有一个用处:

当生物与另一只同种生物进行繁殖过程后,Age的值将会变为6000,并随时间减少,为0时停止。Age值减少期间,将是该生物的“繁殖冷却期”。

到这儿,“可繁殖的生物共通标签”才算全部讲完。哦老天爷,终于更了一章啊。

.......

.......

.......

.......

.......

.......

.......

.......

Minecraft文言文版本真棒!

.......

.......

.......

.......

.......

.......

We know how to use the tag “LoveCause“,but when we fill the tag from the other kind of mobs' UUID,what will happen?

I experimented,but nothing happen.

.......

同类推荐
  • 就等你爱上我

    就等你爱上我

    李雪是个游戏小白,小说迷,在小说中看到作者把炫舞游戏介绍的太好玩了!所以李雪毫不犹豫的下载了这款游戏!
  • 慕光者

    慕光者

    电竞大神×游戏实况主(有原型)不以一种游戏为主。她指着书说:“书上说了,没有人会喜欢倾听别人的软弱。所以,我不想……”“我喜欢。”逆着光的他将她拥入怀中,电脑屏幕上闪着大大的“victory”。
  • 网游之武逆江山

    网游之武逆江山

    以我血容乌江,保我江东子弟永世泰安;以我骨筑堤坝,许我江东父老一生富足;以我筋炼诅力,诅你刘氏永世不得超生!我若重生,不求是非成败,只希望找到你,我的虞姬啊!就在闭眼的一瞬间奇迹发生了,一代王者重生归来,带着不甘,带着一抹别人看不见的温柔重生未来,开启一段不一样的旅程……
  • 情迷3C

    情迷3C

    书中讲述:主角——李唯,开始只是个为了给女友惊喜而学打3C的超级菜鸟,在他经历无数的挫折和打击后,终于成为一个顶级的3C高手。与此同时,他也真正爱上了3C这个游戏,并决心要夺得联赛冠军宝座。正当他准备全力向3C联赛冠军冲击时,打击却接踵而来,战队因为矛盾激化而解散,女友车祸离去更是让他心灰意冷……他最后能否振作起来?3C联赛的出路在哪里?4+1,3+2,骑士流、三刀流、熊猫流、WD流、钢板流、出色的个人意识和大局感,完美的操控技术,接近艺术的团队指挥,还有千变万化的战术和英雄组合,绚丽的魔法,激动人心的群体PK大战,大气磅礴柔中带刚的光明阵地战,气势万千不可一世的黑暗冲击突袭,将会在此书中一一展现。如对本书有任何意见或想找人在3C技艺上切磋的请加3C群:群一:41523753群二:39708165群三:44951589
  • 联盟之只会躺赢

    联盟之只会躺赢

    通宵排位的周涛,醒来后发现自己意外穿越到S9,还自带系统。本以为可以大杀四方,但却是一个躺赢系统。无奈的他,走上了坑人之路。韩服:“有没有人能阻止这个躺赢狗登上第一啊!这样的菜逼,简直是对我电竞第一大国的侮辱。”赛场:“这种靠躺赢的选手,也能打世界赛,还有天理?求求那路大神收了这不要脸的家伙吧。”平行世界,如有雷同纯属娱乐。
热门推荐
  • 西殇行

    西殇行

    西游记大概只是个匆忙结局的故事,若干年以后大概只会赞扬那件伟大事业,可是究竟原因呢?为了什么呢?他们呢?-------其实每个人心里都有只嚣张跋扈的猴子。
  • 纪元末日

    纪元末日

    风云涌动,乾坤再起基因崩溃,病毒肆虐乱世将至,人间地狱最后的纪元,最后的希望唯有在阵阵迷雾与杀机之中探寻才能找到活下去的方法
  • 穿成小说里的各类配角

    穿成小说里的各类配角

    秋笙所在的星球叫智研星,星球上遍布科学家,是个研究成习惯的星球。智研星前几百年刚开发了一个新项目,力在研究如何穿越时空。进行这项研究需要能源,而这种能源正是次元人物的精神能量。她身为一个普普通通的公务员,平时没有什么追求就爱钞票。恰好这个新项目招员工,看哪后面不知道多少个0的工资她心动了。本以为需要过五关斩六将,没想到只需要精神能量能契合器械就行,虽然这个情况微乎其微……果然,她秋笙就是天选之女!最后,秋笙顺利成为了一名高薪人士。小说里的世界围绕着男女主展开,孰不知配角也有别样的人生。秋笙与她们达成协议,以精神力为代价,为她们筑梦。[无固定男主,不诋毁原小说主角,大家各自美丽]
  • 结绳知密语

    结绳知密语

    历史小白——林心,一不小心来到了两千年前的世界。 这个盛世王朝,一派欣欣向荣,叛逆少女林心如何在这个与自己三观不同的世界苟下去? ********* 林心本人发言:“刘彘彘,我与你远日无冤,近日无仇,为什么每次你出手我都中箭?”汉武帝本人发言:“你谁?” ********* 本书又名——《从心传》看林怂怂如何苟成长安第一大酒商~ ********* 林心:“我想卖酒,赚小钱钱~”昭辰齐:“货殖乃末业,若为游食之民,则投机钻营,不劳而获。”林心:“我亲手酿的‘秋露白’,再来一杯?”昭辰齐:“再来一杯。”
  • 管理信息系统作业集

    管理信息系统作业集

    管理信息系统是信息技术应用中一个非常重要的领域。随着计算机技术的发展,管理信息系统的理论与应用得到进一步的发展和完善。目前,管理信息系统不仅是计算机及其相关专业的核心课程,而且是管理类专业、经济类专业的相关课程。所以,掌握管理信息系统技术,利用管理信息系统技术进行实际工作,无论是对技术人员还是对管理人员都具有非常重要的意义。
  • 修神之路之诛天神皇

    修神之路之诛天神皇

    无意间李小璐穿越到异界大陆,得知是一个可以修炼的世界,然后就开始了修仙之路,修仙之路上路路荆棘,李小璐一路披荆斩棘,到最后又是一个什么样的结局在等着李小璐······
  • 天行

    天行

    号称“北辰骑神”的天才玩家以自创的“牧马冲锋流”战术击败了国服第一弓手北冥雪,被誉为天纵战榜第一骑士的他,却受到小人排挤,最终离开了效力已久的银狐俱乐部。是沉沦,还是再次崛起?恰逢其时,月恒集团第四款游戏“天行”正式上线,虚拟世界再起风云!
  • 费心套住一只傻兔子

    费心套住一只傻兔子

    汐小颜在室友的怂恿下加了室友不太熟的竹马顾晨阳,却不敢再在进一步。一次偶然的车旅中对一个人动了心,没几天后身份揭开竟是室友的竹马顾晨阳,自此汐小颜下定决心要追到他,在一次次的追逐下终是铁棒磨成针抱得美人归,殊不知她早已落入了顾晨阳的圈套..........
  • 元灵神盘

    元灵神盘

    烽烟起,人间乱。众生呼唤,末世悲凉谁来挽?剑光闪,天地动。傲骨铮铮,血染长空百世战!天才辈出,万年盛世到来,百舸争流的时代降临。被命运选中的叶枫,又该如何面对这一切?
  • 遇谁

    遇谁

    最好的感觉就是两个人在一起没有猜疑没有没有顾忌最好的做事原则就是随心随性随行