Forest Bunny(兔子)
事实基准:
/Users/evlos/a/mirror/twilightforest(minecraftVersion = 1.7.10)逐行读源码。
基本信息
| 属性 | 值 | 来源 |
|---|---|---|
| 注册实体名 | TwilightForest:Forest Bunny |
TwilightForestMod.java:535 |
| 实体 ID 常量 | idMobBunny = 196 |
TwilightForestMod.java:1099 |
| 蛋色 | 主 0xfefeee / 副 0xccaa99 |
TwilightForestMod.java:537-538 |
| 类 | twilightforest.entity.passive.EntityTFBunny(173 行) |
entity/passive/EntityTFBunny.java:23 |
| 父类 | EntityCreature,实现 IAnimals(不是原版兔子 EntityRabbit) |
EntityTFBunny.java:23 |
| 体型 | setSize(0.3F, 0.7F),渲染缩放 0.3F |
EntityTFBunny.java:29, 129-131 |
| 所在群系 | 暮色森林基础群系刷怪表,权重 10、4~5 只 | biomes/TFBiomeBase.java:123 |
数值
| 属性 | 值 | 来源 |
|---|---|---|
maxHealth |
3 | EntityTFBunny.java:56 |
movementSpeed |
0.3 | EntityTFBunny.java:57 |
attackDamage |
源码中未设置 —— 它不是 EntityMob,没有攻击属性 |
EntityTFBunny.java:54-58 |
台阶高度 stepHeight |
1(便于跳跃) | EntityTFBunny.java:32 |
| 回避随机色 | rand.nextInt(4)(0~3 共 4 种) |
EntityTFBunny.java:46 |
| 地形偏好:草方块 | 权重 10.0 | EntityTFBunny.java:155-157 |
| 地形偏好:树叶 / 原木 | -1.0(不生成) | EntityTFBunny.java:149-154 |
AI 行为
EntityTFBunny.java:35-43(注释明确写着借用松鼠的 AI):
| 槽位 | Goal | 说明 |
|---|---|---|
| 0 | EntityAISwimming |
涉水 |
| 1 | EntityAIPanic(2.0F) |
逃跑 |
| 2 | EntityAITempt(1.0F, Items.wheat_seeds, true) |
被小麦种子引诱 |
| 3 | EntityAIAvoidEntity(EntityPlayer, 2.0F, 0.8F, 1.33F) |
避开玩家 |
| 5 | EntityAIWander(0.8F) |
慢速游荡 |
| 6 | EntityAIWander(1.0F) |
快速游荡(两档速度) |
| 7 | EntityAIWatchClosest(EntityPlayer, 6F) |
注视玩家 |
| 8 | EntityAILookIdle |
待机 |
getNavigator().setAvoidsWater(true)(EntityTFBunny.java:35)—— 路径规划主动避水。
特殊机制
- 永不消失:
canDespawn()覆写为false(EntityTFBunny.java:136-139), 兔子不会因为离玩家太远而被清除。 - 体型存档:
BunnyType写入 NBT(EntityTFBunny.java:102-123)。 源码里 4 种类型对应的贴图选择逻辑整段被注释(EntityTFBunny.java:74-97), 渲染器RenderTFBunny直接处理,当前随机色不改变外观。 - 成就:在暮色森林维度内被玩家击杀触发
twilightHunter(EntityTFBunny.java:165-172)。
暮色森林的「兔子」与原版
EntityRabbit无关:它继承EntityCreature而非EntityPassive(兔子基类),因此没有洞穴刷怪 AI、繁殖 AI,也没有胡萝卜偏好。
相关条目
- Bighorn Sheep(大角山羊) - 同群系的中型食草动物
- Wild Deer(野鹿) - 同群系的大型食草动物