类 ChunkGenerator

  • 直接已知子类:
    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 clm
    intermediary net/minecraft/class_2794
    named net/minecraft/world/gen/chunk/ChunkGenerator
    • 字段详细资料

      • CODEC

        public static final com.mojang.serialization.Codec<ChunkGenerator> CODEC
        Mappings:
        Namespace Name Mixin selector
        official a Lclm;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 Lclm;b:Lbwt;
        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 Lclm;c:Lbwt;
        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 Lclm;d:Lcpd;
        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 Lclm;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 Lclm;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;
    • 构造器详细资料

      • ChunkGenerator

        public ChunkGenerator​(BiomeSource biomeSource,
                              StructuresConfig structuresConfig)
        Mappings:
        Namespace Name Mixin selector
        official <init> Lclm;<init>(Lbwt;Lcpd;)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> Lclm;<init>(Lbwt;Lbwt;Lcpd;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
    • 方法详细资料

      • generateStrongholdPositions

        private void generateStrongholdPositions()
        Mappings:
        Namespace Name Mixin selector
        official g Lclm;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 Lclm;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 Lclm;a(J)Lclm;
        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 Lclm;a(Lgr;Lclk;)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 Lclm;a(JLbws;Lclk;Lcom$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 @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.

        参数:
        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
        返回:
        null if no structure could be found within the given search radius
        Mappings:
        Namespace Name Mixin selector
        official a Lclm;a(Labj;Lcsx;Lgb;IZ)Lgb;
        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 Lclm;a(Labp;Lbwi;)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 Lclm;a(Labp;Lclk;)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 Lclm;a(Labp;)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 Lclm;b()Lcpd;
        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 heightLimitView)
        Mappings:
        Namespace Name Mixin selector
        official a Lclm;a(Lbvt;)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 Lclm;c()Lbwt;
        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 Lclm;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 Lclm;a(Lbwq;Lbwi;Lata;Lgb;)Laqa;
        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 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 Lclm;a(Lgs;Lbwi;Lclk;Ldbp;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 Lclm;a(Lcqj;Lgs;Lbwi;Lclk;Ldbp;JLbwq;)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 Lclm;a(Lbwm;Lbwi;Lclk;)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 Lclm;a(Ljava/util/concurrent/Executor;Lbwi;Lclk;)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 Lclm;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 Lclm;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 Lclm;a(IILcor$a;Lbvt;)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 Lclm;a(IILbvt;)Lbwc;
        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 Lclm;b(IILcor$a;Lbvt;)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 Lclm;c(IILcor$a;Lbvt;)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 Lclm;a(Lbuw;)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