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 cmnintermediary net/minecraft/class_2794named net/minecraft/world/gen/chunk/ChunkGenerator
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected BiomeSourceprivate BlockSourcestatic com.mojang.serialization.Codec<ChunkGenerator>protected BiomeSourceUsed to control the population step without replacing the actual biome that comes from the originalbiomeSource.private StructuresConfigprivate long -
Constructor Summary
ConstructorsConstructorDescriptionChunkGenerator(BiomeSource populationSource, BiomeSource biomeSource, StructuresConfig structuresConfig, long worldSeed)ChunkGenerator(BiomeSource biomeSource, StructuresConfig structuresConfig) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddStructureReferences(StructureWorldAccess world, StructureAccessor accessor, Chunk chunk)Finds all structures that the given chunk intersects, and adds references to their starting chunks to it.abstract voidbuildSurface(ChunkRegion region, Chunk chunk)Places the surface blocks of the biomes after the noise has been generated.voidcarve(long seed, BiomeAccess access, Chunk chunk, GenerationStep.Carver carver)Generates caves for the given chunk.protected AquiferSamplercreateAquiferSampler(Chunk chunk)voidgenerateFeatures(ChunkRegion region, StructureAccessor accessor)private voidprotected abstract com.mojang.serialization.Codec<? extends ChunkGenerator>getCodec()abstract VerticalBlockSamplegetColumnSample(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 intgetHeight(int x, int z, Heightmap.Type heightmap, HeightLimitView world)Returns the raw noise height of a column for use in structure generation.intgetHeightInGround(int x, int z, Heightmap.Type heightmap, HeightLimitView world)intgetHeightOnGround(int x, int z, Heightmap.Type heightmap, HeightLimitView world)intintintgetSpawnHeight(HeightLimitView world)intbooleanlocateStructure(ServerWorld world, StructureFeature<?> feature, BlockPos center, int radius, boolean skipExistingChunks)Tries to find the closest structure of a given type near a given block.voidpopulateBiomes(Registry<Biome> biomeRegistry, Chunk chunk)voidpopulateEntities(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 voidsetStructureStart(ConfiguredStructureFeature<?,?> feature, DynamicRegistryManager registryManager, StructureAccessor accessor, Chunk chunk, StructureManager structureManager, long worldSeed, Biome biome)voidsetStructureStarts(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 ChunkGeneratorwithSeed(long seed)
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector official aLcmn;a:Lcom/mojang/serialization/Codec;intermediary field_24746Lnet/minecraft/class_2794;field_24746:Lcom/mojang/serialization/Codec;named CODECLnet/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
FlatChunkGeneratorto overwrite biome properties like whether lakes generate, while preserving the original biome ID.- Mappings:
Namespace Name Mixin selector official bLcmn;b:Lbxr;intermediary field_12761Lnet/minecraft/class_2794;field_12761:Lnet/minecraft/class_1966;named populationSourceLnet/minecraft/world/gen/chunk/ChunkGenerator;populationSource:Lnet/minecraft/world/biome/source/BiomeSource;
-
biomeSource
- Mappings:
Namespace Name Mixin selector official cLcmn;c:Lbxr;intermediary field_24747Lnet/minecraft/class_2794;field_24747:Lnet/minecraft/class_1966;named biomeSourceLnet/minecraft/world/gen/chunk/ChunkGenerator;biomeSource:Lnet/minecraft/world/biome/source/BiomeSource;
-
structuresConfig
- Mappings:
Namespace Name Mixin selector official dLcmn;d:Lcqi;intermediary field_16567Lnet/minecraft/class_2794;field_16567:Lnet/minecraft/class_5311;named structuresConfigLnet/minecraft/world/gen/chunk/ChunkGenerator;structuresConfig:Lnet/minecraft/world/gen/chunk/StructuresConfig;
-
worldSeed
private final long worldSeed- Mappings:
Namespace Name Mixin selector official eLcmn;e:Jintermediary field_24748Lnet/minecraft/class_2794;field_24748:Jnamed worldSeedLnet/minecraft/world/gen/chunk/ChunkGenerator;worldSeed:J
-
strongholds
- Mappings:
Namespace Name Mixin selector official fLcmn;f:Ljava/util/List;intermediary field_24749Lnet/minecraft/class_2794;field_24749:Ljava/util/List;named strongholdsLnet/minecraft/world/gen/chunk/ChunkGenerator;strongholds:Ljava/util/List;
-
blockSource
- Mappings:
Namespace Name Mixin selector official gLcmn;g:Lcpg;intermediary field_33512Lnet/minecraft/class_2794;field_33512:Lnet/minecraft/class_5840;named blockSourceLnet/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;)Vintermediary <init>Lnet/minecraft/class_2794;<init>(Lnet/minecraft/class_1966;Lnet/minecraft/class_5311;)Vnamed <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)Vintermediary <init>Lnet/minecraft/class_2794;<init>(Lnet/minecraft/class_1966;Lnet/minecraft/class_1966;Lnet/minecraft/class_5311;J)Vnamed <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 hLcmn;h()Vintermediary method_28509Lnet/minecraft/class_2794;method_28509()Vnamed generateStrongholdPositionsLnet/minecraft/world/gen/chunk/ChunkGenerator;generateStrongholdPositions()V
-
getCodec
- Mappings:
Namespace Name Mixin selector official aLcmn;a()Lcom/mojang/serialization/Codec;intermediary method_28506Lnet/minecraft/class_2794;method_28506()Lcom/mojang/serialization/Codec;named getCodecLnet/minecraft/world/gen/chunk/ChunkGenerator;getCodec()Lcom/mojang/serialization/Codec;
-
withSeed
- Mappings:
Namespace Name Mixin selector official aLcmn;a(J)Lcmn;intermediary method_27997Lnet/minecraft/class_2794;method_27997(J)Lnet/minecraft/class_2794;named withSeedLnet/minecraft/world/gen/chunk/ChunkGenerator;withSeed(J)Lnet/minecraft/world/gen/chunk/ChunkGenerator;
-
populateBiomes
- Mappings:
Namespace Name Mixin selector official aLcmn;a(Lgw;Lcml;)Vintermediary method_12106Lnet/minecraft/class_2794;method_12106(Lnet/minecraft/class_2378;Lnet/minecraft/class_2791;)Vnamed populateBiomesLnet/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 aLcmn;a(JLbxq;Lcml;Lcpo$a;)Vintermediary method_12108Lnet/minecraft/class_2794;method_12108(JLnet/minecraft/class_4543;Lnet/minecraft/class_2791;Lnet/minecraft/class_2893$class_2894;)Vnamed carveLnet/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 aLcmn;a(Lcml;)Lcpf;intermediary method_36380Lnet/minecraft/class_2794;method_36380(Lnet/minecraft/class_2791;)Lnet/minecraft/class_6350;named createAquiferSamplerLnet/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_STARTSphase 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:
nullif no structure could be found within the given search radius- Mappings:
Namespace Name Mixin selector official aLcmn;a(Labr;Lcuc;Lgg;IZ)Lgg;intermediary method_12103Lnet/minecraft/class_2794;method_12103(Lnet/minecraft/class_3218;Lnet/minecraft/class_3195;Lnet/minecraft/class_2338;IZ)Lnet/minecraft/class_2338;named locateStructureLnet/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 aLcmn;a(Labx;Lbxg;)Vintermediary method_12102Lnet/minecraft/class_2794;method_12102(Lnet/minecraft/class_3233;Lnet/minecraft/class_5138;)Vnamed generateFeaturesLnet/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 aLcmn;a(Labx;Lcml;)Vintermediary method_12110Lnet/minecraft/class_2794;method_12110(Lnet/minecraft/class_3233;Lnet/minecraft/class_2791;)Vnamed buildSurfaceLnet/minecraft/world/gen/chunk/ChunkGenerator;buildSurface(Lnet/minecraft/world/ChunkRegion;Lnet/minecraft/world/chunk/Chunk;)V
-
populateEntities
- Mappings:
Namespace Name Mixin selector official aLcmn;a(Labx;)Vintermediary method_12107Lnet/minecraft/class_2794;method_12107(Lnet/minecraft/class_3233;)Vnamed populateEntitiesLnet/minecraft/world/gen/chunk/ChunkGenerator;populateEntities(Lnet/minecraft/world/ChunkRegion;)V
-
getStructuresConfig
- Mappings:
Namespace Name Mixin selector official bLcmn;b()Lcqi;intermediary method_12109Lnet/minecraft/class_2794;method_12109()Lnet/minecraft/class_5311;named getStructuresConfigLnet/minecraft/world/gen/chunk/ChunkGenerator;getStructuresConfig()Lnet/minecraft/world/gen/chunk/StructuresConfig;
-
getSpawnHeight
- Mappings:
Namespace Name Mixin selector official aLcmn;a(Lbwr;)Iintermediary method_12100Lnet/minecraft/class_2794;method_12100(Lnet/minecraft/class_5539;)Inamed getSpawnHeightLnet/minecraft/world/gen/chunk/ChunkGenerator;getSpawnHeight(Lnet/minecraft/world/HeightLimitView;)I
-
getBiomeSource
- Mappings:
Namespace Name Mixin selector official cLcmn;c()Lbxr;intermediary method_12098Lnet/minecraft/class_2794;method_12098()Lnet/minecraft/class_1966;named getBiomeSourceLnet/minecraft/world/gen/chunk/ChunkGenerator;getBiomeSource()Lnet/minecraft/world/biome/source/BiomeSource;
-
getWorldHeight
public int getWorldHeight()- Mappings:
Namespace Name Mixin selector official dLcmn;d()Iintermediary method_12104Lnet/minecraft/class_2794;method_12104()Inamed getWorldHeightLnet/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 aLcmn;a(Lbxo;Lbxg;Latw;Lgg;)Laqs;intermediary method_12113Lnet/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 getEntitySpawnListLnet/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 aLcmn;a(Lgx;Lbxg;Lcml;Ldcp;J)Vintermediary method_16129Lnet/minecraft/class_2794;method_16129(Lnet/minecraft/class_5455;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;Lnet/minecraft/class_3485;J)Vnamed setStructureStartsLnet/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 aLcmn;a(Lcro;Lgx;Lbxg;Lcml;Ldcp;JLbxo;)Vintermediary method_28508Lnet/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;)Vnamed setStructureStartLnet/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 aLcmn;a(Lbxk;Lbxg;Lcml;)Vintermediary method_16130Lnet/minecraft/class_2794;method_16130(Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;)Vnamed addStructureReferencesLnet/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 aLcmn;a(Ljava/util/concurrent/Executor;Lbxg;Lcml;)Ljava/util/concurrent/CompletableFuture;intermediary method_12088Lnet/minecraft/class_2794;method_12088(Ljava/util/concurrent/Executor;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;)Ljava/util/concurrent/CompletableFuture;named populateNoiseLnet/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 eLcmn;e()Iintermediary method_16398Lnet/minecraft/class_2794;method_16398()Inamed getSeaLevelLnet/minecraft/world/gen/chunk/ChunkGenerator;getSeaLevel()I
-
getMinimumY
public int getMinimumY()- Mappings:
Namespace Name Mixin selector official fLcmn;f()Iintermediary method_33730Lnet/minecraft/class_2794;method_33730()Inamed getMinimumYLnet/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 aLcmn;a(IILcps$a;Lbwr;)Iintermediary method_16397Lnet/minecraft/class_2794;method_16397(IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)Inamed getHeightLnet/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 aLcmn;a(IILbwr;)Lbxa;intermediary method_26261Lnet/minecraft/class_2794;method_26261(IILnet/minecraft/class_5539;)Lnet/minecraft/class_4966;named getColumnSampleLnet/minecraft/world/gen/chunk/ChunkGenerator;getColumnSample(IILnet/minecraft/world/HeightLimitView;)Lnet/minecraft/world/gen/chunk/VerticalBlockSample;
-
getHeightOnGround
- Mappings:
Namespace Name Mixin selector official bLcmn;b(IILcps$a;Lbwr;)Iintermediary method_20402Lnet/minecraft/class_2794;method_20402(IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)Inamed getHeightOnGroundLnet/minecraft/world/gen/chunk/ChunkGenerator;getHeightOnGround(IILnet/minecraft/world/Heightmap$Type;Lnet/minecraft/world/HeightLimitView;)I
-
getHeightInGround
- Mappings:
Namespace Name Mixin selector official cLcmn;c(IILcps$a;Lbwr;)Iintermediary method_18028Lnet/minecraft/class_2794;method_18028(IILnet/minecraft/class_2902$class_2903;Lnet/minecraft/class_5539;)Inamed getHeightInGroundLnet/minecraft/world/gen/chunk/ChunkGenerator;getHeightInGround(IILnet/minecraft/world/Heightmap$Type;Lnet/minecraft/world/HeightLimitView;)I
-
isStrongholdStartingChunk
- Mappings:
Namespace Name Mixin selector official aLcmn;a(Lbvu;)Zintermediary method_28507Lnet/minecraft/class_2794;method_28507(Lnet/minecraft/class_1923;)Znamed isStrongholdStartingChunkLnet/minecraft/world/gen/chunk/ChunkGenerator;isStrongholdStartingChunk(Lnet/minecraft/util/math/ChunkPos;)Z
-
getBlockSource
- Mappings:
Namespace Name Mixin selector official gLcmn;g()Lcpg;intermediary method_36294Lnet/minecraft/class_2794;method_36294()Lnet/minecraft/class_5840;named getBlockSourceLnet/minecraft/world/gen/chunk/ChunkGenerator;getBlockSource()Lnet/minecraft/world/gen/BlockSource;
-