天境生物群系
基本信息
| 属性 | 值 |
|---|---|
| 类 | com.gildedgames.the_aether.world.biome.AetherBiome(extends BiomeGenBase) |
| 默认 ID | 127(可配置,见「World Identification → Aether Biome ID」) |
| 名称 | Aether |
| 实例化位置 | AetherWorld.java:20,public static BiomeGenBase aether_biome = new AetherBiome(); |
| 装饰器 | AetherBiomeDecorator |
功能
天境只有这一个生物群系。AetherBiome 在 AetherWorld 的静态字段中作为单例被创建(AetherWorld.java:20),并由 WorldChunkManagerAether 供整个维度使用。
构造时先清空原版全部四张刷怪表(AetherBiome.java:32-35):
spawnableCaveCreatureList(洞穴生物)spawnableCreatureList(和平生物)spawnableMonsterList(敌对生物)spawnableWaterCreatureList(水生生物)
天境没有洞穴生物与水生生物,洞穴与河流均由天境专属生成器处理(见浮空岛生成)。
环境外观:
| 属性 | 值 | 来源 |
|---|---|---|
| 表层方块 | aether_legacy:aether_grass |
AetherBiome.java:51 |
| 次表层方块 | aether_legacy:holystone |
AetherBiome.java:52 |
| 降雨 | 关闭(setDisableRain()) |
AetherBiome.java:55 |
| 群系色 | 0(交由方块自身着色) |
AetherBiome.java:56 |
| 天空色 | 0xBCBCFA(薰衣草蓝) |
AetherBiome.java:89 |
| 草色 | 0xB1FFCB |
AetherBiome.java:94 |
| 树叶色 | 0xB1FFCB |
AetherBiome.java:99 |
| 水色系数 | 16777215(纯白) |
AetherBiome.java:84 |
花朵(AetherBiome.java:77-80):
white_flower(天境白花),每区块 20 次机会purple_flower(天境紫花),每区块 10 次机会
默认树生成器 func_150567_a(AetherBiome.java:108-111):rand.nextInt(20) == 0 时生成 AetherGenOakTree(黄金橡树,5%),否则生成 AetherGenSkyrootTree(false)(天根树,95%)。
刷怪表
和平生物(addCreatureEntry,AetherBiome.java:59-66)
SpawnListEntry 参数顺序为 (实体类, 最低群组, 最高群组, 最大群组)。
| 实体 | 权重/稀有度 | 最小数量 | 最大数量 | 备注 |
|---|---|---|---|---|
幻鲸 EntityAerwhale |
12 | 1 | 1 | 空中大型被动 |
肥猪 EntityPhyg |
12 | 4 | 4 | 可骑乘 |
咩咩 EntitySheepuff |
10 | 4 | 4 | 可骑乘 |
飞牛 EntityFlyingCow |
8 | 4 | 4 | 可骑乘 |
兔兔 EntityAerbunny |
6 | 2 | 3 | 可骑乘 |
恐鸟 EntityMoa |
5 | 2 | 3 | 可骑乘,下蛋 |
敌对生物(addMobEntry,AetherBiome.java:68-74)
| 实体 | 权重/稀有度 | 最小数量 | 最大数量 | 备注 |
|---|---|---|---|---|
鸡块 EntityCockatrice |
100 | 4 | 4 | 地牢主要敌对生物 |
西风 EntityZephyr |
50 | 1 | 2 | 空中 |
针叶花 EntityAechorPlant |
20 | 2 | 3 | 固定植物型 |
旋风 EntityWhirlwind |
10 | 1 | 2 | 移动型 |
史维特 EntitySwet |
10 | 2 | 3 | 被动,被击打后敌对 |
不在刷怪表内的生物:EntitySentry(哨卫)、EntityMimic(拟态者)以及三个 Boss(滑块、女武神女王、太阳精灵)——它们由地牢逻辑与 Boss 房单独生成,不走生物群系刷怪表。详见敌对生物与Boss。
刷怪实际要过两关:第一关是 SpawnListEntry 的权重(上面表中的第二列),第二关是各实体自己 getCanSpawnHere() 里的配置项概率判定,形式统一为 this.rand.nextInt(AetherConfig.getXxxSpawnrate()) == 0。
| 配置项默认值 | 读取入口 | 调用点 |
|---|---|---|
| 鸡块 45 | AetherConfig.getCockatriceSpawnrate() |
EntityCockatrice.java:54 |
| 西风 65 | AetherConfig.getZephyrSpawnrate() |
EntityZephyr.java:49 |
| 史维特 40 | AetherConfig.getSwetSpawnrate() |
EntitySwet.java:442 |
| 针叶花 55 | AetherConfig.getAechorPlantSpawnrate() |
EntityAechorPlant.java:56 |
| 旋风 55 | AetherConfig.getWhirlwindSpawnrate() |
EntityWhirlwind.java:393 |
| 幻鲸 1 | AetherConfig.getAerwhaleSpawnrate() |
EntityAerwhale.java:57 |
| 肥猪 1 | AetherConfig.getPhygSpawnrate() |
EntityPhyg.java:65 |
| 咩咩 1 | AetherConfig.getSheepuffSpawnrate() |
EntitySheepuff.java:88 |
| 飞牛 1 | AetherConfig.getFlyingCowSpawnrate() |
EntityFlyingCow.java:67 |
| 兔兔 1 | AetherConfig.getAerbunnySpawnrate() |
EntityAerbunny.java:75 |
| 恐鸟 1 | AetherConfig.getMoaSpawnrate() |
EntityMoa.java:111 |
默认值见 AetherConfig.java:152-181。默认值为 1 的实体(被动组)等于必定刷出;数值越大越稀有。