📅  最后修改于: 2023-12-03 14:48:55.781000             🧑  作者: Mango
在 Minecraft 中,僵尸晚上会出现并攻击玩家和生物,但是它们不会攻击海龟蛋。原因如下:
僵尸会攻击生物和玩家,以获得食物和杀死潜在的威胁。海龟蛋并不是它们的目标,因为它们不会给僵尸提供食物(即使它们可以摧毁蛋)。
海龟蛋有一个独特的保护机制。当它们被放置在沙子或红色沙子上时,它们会生长直到孵化为幼小的海龟。它们还可以通过非常快速的爆炸来保护自己,使得攻击它们的生物骨头受到惩罚。这也可能是为什么僵尸不攻击海龟蛋的原因之一。
在 Minecraft 的代码中,海龟蛋有特殊的气味,这样它们就可以吸引动物,这是一个助长它们生长和出生的因素。这种气味还可以使生物停止攻击蛋。以下是 Minecraft 的代码片段:
public boolean isEgg(ItemStack stack) {
return stack.getItem() instanceof ItemTurtleEgg;
}
public boolean shouldAttackEntity(Entity entity, LivingEntity target) {
if (target instanceof Player || target instanceof Turtle || target instanceof AbstractFishEntity) {
return true;
} else if (target instanceof AgeableEntity && ((AgeableEntity) target).getGrowingAge() < 0) {
return true;
} else {
return this.isEgg(target.getItemStackFromSlot(EquipmentSlotType.HELMET)) ||
this.isEgg(target.getItemStackFromSlot(EquipmentSlotType.CHEST)) ||
this.isEgg(target.getItemStackFromSlot(EquipmentSlotType.LEGS)) ||
this.isEgg(target.getItemStackFromSlot(EquipmentSlotType.FEET));
}
}
总之,僵尸不会攻击海龟蛋的主要原因是它们不是僵尸的目标,而且海龟蛋还有一些独特的保护机制,可以吸引动物并快速成长。