世界生成变体

改写区块生成的 4 个子变体,全部通过 Phase.EARLY mixin 实现,需要重启游戏。

VOID_WORLD

Void World —— 关闭所有地形生成,把所有维度(含出生维度)变成纯虚空。

对应 4 个 early mixin builder(条件均为 VOID_WORLD 或 VOID_ISLAND,并检查 !disableVariants):

MixinBuilder 挂载
DISABLE_CHUNK_TERRAIN_GENERATION MixinChunkProviderServer_DisableTerrain
DISABLE_CHUNK_TERRAIN_GENERATION_ENDLESS_IDS MixinChunkProviderServer_DisableTerrain_EndlessIDs
DISABLE_WORLD_TYPE_CHUNK_POPULATION MixinChunkProviderServer_DisablePopulation、AccessorChunkProviderGenerate
DISABLE_MODDED_CHUNK_POPULATION MixinChunkProviderServer_DisableModGeneration

后两个针对的是模组生成物(如 Natura 云层)与与地形绑定的结构/矿脉。builder 条件同时列出 SKYGRID 与 SUPERFLAT,即这三个变体在关闭生成物这一点上共用逻辑。

*_EndlessIDs 变体是因为该 mod 有专门的兼容判定,EndlessIDs 装与不装要挂不同的 mixin。

SUPERFLAT

Superflat —— 把世界与所有维度强制为超平坦。互斥 VOID_WORLD 与 VOID_ISLAND。

MixinBuilder 挂载
SUPERFLAT_CHUNK_TERRAIN_GENERATION MixinChunkProviderServer_ForceSuperflatTerrain
SUPERFLAT_CHUNK_TERRAIN_GENERATION_ENDLESS_IDS MixinChunkProviderServer_ForceSuperflatTerrain_EndlessIDs

两个配套配置项(均默认 false):

  • allowSuperflatPopulation —— 是否允许超平坦上生成结构与植被(村庄始终生成)
  • allowSuperflatBiomes —— 超平坦主世界是否生成平原以外的生物群系

MixinEntitySlime_ExtendedSpawnRange(builder INCREASE_SLIME_SPAWNING_HEIGHT)把史莱姆生成高度提升到 y = 80。

SKYGRID

Skygrid —— 把世界与所有维度强制为稀疏网格。互斥 VOID_WORLD、VOID_ISLAND、SUPERFLAT。

MixinBuilder 挂载
SKYGRID_CHUNK_TERRAIN_GENERATION MixinChunkProviderServer_ForceSkygridTerrain
SKYGRID_CHUNK_TERRAIN_GENERATION_ENDLESS_IDS MixinChunkProviderServer_ForceSkygridTerrain_EndlessIDs

由 3 个配置项控制:

配置 默认值 说明
skygridDistance 3 网格方块之间的空气方块数(@RangeInt(min = 0))
skygridTEWhitelist { "" } 允许在网格中生成的 tileentity 白名单,格式 modID:blockname:meta
skygridBlacklist { "minecraft:command_block:0" } 禁止生成的方块黑名单,格式同上

实现类为 variants/invasive/SkyGrid.java。

MONOBLOCK

Monoblock —— 把区块中所有方块替换为单一类型。互斥无,但被包含于 NO_RECIPE_ADDITIONS 方向相反(MONOBLOCK 的 incompatible 声明为 { NO_RECIPE_ADDITIONS })。

对应 REPLACE_ALL_CHUNK_BLOCKS builder,挂载 MixinChunkProviderServer_ReplaceBlocks 与 MixinChunk_ReplaceGeneratedBlocks(一个改生成器侧,一个改区块落盘侧)。

目标方块由配置 replacementBlock 决定,默认 minecraft:stone:0。

村庄跨生物群系

ALLOW_VILLAGE_GENERATION_IN_ANY_BIOME builder 挂载 MixinMapGenVillage_AllowAnyBiome 与 MixinStructureVillagePieces_AllowAnyBiome,让村庄能在任意生物群系生成(同时改 MapGenVillage 与 StructureVillagePieces)。

RWG 兼容

AccessorChunkGeneratorRealistic 是为 Realistic World Gen 加的 accessor mixin,Mixins 枚举末尾的 coremod 识别列表里含 RWG(null, "RWG", "rwg.world.ChunkGeneratorRealistic")。

相关条目