Class ChunkGenerator

java.lang.Object
net.minecraft.world.gen.chunk.ChunkGenerator
Direct Known Subclasses:
DebugChunkGenerator, FlatChunkGenerator, NoiseChunkGenerator

public abstract class ChunkGenerator extends Object
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 Details

    • CODEC

      public static final com.mojang.serialization.Codec<ChunkGenerator> 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

      protected final BiomeSource populationSource
      Used to control the population step without replacing the actual biome that comes from the original biomeSource.

      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

      protected final 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

      private final StructuresConfig 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

      private final List<ChunkPos> 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

      private final BlockSource 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

      public ChunkGenerator(BiomeSource biomeSource, StructuresConfig structuresConfig)
      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

      protected abstract com.mojang.serialization.Codec<? extends ChunkGenerator> 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

      public abstract ChunkGenerator withSeed(long seed)
      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

      public void populateBiomes(Registry<Biome> biomeRegistry, Chunk chunk)
      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

      public void carve(long seed, BiomeAccess access, Chunk chunk, GenerationStep.Carver carver)
      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

      protected AquiferSampler createAquiferSampler(Chunk chunk)
      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 chunk
      skipExistingChunks - 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

      public void generateFeatures(ChunkRegion region, StructureAccessor accessor)
      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

      public abstract void buildSurface(ChunkRegion region, Chunk chunk)
      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

      public void populateEntities(ChunkRegion region)
      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

      public StructuresConfig 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

      public int getSpawnHeight(HeightLimitView world)
      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

      public BiomeSource 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

      public 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.
      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

      public 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.
      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

      public int getHeightOnGround(int x, int z, Heightmap.Type heightmap, HeightLimitView world)
      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

      public int getHeightInGround(int x, int z, Heightmap.Type heightmap, HeightLimitView world)
      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

      public boolean isStrongholdStartingChunk(ChunkPos pos)
      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

      public BlockSource 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;