天境被动生物
基本信息
天境被动生物共 6 种,全部注册在 EntitiesAether.initialization() 的 :64-69,并全部进入生物群系的 spawnableCreatureList。
| 注册名 | 实体 ID | 类 | 中文名 | 碰撞箱 | 生命值 |
|---|---|---|---|---|---|
aether_legacy:aerwhale |
5 | EntityAerwhale |
幻鲸 | 3.0 × 3.0 | 未显式设置 |
aether_legacy:phyg |
1 | EntityPhyg |
肥猪 | 0.9 × 1.3 | 未显式设置 |
aether_legacy:sheepuff |
3 | EntitySheepuff |
咩咩 | 0.9 × 1.3 | 未显式设置 |
aether_legacy:flying_cow |
2 | EntityFlyingCow |
飞牛 | 0.9 × 1.3 | 未显式设置 |
aether_legacy:aerbunny |
4 | EntityAerbunny |
兔兔 | 0.4 × 0.4 | 5.0 |
aether_legacy:moa |
0 | EntityMoa |
恐鸟 | 1.0 × 2.0 | 未显式设置 |
碰撞箱来源:EntityAerwhale.java:26、EntityPhyg.java:41、EntitySheepuff.java:35、EntityFlyingCow.java:43、EntityAerbunny.java:43、EntityMoa.java:37。
生命值:只有 EntityAerbunny 显式 setHealth(5.0F)(EntityAerbunny.java:60)。其余 5 种未调用 setHealth,继承自 EntityLiving / EntityAnimal 的默认值 —— 该默认值在原版 Minecraft 源码中,不在 mirror/,因此标为「未显式设置」而非具体数值。
功能
共同基类 EntityAetherAnimal
6 种被动生物中 5 种继承 EntityAetherAnimal(仅 EntityAerwhale 走别的路径)。该基类提供两个覆写(EntityAetherAnimal.java):
寻路权重 getBlockPathWeight:
return this.worldObj.getBlock(x, y - 1, z) == BlocksAether.aether_grass ? 10.0F
: this.worldObj.getLightBrightness(x, y, z) - 0.5F;
即站在空叶草方块上权重固定为 10.0,否则退化为亮度减 0.5。这让天境动物倾向于停留在草方块上。
繁殖物品 isBreedingItem:
return stack.getItem() == ItemsAether.blueberry;
蓝莓是全部天境被动生物的唯一繁殖物品。
可骑乘生物
5 种生物继承 EntityMountable(EntityMountable.java:13,extends EntityAetherAnimal),实现 canRiderInteract()(:38)以支持骑乘者交互。EntityPhyg(肥猪)骑乘后可获得「飞行猪」成就(AchievementsAether.flying_pig,成就图标为原版 Items.saddle,AchievementsAether.java:69-75)。
恐鸟(EntityMoa)
恐鸟是天境最复杂的被动生物:
- 4 个变体(蓝 / 橙 / 白 / 黑),由
AetherMoaTypes.initialization()注册(EntitiesAether.java:102→AetherMoaTypes.java:13) - 变体注册表:
AetherMoaTypes.java:11声明blue, orange, white, black四个AetherMoaType - 可下蛋,产出 4 种
moa_egg(见天境道具) - 蛋可用孵化器加速孵化,孵化出的恐鸟被标记为成年
幻鲸(EntityAerwhale)
碰撞箱 3.0 × 3.0,是天境体型最大的被动生物。getCanSpawnHere 覆写(EntityAerwhale.java:57)额外接入 AetherConfig.getAerwhaleSpawnrate() 概率判定。
EntityAerwhale 不继承 EntityAetherAnimal,因此不使用蓝莓繁殖规则。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 被动生物种类 | 6 | EntitiesAether.java:64-69 |
| 幻鲸碰撞箱 | 3.0 × 3.0 | EntityAerwhale.java:26 |
| 兔兔碰撞箱 | 0.4 × 0.4 | EntityAerbunny.java:43 |
| 兔兔生命值 | 5.0 | EntityAerbunny.java:60 |
| 恐鸟碰撞箱 | 1.0 × 2.0 | EntityMoa.java:37 |
| 繁殖物品 | 蓝莓 | EntityAetherAnimal.isBreedingItem |
| 草上方块寻路权重 | 10.0 | EntityAetherAnimal.getBlockPathWeight |
| 恐鸟变体数 | 4 | AetherMoaTypes.java:11 |
| 敌对生物基础经验值 | 5 | EntityAetherMob.java:21 |
刷怪
刷怪需同时满足 AetherBiome 的 SpawnListEntry 权重与实体自身的 getCanSpawnHere 配置项判定,详见天境生物群系。