Zombies Eat Animals

Zombies Eat Animals

僵尸猎杀动物为食。吃肉能恢复它们的生命值,并帮助它们随着时间推移变得更强。

冒险

僵尸吃动物

僵尸会捕猎动物为食。吃肉可以恢复它们的生命值,并帮助它们随着时间推移变得更强壮。

这个模组把僵尸变成了与环境互动的食腐者和捕食者,而不是漫无目的地游荡。


特性

僵尸捕猎动物

僵尸会搜寻附近的动物并尝试捕猎它们。

典型的目标包括掉落可食用肉类的生物,例如:

  • 牛
  • 猪
  • 羊
  • 鸡
  • 兔子

夜晚的野外动物不再完全安全。

存活足够久的僵尸会反复捕猎觅食。


自动目标检测

该模组自动检测有效的猎物。

如果某个生物的战利品表可以掉落僵尸能吃的食物物品,僵尸就会把该生物视为捕猎目标。

这意味着许多模组添加的动物无需额外配置即可自动生效。


僵尸吃肉

当动物死亡并掉落食物物品时,僵尸可以走向掉落的物品并将其吃掉。

支持的食物包括:

  • 生肉
  • 熟肉
  • 腐肉

进食会恢复僵尸的生命值,并有助于长期成长。


僵尸可以变得更强

持续进食的僵尸可能会逐渐提高其最大生命值。

随着时间推移,在野外存活且食物充足的僵尸可能会变得比普通僵尸强壮得多。

成长上限可配置。


腐肉加成

食用腐肉可能会获得临时的抗性提升效果,使僵尸在短时间内更难被杀死。


玩法影响

这种行为创造了一个更具动态的世界:

  • 动物可能在夜晚被僵尸捕猎
  • 在野外游荡的僵尸可能随着时间推移变得更强
  • 无人保护的农场可能会损失牲畜
  • 一只僵尸的死亡可能会强化附近的僵尸
  • 怪物与环境之间的互动更加自然

配置

僵尸行为的多个方面均可配置。

捕猎行为

  • alwaysHunting 僵尸将始终尝试捕猎动物。(仍会遵守捕猎冷却和其他限制)

  • berserkerHunting 启用一种绕过正常捕猎限制的特殊模式。

  • huntCooldownTicks 成功捕猎之间的冷却时间。

  • huntCapForADay 每只僵尸在一个 Minecraft 日内的最大捕猎次数。

  • huntCapForADayTotal 同一维度内所有僵尸每天的最大捕猎总次数。

  • huntFollowDistanceFactor 搜寻动物时应用于僵尸跟随范围的距离倍数。


进食行为

  • enableEatFoodItems 僵尸是否可以吃掉掉落的食物物品。

  • recoveryPerNutrition 进食恢复的生命值。

  • maxHealthBoostCap 僵尸通过进食可获得的最高生命值提升上限。

  • maxHealthBoostCapHardModeAddition 在困难难度下额外应用的生命值上限。

  • eatCooldownTicks 进食动作之间的冷却时间。

  • rottenFleshGiveResistance 腐肉可能给予临时抗性提升效果。


数据包支持

该模组使用基于标签的系统来决定僵尸可以吃哪些食物。

僵尸食物标签

zombieseatanimals:zombie_food

此标签内的物品被视为僵尸可食用。

示例数据包路径:

data/zombieseatanimals/tags/items/zombie_food.json

示例:

{
  "replace": false,
  "values": [
    "minecraft:beef",
    "minecraft:cooked_beef",
    "minecraft:porkchop",
    "minecraft:cooked_porkchop"
  ]
}

添加到该标签的任何物品都会被当作僵尸可以吃的食物。


实体目标控制

该模组还提供实体类型标签来控制僵尸会捕猎哪些生物。

这些标签允许整合包作者覆盖自动检测系统。


强制捕猎目标

zombieseatanimals:zombie_target_animal

此标签内的实体将始终被视为有效的捕猎目标,无论其战利品表如何。

示例数据包路径:

data/zombieseatanimals/tags/entity_types/zombie_target_animal.json

示例:

{
  "replace": false,
  "values": [
    "minecraft:horse",
    "minecraft:donkey"
  ]
}

阻止捕猎

zombieseatanimals:not_zombie_target_animal

此标签内的实体将永远不会被僵尸捕猎,即使它们掉落可食用食物。

示例数据包路径:

data/zombieseatanimals/tags/entity_types/not_zombie_target_animal.json

示例:

{
  "replace": false,
  "values": [
    "minecraft:cat"
  ]
}

目标选择优先级

在决定某个生物是否应被捕猎时,模组应用以下规则:

  1. 如果该生物位于 not_zombie_target_animal 中,它永远不会被捕猎。
  2. 如果该生物位于 zombie_target_animal 中,它始终会被捕猎。
  3. 否则,模组会检查该生物的战利品表是否可以掉落 zombie_food 标签中包含的物品。

这种设计使系统能够对大多数生物自动生效,同时仍为整合包作者提供完全的控制权。


整合包集成

该模组旨在在模组环境中良好运行。

在大多数情况下,整合包作者只需将可食用物品添加到 zombie_food 标签中。掉落这些食物的生物将自动成为潜在猎物。

实体标签是可选的,仅在需要明确控制时才需要。

相关项目:

Zombies Do Not Eat Zombie Horses