我的世界:仅一条指令,让苦力怕给你“暖”被窝!你选择跟谁睡?
来源:互联网 编辑:wan玩得好手游小编 更新:2024-11-04 18:39:39 人气:
问:苦力怕能“睡”在床上么?
“当然不能!”这可能是大多数人的想法。一直以来,很多人都希望《我的世界》怪物们也可以实现在床上睡觉,尤其是变身萌娘之后的苦力怕。所以基于此,我们来做一期关于Minecraft“睡觉”的知识。一个让怪物们也可以睡觉的方法!
村民“睡觉”原理
自1.14更新之后,《我的世界》村民拥有了“睡觉”的能力。并且他们会首先绑定一个床,然后每天固定去那一张床睡觉。这是什么原理呢?
原理:在村民的NBT标签中,有个memories的属性用于记录村民需要记忆的内容。其中minecraft:home标记了床的维度和坐标。所以村民是依靠自身代码的一个“记忆”NBT标签,实现所谓的人类记忆功能。这就是村民寻找床,并且能够记住它的而基来源根基理。
但是请你记住,这只是一个“记住”床在哪的NBT标签。却不是控制村民睡觉的NBT标签。
我们进一步观察惊讶地发现,一只“正在睡觉”的村民会诞生全新的三个标签:SleepingX,SleepingY,SleepingZ。并且这三个坐标和床头那一格方块是完全一致的。而没有睡觉的村民则不存在这三种NBT标签。
所以我们在这里提出一个大胆的猜想,村民睡觉这一行为需要满足三个条件,
- 其一:SleepingXYZ标签,控制着村民睡觉的位置;
- 其二:这个位置必须要有床,否则无法进行睡眠;
- 其三:村民睡觉姿势和朝向由床的位置来决定。
修改村民睡觉的位置,会发生什么?
利用上述原理,突然想到一个问题。一个正在睡觉的村民,若在躺下的时候睡在了船上或者是矿车中,它可以持续睡觉的状态,并且被矿车运送走;甚至是曾经频繁出现过的尸首分离。
那是否意味着,一个村民可以在睡觉的时候,通过修改“SleepingX,SleepingY,SleepingZ”的值,来达不在床上也可以睡觉的目的呢?
我们以Creeper为例,通过命令方块来修改“苦力怕”的NBT标签,看看是否可以让怪物也躺在床上。
- 指令一:用命令方块修改已存在生物的NBT;/data merge entity @e[type=creeper,limit=1] {SleepingX:31,SleepingY:56,SleepingZ:11,NoAI:1}
- 指令二:用指令直接生成一只睡觉的生物;/summon minecraft:zombie ~ ~ ~ {SleepingX:38,SleepingY:56,SleepingZ:3,NoAI:1};
- 注:坐标处一定要有一张床,且为床头的位置;
仅一条指令,就可以跟苦力怕睡觉觉了。NBT标签当中的Sleeping坐标检测到了床的坐标,让苦力怕也成为了一只可以睡觉的生物。并且它在睡觉的时候,拥有和村民相同的“无敌”特性。(例如不能被攻击,不能岩浆灼烧等等)
此时,我们再执行“/tp @e[type=minecraft:creeper,nbt={NoAI:1b}] 31 56 7”就可以让躺下的苦力怕以睡觉的姿势,离开床。
似乎这就是1.14下村民总是出现“睡觉BUG”的真正原因。倘若Mojang给NBT标签中的Sleeping坐标和床的坐标一个范围值判定,也许就不会出现这种所谓的“特性”。
你选谁给你“暖被窝”?
我们测试了几乎所有的生物,甚至是凋灵BOSS都会呈现90°躺下的姿态。水生生物则大多数无法实现躺下,但也是进入的“睡眠”状态。唯一个生物例外,那就是“末影龙”。
另外,我们为什么一定要给生物一个NoAI的标签,因为在怪物们的AI里是没有“睡觉”的概念的。所以即使是进入睡眠它们依然会保存对人类发起进攻的特性。只有失去了AI,它们才能乖乖的躺在床上。
最后,怪物如此凶悍,但睡着的《我的世界》怪物们,可就任你左右了哦!只是你会选择跟谁睡呢?
欢迎玩家到【 wan玩得好手游】查看最新变态版手游攻略,只需要在百度输入【 wan玩得好手游】就可以浏览最新上线送满vip的变态手游攻略了,更多有关手游的攻略和资讯,敬请关注玩得好手游网!