友军动物复仇 (Friendly Animal Revenge)

基本信息

属性 值
类型 事件系统(配置 + 事件订阅)
触发条件 玩家使用物品完成进食(PlayerUseItemEvent.Finish)
配置类 com.github.namikon.angermod.config.FriendlyAnimalRevengeConfig
事件类 com.github.namikon.angermod.events.EatCookedAnimalsEvent
默认启用 false
配置分类 friendly-animal-revenge

行为

玩家吃完带有特定关键字的食物后,对应种类的友好动物会在 revengeRadius 范围内对玩家发起反击(造成 0 点伤害,但会将其攻击目标切换为玩家,从而触发原版 AI 反击或逃跑逻辑)。

  • 食物关键字匹配:item.getUnlocalizedName() 是否包含任一 xxxFoodTrigger 字符串。
  • 排除关键字:若同时包含任一 xxxFoodExclusions,则跳过触发(如 hamburger 排除 pork 触发)。
  • 触发后,对 revengeRadius 立方体内的目标动物调用 attackEntityFrom(DamageSource.causePlayerDamage(player), 0f)——0 伤害但被原版 AI 视为"被该玩家攻击"。

数值

数值名 默认值 范围 说明
enabled false bool 是否启用整个模块
revengeRadius 16 2 - 128 复仇影响半径(方块)
pigFoodTrigger ["pork", "bacon", "ham"] 字符串数组 触发猪复仇的食物关键字
pigFoodExclusions ["hamburger"] 字符串数组 排除词(避免误伤)
cowFoodTrigger ["beef"] 字符串数组 触发牛复仇的食物关键字
cowFoodExclusions [] 字符串数组 排除词
chickenFoodTrigger ["chicken", "egg", "wing"] 字符串数组 触发鸡复仇的食物关键字
chickenFoodExclusions ["eggplant"] 字符串数组 排除词(避免茄子触发)
sheepFoodTrigger ["mutton", "lamb"] 字符串数组 触发羊复仇的食物关键字
sheepFoodExclusions [] 字符串数组 排除词

目标实体 | 触发关键字参考

实体 默认触发关键字 默认排除关键字
EntityPig 猪 pork, bacon, ham hamburger
EntityCow 牛 beef (无)
EntityChicken 鸡 chicken, egg, wing eggplant
EntitySheep 羊 mutton, lamb (无)

注意:模块依赖于其他 mod 在 Entity* AI 中是否实现了"被攻击后反击/逃跑"逻辑;原版 1.7.10 的动物本身不会主动攻击玩家,因此"复仇"行为受其它 mod(如 Lycanites Mobs)影响。

旧版配置迁移

LegacyAngerModConfig.loadLegacyConfig 读取以下旧键:

  • FriendlyMobRevenge(ModuleControl)→ enabled
  • FriendlyMobRevengeRadius(Limits)→ revengeRadius
  • PigFoodTrigger / CowFoodTrigger / ChickenFoodTrigger / SheepFoodTrigger(MobRevengeTrigger)→ 对应 *FoodTrigger

相关条目