Penguin(企鹅)

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

基本信息

属性 值 来源
注册实体名 TwilightForest:Glacier Penguin TwilightForestMod.java:509-514
英文显示名 Penguin(entity.TwilightForest.Glacier Penguin.name) assets/twilightforest/lang/en_US.lang:579
实体 ID 常量 idMobPenguin = 191 TwilightForestMod.java:1094
蛋色 主 0x12151b / 副 0xf9edd2 TwilightForestMod.java:513-514
类 twilightforest.entity.passive.EntityTFPenguin(93 行) entity/passive/EntityTFPenguin.java:24
父类 twilightforest.entity.passive.EntityTFBird → net.minecraft.entity.passive.EntityAnimal entity/passive/EntityTFBird.java:9
体型 setSize(0.5F, 0.9F) EntityTFPenguin.java:30
所属结构 不属于任何结构,仅冰川群系刷怪表:权重 10、4~4 只 biomes/TFBiomeGlacier.java:41

⚠️ 注册名与显示名不一致:注册是 Glacier Penguin,但语言文件把 显示名覆盖成了 Penguin(lang/en_US.lang:579)。召唤用前者, 界面上只会看到后者。

数值

属性 值 来源
maxHealth 10.0 EntityTFPenguin.java:90
movementSpeed 0.2 EntityTFPenguin.java:91
繁殖食物 Items.fish EntityTFPenguin.java:68-70
幼崽 new EntityTFPenguin(worldObj) EntityTFPenguin.java:59-61
惊吓逃跑速度 1.75F EntityTFPenguin.java:34
跟随亲代速度 1.15F EntityTFPenguin.java:37
鱼饵诱惑速度 0.75F EntityTFPenguin.java:36
getLivingSound null(源码里 return null;// "mob.chicken";) EntityTFPenguin.java:51-53
attackDamage 源码中未设置 —— 被动生物,沿用 EntityAnimal 链上的父类默认;检索方式:全文无 attackDamage 出现 —

AI 行为 / 特殊机制

完全重建的鱼群 AI(EntityTFPenguin.java:32-44):构造函数注释写「reset tasks for fish」 —— 它在 EntityTFBird 父类任务之上再叠 9 个任务: 游泳(0)、惊吓(1)、交配(2)、鱼饵诱惑(3)、跟随亲代(4)、游荡(5)、 注视玩家 6 格(6)、注视同类企鹅 5 格/0.02F(7)、呆站(8)。

以鱼为食:isBreedingItem 判定 Items.fish(:68-70), EntityAITempt 也用 Items.fish(:36)—— 与牛羊的「小麦」不同。

静音:getLivingSound() 直接 return null(:51-53), 行尾注释保留了原本想用的 "mob.chicken"。受伤 / 死亡音效未覆写, 走 EntityTFBird → EntityAnimal 默认。

成就:onDeath 在暮色森林维度被玩家击杀时触发 twilightHunter(:75-82)。

无掉落覆写:本类没有 getDropItem / dropFewItems, 掉落由 EntityAnimal 链决定;本机无 Minecraft 反编译源,具体物品无法核实。

死代码:EntityTFPenguin.java:28 注释掉的 // texture = ... "penguin.png";。

相关条目