Wild Deer(野鹿)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:Wild Deer |
TwilightForestMod.java:450 |
| 实体 ID 常量 | idMobWildDeer = 179 |
TwilightForestMod.java:1083 |
| 蛋色 | 主 0x7b4d2e / 副 0x4b241d |
TwilightForestMod.java:452-453 |
| 类 | twilightforest.entity.passive.EntityTFDeer(121 行) |
entity/passive/EntityTFDeer.java:24 |
| 父类 | net.minecraft.entity.passive.EntityCow |
EntityTFDeer.java:24 |
| 体型 | setSize(0.7F, 2.3F) |
EntityTFDeer.java:29 |
| 所在群系 | 暮色森林基础群系刷怪表,权重 15、4~5 只(三类食草动物里权重最高) | biomes/TFBiomeBase.java:118 |
类上的 javadoc 写「Deer are like quiet, non-milkable cows!」 (
EntityTFDeer.java:16-23)—— 确实继承的是奶牛EntityCow。
数值
| 属性 | 值 | 来源 |
|---|---|---|
maxHealth |
源码中未设置 —— 完全沿用 EntityCow 的原版值 |
EntityTFDeer.java 全文无 applyEntityAttributes |
movementSpeed |
源码中未设置 —— 沿用 EntityCow |
同上 |
| 体型宽 / 高 | 0.7 / 2.3 | EntityTFDeer.java:29 |
| 皮革掉落数 | rand.nextInt(3) + rand.nextInt(1 + looting) |
EntityTFDeer.java:83 |
| 鹿肉掉落数 | rand.nextInt(3) + 1 + rand.nextInt(1 + looting)(至少 1 块) |
EntityTFDeer.java:90 |
构造函数里 31-40 行是一整段被注释掉的 AI 覆写(含
EntityAITFPanicOnFlockDeath、EntityAIMate、EntityAITempt(Items.wheat))。 因此它用的是原版奶牛的 AI —— 会被小麦吸引、跟随小牛犊、会挤奶。 唯一被真正禁掉的是挤奶(见下)。
机制
- 不可挤奶:
interact覆写 —— 手持桶时直接return false(EntityTFDeer.java:67-76),其它情况才走super.interact。 ⚠️ 但EntityCow.interact的挤奶判定用的是Items.bucket, 而原版EntityCow还会在桶里得到Items.milk_bucket;本类只是把入口关掉。 - 完全静音:
getLivingSound()返回null(EntityTFDeer.java:51-54), 脚步声func_145780_a是空方法体(第 60-62 行,播放语句被注释)—— 鹿是暮色森林里唯一没有待机音也没有脚步声的大型动物。 - 肉随燃烧状态变:
dropFewItems里若isBurning()掉TFItems.venisonCooked(熟鹿肉),否则掉TFItems.venisonRaw(生鹿肉) (EntityTFDeer.java:93-97)。皮革则无论是否燃烧都掉。 - 繁殖:
createChild返回新的EntityTFDeer(EntityTFDeer.java:104-107)。 - 成就:在暮色森林维度内被玩家击杀触发
twilightHunter(EntityTFDeer.java:113-118)。
相关条目
- Venison Raw(生鹿肉) - 本实体的主要掉落
- Bighorn Sheep(大角山羊) - 同群系的绵羊类
- Wild Boar(野猪) - 同群系的中型野兽