Package net.minecraft.world.gen.chunk
Class ChunkGenerator
java.lang.Object
net.minecraft.world.gen.chunk.ChunkGenerator
- Direct Known Subclasses:
DebugChunkGenerator
,FlatChunkGenerator
,NoiseChunkGenerator
In charge of shaping, adding biome specific surface blocks, and carving chunks,
as well as populating the generated chunks with features and entities.
Biome placement starts here, however all vanilla and most modded chunk generators delegate this to a biome source.
- Mappings:
Namespace Name official cmn
intermediary net/minecraft/class_2794
named net/minecraft/world/gen/chunk/ChunkGenerator
-
Field Summary
Modifier and TypeFieldDescriptionprotected BiomeSource
private BlockSource
static com.mojang.serialization.Codec<ChunkGenerator>
protected BiomeSource
Used to control the population step without replacing the actual biome that comes from the originalbiomeSource
.private StructuresConfig
private long
-
Constructor Summary
ConstructorDescriptionChunkGenerator(BiomeSource populationSource, BiomeSource biomeSource, StructuresConfig structuresConfig, long worldSeed)
ChunkGenerator(BiomeSource biomeSource, StructuresConfig structuresConfig)
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addStructureReferences(StructureWorldAccess world, StructureAccessor accessor, Chunk chunk)
Finds all structures that the given chunk intersects, and adds references to their starting chunks to it.abstract void
buildSurface(ChunkRegion region, Chunk chunk)
Places the surface blocks of the biomes after the noise has been generated.void
carve(long seed, BiomeAccess access, Chunk chunk, GenerationStep.Carver carver)
Generates caves for the given chunk.protected AquiferSampler
createAquiferSampler(Chunk chunk)
void
generateFeatures(ChunkRegion region, StructureAccessor accessor)
private void
protected abstract com.mojang.serialization.Codec<? extends ChunkGenerator>
getCodec()
abstract VerticalBlockSample
getColumnSample(int x, int z, HeightLimitView world)
Returns a sample of all the block states in a column for use in structure generation.getEntitySpawnList(Biome biome, StructureAccessor accessor, SpawnGroup group, BlockPos pos)
abstract int
getHeight(int x, int z, Heightmap.Type heightmap, HeightLimitView world)
Returns the raw noise height of a column for use in structure generation.int
getHeightInGround(int x, int z, Heightmap.Type heightmap, HeightLimitView world)
int
getHeightOnGround(int x, int z, Heightmap.Type heightmap, HeightLimitView world)
int
int
int
getSpawnHeight(HeightLimitView world)
int
boolean
locateStructure(ServerWorld world, StructureFeature<?> feature, BlockPos center, int radius, boolean skipExistingChunks)
Tries to find the closest structure of a given type near a given block.void
populateBiomes(Registry<Biome> biomeRegistry, Chunk chunk)
void
populateEntities(ChunkRegion region)
abstract CompletableFuture<Chunk>
populateNoise(Executor executor, StructureAccessor accessor, Chunk chunk)
Generates the base shape of the chunk out of the basic block states as decided by this chunk generator's config.private void
setStructureStart(ConfiguredStructureFeature<?,?> feature, DynamicRegistryManager registryManager, StructureAccessor accessor, Chunk chunk, StructureManager structureManager, long worldSeed, Biome biome)
void
setStructureStarts(DynamicRegistryManager registryManager, StructureAccessor accessor, Chunk chunk, StructureManager structureManager, long worldSeed)
Determines which structures should start in the given chunk and creates their starting points.abstract ChunkGenerator
withSeed(long seed)
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a:Lcom/mojang/serialization/Codec;
intermediary field_24746
Lnet/minecraft/class_2794;field_24746:Lcom/mojang/serialization/Codec;
named CODEC
Lnet/minecraft/world/gen/chunk/ChunkGenerator;CODEC:Lcom/mojang/serialization/Codec;
-
populationSource
Used to control the population step without replacing the actual biome that comes from the originalbiomeSource
.This is used by
FlatChunkGenerator
to overwrite biome properties like whether lakes generate, while preserving the original biome ID.- Mappings:
Namespace Name Mixin selector official b
Lcmn;b:Lbxr;
intermediary field_12761
Lnet/minecraft/class_2794;field_12761:Lnet/minecraft/class_1966;
named populationSource
Lnet/minecraft/world/gen/chunk/ChunkGenerator;populationSource:Lnet/minecraft/world/biome/source/BiomeSource;
-
biomeSource
- Mappings:
Namespace Name Mixin selector official c
Lcmn;c:Lbxr;
intermediary field_24747
Lnet/minecraft/class_2794;field_24747:Lnet/minecraft/class_1966;
named biomeSource
Lnet/minecraft/world/gen/chunk/ChunkGenerator;biomeSource:Lnet/minecraft/world/biome/source/BiomeSource;
-
structuresConfig
- Mappings:
Namespace Name Mixin selector official d
Lcmn;d:Lcqi;
intermediary field_16567
Lnet/minecraft/class_2794;field_16567:Lnet/minecraft/class_5311;
named structuresConfig
Lnet/minecraft/world/gen/chunk/ChunkGenerator;structuresConfig:Lnet/minecraft/world/gen/chunk/StructuresConfig;
-
worldSeed
private final long worldSeed- Mappings:
Namespace Name Mixin selector official e
Lcmn;e:J
intermediary field_24748
Lnet/minecraft/class_2794;field_24748:J
named worldSeed
Lnet/minecraft/world/gen/chunk/ChunkGenerator;worldSeed:J
-
strongholds
- Mappings:
Namespace Name Mixin selector official f
Lcmn;f:Ljava/util/List;
intermediary field_24749
Lnet/minecraft/class_2794;field_24749:Ljava/util/List;
named strongholds
Lnet/minecraft/world/gen/chunk/ChunkGenerator;strongholds:Ljava/util/List;
-
blockSource
- Mappings:
Namespace Name Mixin selector official g
Lcmn;g:Lcpg;
intermediary field_33512
Lnet/minecraft/class_2794;field_33512:Lnet/minecraft/class_5840;
named blockSource
Lnet/minecraft/world/gen/chunk/ChunkGenerator;blockSource:Lnet/minecraft/world/gen/BlockSource;
-
-
Constructor Details
-
ChunkGenerator
- Mappings:
Namespace Name Mixin selector official <init>
Lcmn;<init>(Lbxr;Lcqi;)V
intermediary <init>
Lnet/minecraft/class_2794;<init>(Lnet/minecraft/class_1966;Lnet/minecraft/class_5311;)V
named <init>
Lnet/minecraft/world/gen/chunk/ChunkGenerator;<init>(Lnet/minecraft/world/biome/source/BiomeSource;Lnet/minecraft/world/gen/chunk/StructuresConfig;)V
-
ChunkGenerator
public ChunkGenerator(BiomeSource populationSource, BiomeSource biomeSource, StructuresConfig structuresConfig, long worldSeed)- Mappings:
Namespace Name Mixin selector official <init>
Lcmn;<init>(Lbxr;Lbxr;Lcqi;J)V
intermediary <init>
Lnet/minecraft/class_2794;<init>(Lnet/minecraft/class_1966;Lnet/minecraft/class_1966;Lnet/minecraft/class_5311;J)V
named <init>
Lnet/minecraft/world/gen/chunk/ChunkGenerator;<init>(Lnet/minecraft/world/biome/source/BiomeSource;Lnet/minecraft/world/biome/source/BiomeSource;Lnet/minecraft/world/gen/chunk/StructuresConfig;J)V
-
-
Method Details
-
generateStrongholdPositions
private void generateStrongholdPositions()- Mappings:
Namespace Name Mixin selector official h
Lcmn;h()V
intermediary method_28509
Lnet/minecraft/class_2794;method_28509()V
named generateStrongholdPositions
Lnet/minecraft/world/gen/chunk/ChunkGenerator;generateStrongholdPositions()V
-
getCodec
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a()Lcom/mojang/serialization/Codec;
intermediary method_28506
Lnet/minecraft/class_2794;method_28506()Lcom/mojang/serialization/Codec;
named getCodec
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getCodec()Lcom/mojang/serialization/Codec;
-
withSeed
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(J)Lcmn;
intermediary method_27997
Lnet/minecraft/class_2794;method_27997(J)Lnet/minecraft/class_2794;
named withSeed
Lnet/minecraft/world/gen/chunk/ChunkGenerator;withSeed(J)Lnet/minecraft/world/gen/chunk/ChunkGenerator;
-
populateBiomes
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lgw;Lcml;)V
intermediary method_12106
Lnet/minecraft/class_2794;method_12106(Lnet/minecraft/class_2378;Lnet/minecraft/class_2791;)V
named populateBiomes
Lnet/minecraft/world/gen/chunk/ChunkGenerator;populateBiomes(Lnet/minecraft/util/registry/Registry;Lnet/minecraft/world/chunk/Chunk;)V
-
carve
Generates caves for the given chunk.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(JLbxq;Lcml;Lcpo$a;)V
intermediary method_12108
Lnet/minecraft/class_2794;method_12108(JLnet/minecraft/class_4543;Lnet/minecraft/class_2791;Lnet/minecraft/class_2893$class_2894;)V
named carve
Lnet/minecraft/world/gen/chunk/ChunkGenerator;carve(JLnet/minecraft/world/biome/source/BiomeAccess;Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/world/gen/GenerationStep$Carver;)V
-
createAquiferSampler
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lcml;)Lcpf;
intermediary method_36380
Lnet/minecraft/class_2794;method_36380(Lnet/minecraft/class_2791;)Lnet/minecraft/class_6350;
named createAquiferSampler
Lnet/minecraft/world/gen/chunk/ChunkGenerator;createAquiferSampler(Lnet/minecraft/world/chunk/Chunk;)Lnet/minecraft/world/gen/chunk/AquiferSampler;
-
locateStructure
@Nullable public @Nullable BlockPos locateStructure(ServerWorld world, StructureFeature<?> feature, BlockPos center, int radius, boolean skipExistingChunks)Tries to find the closest structure of a given type near a given block.New chunks will only be generated up to the
ChunkStatus.STRUCTURE_STARTS
phase by this method.The radius is ignored for strongholds.
- Parameters:
radius
- the search radius in chunks around the chunk the given block position is in; a radius of 0 will only search in the given chunkskipExistingChunks
- whether only structures that are not referenced by generated chunks (chunks past the STRUCTURE_STARTS stage) are returned, excluding strongholds- Returns:
null
if no structure could be found within the given search radius- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Labr;Lcuc;Lgg;IZ)Lgg;
intermediary method_12103
Lnet/minecraft/class_2794;method_12103(Lnet/minecraft/class_3218;Lnet/minecraft/class_3195;Lnet/minecraft/class_2338;IZ)Lnet/minecraft/class_2338;
named locateStructure
Lnet/minecraft/world/gen/chunk/ChunkGenerator;locateStructure(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/world/gen/feature/StructureFeature;Lnet/minecraft/util/math/BlockPos;IZ)Lnet/minecraft/util/math/BlockPos;
-
generateFeatures
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Labx;Lbxg;)V
intermediary method_12102
Lnet/minecraft/class_2794;method_12102(Lnet/minecraft/class_3233;Lnet/minecraft/class_5138;)V
named generateFeatures
Lnet/minecraft/world/gen/chunk/ChunkGenerator;generateFeatures(Lnet/minecraft/world/ChunkRegion;Lnet/minecraft/world/gen/StructureAccessor;)V
-
buildSurface
Places the surface blocks of the biomes after the noise has been generated.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Labx;Lcml;)V
intermediary method_12110
Lnet/minecraft/class_2794;method_12110(Lnet/minecraft/class_3233;Lnet/minecraft/class_2791;)V
named buildSurface
Lnet/minecraft/world/gen/chunk/ChunkGenerator;buildSurface(Lnet/minecraft/world/ChunkRegion;Lnet/minecraft/world/chunk/Chunk;)V
-
populateEntities
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Labx;)V
intermediary method_12107
Lnet/minecraft/class_2794;method_12107(Lnet/minecraft/class_3233;)V
named populateEntities
Lnet/minecraft/world/gen/chunk/ChunkGenerator;populateEntities(Lnet/minecraft/world/ChunkRegion;)V
-
getStructuresConfig
- Mappings:
Namespace Name Mixin selector official b
Lcmn;b()Lcqi;
intermediary method_12109
Lnet/minecraft/class_2794;method_12109()Lnet/minecraft/class_5311;
named getStructuresConfig
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getStructuresConfig()Lnet/minecraft/world/gen/chunk/StructuresConfig;
-
getSpawnHeight
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lbwr;)I
intermediary method_12100
Lnet/minecraft/class_2794;method_12100(Lnet/minecraft/class_5539;)I
named getSpawnHeight
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getSpawnHeight(Lnet/minecraft/world/HeightLimitView;)I
-
getBiomeSource
- Mappings:
Namespace Name Mixin selector official c
Lcmn;c()Lbxr;
intermediary method_12098
Lnet/minecraft/class_2794;method_12098()Lnet/minecraft/class_1966;
named getBiomeSource
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getBiomeSource()Lnet/minecraft/world/biome/source/BiomeSource;
-
getWorldHeight
public int getWorldHeight()- Mappings:
Namespace Name Mixin selector official d
Lcmn;d()I
intermediary method_12104
Lnet/minecraft/class_2794;method_12104()I
named getWorldHeight
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getWorldHeight()I
-
getEntitySpawnList
public Pool<SpawnSettings.SpawnEntry> getEntitySpawnList(Biome biome, StructureAccessor accessor, SpawnGroup group, BlockPos pos)- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lbxo;Lbxg;Latw;Lgg;)Laqs;
intermediary method_12113
Lnet/minecraft/class_2794;method_12113(Lnet/minecraft/class_1959;Lnet/minecraft/class_5138;Lnet/minecraft/class_1311;Lnet/minecraft/class_2338;)Lnet/minecraft/class_6012;
named getEntitySpawnList
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getEntitySpawnList(Lnet/minecraft/world/biome/Biome;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/entity/SpawnGroup;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/collection/Pool;
-
setStructureStarts
public void setStructureStarts(DynamicRegistryManager registryManager, StructureAccessor accessor, Chunk chunk, StructureManager structureManager, long worldSeed)Determines which structures should start in the given chunk and creates their starting points.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lgx;Lbxg;Lcml;Ldcp;J)V
intermediary method_16129
Lnet/minecraft/class_2794;method_16129(Lnet/minecraft/class_5455;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;Lnet/minecraft/class_3485;J)V
named setStructureStarts
Lnet/minecraft/world/gen/chunk/ChunkGenerator;setStructureStarts(Lnet/minecraft/util/registry/DynamicRegistryManager;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/structure/StructureManager;J)V
-
setStructureStart
private void setStructureStart(ConfiguredStructureFeature<?,?> feature, DynamicRegistryManager registryManager, StructureAccessor accessor, Chunk chunk, StructureManager structureManager, long worldSeed, Biome biome)- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lcro;Lgx;Lbxg;Lcml;Ldcp;JLbxo;)V
intermediary method_28508
Lnet/minecraft/class_2794;method_28508(Lnet/minecraft/class_5312;Lnet/minecraft/class_5455;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;Lnet/minecraft/class_3485;JLnet/minecraft/class_1959;)V
named setStructureStart
Lnet/minecraft/world/gen/chunk/ChunkGenerator;setStructureStart(Lnet/minecraft/world/gen/feature/ConfiguredStructureFeature;Lnet/minecraft/util/registry/DynamicRegistryManager;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/world/chunk/Chunk;Lnet/minecraft/structure/StructureManager;JLnet/minecraft/world/biome/Biome;)V
-
addStructureReferences
public void addStructureReferences(StructureWorldAccess world, StructureAccessor accessor, Chunk chunk)Finds all structures that the given chunk intersects, and adds references to their starting chunks to it. A radius of 8 chunks around the given chunk will be searched for structure starts.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lbxk;Lbxg;Lcml;)V
intermediary method_16130
Lnet/minecraft/class_2794;method_16130(Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;)V
named addStructureReferences
Lnet/minecraft/world/gen/chunk/ChunkGenerator;addStructureReferences(Lnet/minecraft/world/StructureWorldAccess;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/world/chunk/Chunk;)V
-
populateNoise
public abstract CompletableFuture<Chunk> populateNoise(Executor executor, StructureAccessor accessor, Chunk chunk)Generates the base shape of the chunk out of the basic block states as decided by this chunk generator's config.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Ljava/util/concurrent/Executor;Lbxg;Lcml;)Ljava/util/concurrent/CompletableFuture;
intermediary method_12088
Lnet/minecraft/class_2794;method_12088(Ljava/util/concurrent/Executor;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;)Ljava/util/concurrent/CompletableFuture;
named populateNoise
Lnet/minecraft/world/gen/chunk/ChunkGenerator;populateNoise(Ljava/util/concurrent/Executor;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/world/chunk/Chunk;)Ljava/util/concurrent/CompletableFuture;
-
getSeaLevel
public int getSeaLevel()- Mappings:
Namespace Name Mixin selector official e
Lcmn;e()I
intermediary method_16398
Lnet/minecraft/class_2794;method_16398()I
named getSeaLevel
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getSeaLevel()I
-
getMinimumY
public int getMinimumY()- Mappings:
Namespace Name Mixin selector official f
Lcmn;f()I
intermediary method_33730
Lnet/minecraft/class_2794;method_33730()I
named getMinimumY
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getMinimumY()I
-
getHeight
Returns the raw noise height of a column for use in structure generation.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(IILcps$a;Lbwr;)I
intermediary method_16397
Lnet/minecraft/class_2794;method_16397(IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)I
named getHeight
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getHeight(IILnet/minecraft/world/Heightmap$Type;Lnet/minecraft/world/HeightLimitView;)I
-
getColumnSample
Returns a sample of all the block states in a column for use in structure generation.- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(IILbwr;)Lbxa;
intermediary method_26261
Lnet/minecraft/class_2794;method_26261(IILnet/minecraft/class_5539;)Lnet/minecraft/class_4966;
named getColumnSample
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getColumnSample(IILnet/minecraft/world/HeightLimitView;)Lnet/minecraft/world/gen/chunk/VerticalBlockSample;
-
getHeightOnGround
- Mappings:
Namespace Name Mixin selector official b
Lcmn;b(IILcps$a;Lbwr;)I
intermediary method_20402
Lnet/minecraft/class_2794;method_20402(IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)I
named getHeightOnGround
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getHeightOnGround(IILnet/minecraft/world/Heightmap$Type;Lnet/minecraft/world/HeightLimitView;)I
-
getHeightInGround
- Mappings:
Namespace Name Mixin selector official c
Lcmn;c(IILcps$a;Lbwr;)I
intermediary method_18028
Lnet/minecraft/class_2794;method_18028(IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)I
named getHeightInGround
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getHeightInGround(IILnet/minecraft/world/Heightmap$Type;Lnet/minecraft/world/HeightLimitView;)I
-
isStrongholdStartingChunk
- Mappings:
Namespace Name Mixin selector official a
Lcmn;a(Lbvu;)Z
intermediary method_28507
Lnet/minecraft/class_2794;method_28507(Lnet/minecraft/class_1923;)Z
named isStrongholdStartingChunk
Lnet/minecraft/world/gen/chunk/ChunkGenerator;isStrongholdStartingChunk(Lnet/minecraft/util/math/ChunkPos;)Z
-
getBlockSource
- Mappings:
Namespace Name Mixin selector official g
Lcmn;g()Lcpg;
intermediary method_36294
Lnet/minecraft/class_2794;method_36294()Lnet/minecraft/class_5840;
named getBlockSource
Lnet/minecraft/world/gen/chunk/ChunkGenerator;getBlockSource()Lnet/minecraft/world/gen/BlockSource;
-