Loyal Zombie(忠诚的僵尸)

事实基准:/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。

基本信息

属性 值 来源
注册实体名 TwilightForest:Loyal Zombie TwilightForestMod.java:519-520
实体 ID 常量 idMobLoyalZombie = 193 TwilightForestMod.java:1096
蛋色 无 走 3 参数重载 TFCreatures.java:44-50,不写 entityEggs
刷怪蛋 无 同上 —— 只能用僵尸权杖召唤
类 twilightforest.entity.EntityTFLoyalZombie(166 行) entity/EntityTFLoyalZombie.java:28
父类 net.minecraft.entity.passive.EntityTameable 同上 :28
体型 setSize(0.6F, 1.8F) EntityTFLoyalZombie.java:34
生物属性 EnumCreatureAttribute.UNDEAD EntityTFLoyalZombie.java:163-165
所属结构 不属于任何结构,仅由僵尸权杖生成 item/ItemTFZombieWand.java:44

注册走的是 registerTFCreature(Class, String, int) 三参数重载, 该重载没有 entityEggs.put(...)(TFCreatures.java:44-50), 所以创造模式物品栏里没有忠诚僵尸刷怪蛋。

数值

属性 值 来源
maxHealth 40.0 EntityTFLoyalZombie.java:61
movementSpeed 0.3 EntityTFLoyalZombie.java:62
近战伤害(attackEntityAsMob) 7 EntityTFLoyalZombie.java:69
击飞 motionY 加成 +0.2 EntityTFLoyalZombie.java:74
固定护甲值 getTotalArmorValue 3 EntityTFLoyalZombie.java:107-109
自燃时长 setFire 100 tick(5 秒) EntityTFLoyalZombie.java:89
attackDamage 属性 源码中未设置,沿用 EntityTameable 链上的父类默认 —— 检索方式:EntityTFLoyalZombie.java 全文无 attackDamage 出现 —

AI 行为 / 特殊机制

生命倒计时(EntityTFLoyalZombie.java:84-93):onLivingUpdate 每 tick 检查身上 没有 Potion.damageBoost,就立刻 setFire(100) 并反复续期。方法上的 javadoc 写明「效果是我们在 60 秒寿命结束后不久就死」—— 也就是说它一出生就在烧, 且火伤会不断续期,召唤后约 60 秒必定烧死。玩家喝力量药水(伤害增强)可以阻止。

掉落:getDropItem() 返回 Item.getItemById(0)(空气,:155-157), 本类未覆写 dropFewItems —— 不掉落任何东西。

驯服语义:虽然父类是 EntityTameable,但本类没有任何驯服 UI, createChild 直接 return null(:51-53),canDespawn 被覆写为 !this.isTamed()(:99-101)—— 也就是说永远无法被驯服,因而永不消失。

AI 目标(:36-46):游泳(1)、扑跳(3, 0.4F)、近战(4)、跟随主人(5, 1.0D/10.0F/2.0F)、 游荡(7)、注视玩家(9, 8.0F)、呆站(9);仇恨:主人被伤(1)、为主人复仇(2)、 被伤还击(3, true)、攻击其他 EntityMob(4, 距离 0)。因无法驯服, 「跟随主人 / 为主人复仇」两组目标在正常玩法里永远不会触发。

声音:mob.zombie.say / mob.zombie.hurt / mob.zombie.death, 脚步声 mob.zombie.step(音量 0.15F,音调 1.0F)(:122-149)。

死代码:构造函数里两行旧版贴图/速度赋值被注释掉 (:32-33 // this.texture = ...、// this.moveSpeed = 0.3F;)—— moveSpeed 的生效值来自 applyEntityAttributes(:62)。

成就:本类没有 onDeath 覆写,因此不触发 twilightHunter (与同为暮色森林生物的 Redcap / Minotaur 等不同)。

相关条目