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 cjn
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 Lcjn;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 Lcjn;b:Lbux;
      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 Lcjn;c:Lbux;
      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 Lcjn;d:Lcmx;
      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 Lcjn;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 Lcjn;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;
  • Constructor Details

    • ChunkGenerator

      public ChunkGenerator​(BiomeSource biomeSource, StructuresConfig structuresConfig)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lcjn;<init>(Lbux;Lcmx;)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> Lcjn;<init>(Lbux;Lbux;Lcmx;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 g Lcjn;g()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 Lcjn;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

      @Environment(CLIENT) public abstract ChunkGenerator withSeed​(long seed)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(J)Lcjn;
      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 Lcjn;a(Lgn;Lcjl;)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)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(JLbuw;Lcjl;Lcmi$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
    • locateStructure

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

      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. This is ignored for strongholds.
      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 Lcjn;a(Laav;Lcqj;Lfx;IZ)Lfx;
      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 Lcjn;a(Labb;Lbum;)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)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(Labb;Lcjl;)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 Lcjn;a(Labb;)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 Lcjn;b()Lcmx;
      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()
      Mappings:
      Namespace Name Mixin selector
      official c Lcjn;c()I
      intermediary method_12100 Lnet/minecraft/class_2794;method_12100()I
      named getSpawnHeight Lnet/minecraft/world/gen/chunk/ChunkGenerator;getSpawnHeight()I
    • getBiomeSource

      public BiomeSource getBiomeSource()
      Mappings:
      Namespace Name Mixin selector
      official d Lcjn;d()Lbux;
      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 e Lcjn;e()I
      intermediary method_12104 Lnet/minecraft/class_2794;method_12104()I
      named getWorldHeight Lnet/minecraft/world/gen/chunk/ChunkGenerator;getWorldHeight()I
    • getEntitySpawnList

      public List<SpawnSettings.SpawnEntry> getEntitySpawnList​(Biome biome, StructureAccessor accessor, SpawnGroup group, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(Lbuu;Lbum;Lark;Lfx;)Ljava/util/List;
      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;)Ljava/util/List;
      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;)Ljava/util/List;
    • setStructureStarts

      public void setStructureStarts​(DynamicRegistryManager dynamicRegistryManager, StructureAccessor structureAccessor, 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 Lcjn;a(Lgo;Lbum;Lcjl;Lcyj;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<?,​?> configuredStructureFeature, DynamicRegistryManager dynamicRegistryManager, StructureAccessor structureAccessor, Chunk chunk, StructureManager structureManager, long worldSeed, Biome biome)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(Lcny;Lgo;Lbum;Lcjl;Lcyj;JLbuu;)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 Lcjn;a(Lbuq;Lbum;Lcjl;)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 void populateNoise​(WorldAccess world, 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 Lcjn;a(Lbtw;Lbum;Lcjl;)V
      intermediary method_12088 Lnet/minecraft/class_2794;method_12088(Lnet/minecraft/class_1936;Lnet/minecraft/class_5138;Lnet/minecraft/class_2791;)V
      named populateNoise Lnet/minecraft/world/gen/chunk/ChunkGenerator;populateNoise(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/world/chunk/Chunk;)V
    • getSeaLevel

      public int getSeaLevel()
      Mappings:
      Namespace Name Mixin selector
      official f Lcjn;f()I
      intermediary method_16398 Lnet/minecraft/class_2794;method_16398()I
      named getSeaLevel Lnet/minecraft/world/gen/chunk/ChunkGenerator;getSeaLevel()I
    • getHeight

      public abstract int getHeight​(int x, int z, Heightmap.Type heightmapType, HeightLimitView world)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(IILcmm$a;Lbtx;)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)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjn;a(IILbtx;)Lbug;
      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 heightmapType, HeightLimitView heightLimitView)
      Mappings:
      Namespace Name Mixin selector
      official b Lcjn;b(IILcmm$a;Lbtx;)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 heightmapType, HeightLimitView heightLimitView)
      Mappings:
      Namespace Name Mixin selector
      official c Lcjn;c(IILcmm$a;Lbtx;)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 Lcjn;a(Lbta;)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