生态岛

基本信息

属性 值
生成器 MapGenIsland extends MapGenScatteredFeatureCustom,super(13, 28, 1600, 208)
结构注册名 hardcoreenderdragon_EndIsland(world/DimensionOverride.java:38)
生态数 3 种(IslandBiomeInfestedForest / IslandBiomeBurningMountains / IslandBiomeEnchantedIsland)
内容变体总数 7 种(BiomeContentVariation)
数据源 world/structure/island/(60 个文件)

功能

生态岛是末地的主体玩法内容。它们不是原版意义上的 BiomeGenBase,而是结构内部的概念:一张岛上按权重从若干「内容变体」中抽一个,再用对应的 IslandBiomeDecorator 铺装地形与植被。

抽象基类 IslandBiomeBase(295 行)持有 contentVariations 与 randomDeviations 两个列表,通过 IslandBiomeData 记录本次生成的实际选择(IslandBiomeBase.java:101)。装饰器接口为 IslandBiomeDecorator,3 个实现分别是 BiomeDecoratorInfestedForest / BiomeDecoratorBurningMountains / BiomeDecoratorEnchantedIsland。

数值

生成条件(world/structure/island/MapGenIsland.java:12-20)

super(13, 28, 1600, 208);
...
return rand.nextInt(7) <= 4 && WorldGenChance
        .checkChance(0.65D + 0.35D * WorldGenChance.linear2Incr.calculate(dist, 1600D, 4000D), rand);
参数 值 含义
构造参数 1–4 13, 28, 1600, 208 继承自 MapGenScatteredFeatureCustom(间距 / 间距偏移 / 搜索半径 / 区域大小)
距离内硬门槛 rand.nextInt(7) <= 4(5/7 ≈ 0.714 通过) 伪随机否决
距离外软门槛 0.65 + 0.35 × linear2Incr(dist, 1600, 4000) 距离 1600 → 0.65,距离 4000 → 1.00

7 种内容变体

生态 变体常量 权重 装饰方法
Infested Forest DEEP 8 genDeep()
Infested Forest RUINS 3 genRuins()
Infested Forest RAVAGED 6 genRavaged()
Burning Mountains SCORCHING 8 genScorching()
Burning Mountains MINE 6 genMine()
Enchanted Island HOMELAND 6 —
Enchanted Island LABORATORY 4 —

行号:IslandBiomeInfestedForest.java:23-25、IslandBiomeBurningMountains.java:22-23、IslandBiomeEnchantedIsland.java:37-38。权重 = BiomeContentVariation 构造第 2 参。

⚠️ IslandBiomeInfestedForest 构造时只把 DEEP 与 RAVAGED 加入 contentVariations(:35),RUINS 未加入,但 decorate 仍会响应 data.content == RUINS(:52)。已核对 IslandBiomeInfestedForest.java:23-25(3 个变体声明)与 :35(只 addAll 2 个)、:49-53(decorate 响应 3 个)。仓库没有 intent evidence(无测试、无注释、无 commit 提及),故仅记录事实,不断言为缺陷。

随机偏差

偏差常量 适用变体 位置
TALL_TREES DEEP + RAVAGED IslandBiomeInfestedForest.java:27
MORE_THORNY_BUSHES DEEP IslandBiomeInfestedForest.java:28
EXCESSIVE_CINDER SCORCHING IslandBiomeBurningMountains.java:25
SINGLE_LAVA_ONLY SCORCHING IslandBiomeBurningMountains.java:26
LIMITED_ORES MINE IslandBiomeBurningMountains.java:27
DEEP_RESOURCE_PITS MINE IslandBiomeBurningMountains.java:28
TALL_PILES HOMELAND IslandBiomeEnchantedIsland.java:40
GOO_SWAMP HOMELAND IslandBiomeEnchantedIsland.java:41
MORE_SHADOW_ORCHIDS HOMELAND + LABORATORY IslandBiomeEnchantedIsland.java:42-45

岛上刷怪

SpawnEntry(Class, weight, minCount) 格式(world/util/SpawnEntry.java):

生态 变体 实体 权重 数量 位置
Infested Forest DEEP EntitySilverfish(原版) 35 35 IslandBiomeInfestedForest.java:40
Infested Forest DEEP EntityMobInfestedBat 8 10 IslandBiomeInfestedForest.java:41
Burning Mountains SCORCHING EntityMobFireGolem 14 10 IslandBiomeBurningMountains.java:40
Burning Mountains SCORCHING EntityMobScorchingLens 10 6 IslandBiomeBurningMountains.java:41
Burning Mountains MINE EntityMobHauntedMiner 20 10 IslandBiomeBurningMountains.java:43
Enchanted Island HOMELAND EntityMobEnderman 22 38 IslandBiomeEnchantedIsland.java:57
Enchanted Island HOMELAND EntityMobBabyEnderman 14 20 IslandBiomeEnchantedIsland.java:58

地形高度倍率

IslandBiomeBurningMountains 重写了两个倍率(IslandBiomeBurningMountains.java:52-60):

变体 表面高度倍率 团块高度倍率
SCORCHING 6.5F 0.9F
MINE 7.5F 1.0F

交互

生态互动(BiomeInteraction)

getInteractions(variation) 注册的互动事件,格式 new BiomeInteraction(name, class, weight, amount):

互动 适用变体 权重 / 数量 位置
IF_Deep_CollapsingTrees DEEP 40 / 2 IslandBiomeInfestedForest.java:43-45
InteractionCellarSounds Enchanted Island 见源码 IslandBiomeEnchantedIsland.java:30 导入
InteractionOvertake Enchanted Island 见源码 IslandBiomeEnchantedIsland.java:31 导入

互动实现类位于 world/structure/island/biome/interaction/(3 个文件)。

岛内结构

结构 适用生态 位置
StructureSpookyTree Infested Forest .../biome/feature/forest/StructureSpookyTree.java
StructureBush Infested Forest .../feature/forest/StructureBush.java
StructureRuinBuild / StructureRuinPillar Infested Forest .../feature/forest/
StructureSilverfishDungeon / StructureRavagedDungeon Infested Forest .../feature/forest/
StructureCinderPatch / StructureLavaPool / StructureIgneousRockOre / StructureMiningSpot / StructureResourcePit / StructureDungeonPuzzle Burning Mountains .../biome/feature/mountains/
StructureObsidianRoad / StructureShadowOrchid / StructureGooLake / StructureHiddenCellar / StructureLaboratory Enchanted Island .../biome/feature/island/

地标与资源

  • 基岩核心 biome_core(BlockBiomeIslandCore)标记生态岛中心
  • 运输信标 transport_beacon 在岛上自然生成(虚空箱与运输信标)
  • ObsidianGenerator / CaveGenerator / OreGenerator 三个地形生成器在 .../island/gen/(world/structure/island/gen/)
  • IslandSpawnChecker(.../island/util/)判定玩家出生点

相关条目