天境生物群系

基本信息

属性 值
类 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 的实体(被动组)等于必定刷出;数值越大越稀有。

相关条目