Package net.minecraft.world.gen.feature
Class StructureFeature<C extends FeatureConfig>
java.lang.Object
net.minecraft.world.gen.feature.StructureFeature<C>
- Direct Known Subclasses:
BuriedTreasureFeature,DesertPyramidFeature,EndCityFeature,IglooFeature,JigsawFeature,JungleTempleFeature,MineshaftFeature,NetherFortressFeature,NetherFossilFeature,OceanMonumentFeature,OceanRuinFeature,RuinedPortalFeature,ShipwreckFeature,StrongholdFeature,SwampHutFeature,WoodlandMansionFeature
public abstract class StructureFeature<C extends FeatureConfig> extends Object
- Mappings:
Namespace Name official csvintermediary net/minecraft/class_3195named net/minecraft/world/gen/feature/StructureFeature
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceStructureFeature.StructureStartFactory<C extends FeatureConfig> -
Field Summary
-
Constructor Summary
Constructors Constructor Description StructureFeature(com.mojang.serialization.Codec<C> codec) -
Method Summary
Modifier and Type Method Description ConfiguredStructureFeature<C,? extends StructureFeature<C>>configure(C config)private StructureStart<C>createStart(ChunkPos pos, int int2, long long2)com.mojang.serialization.Codec<ConfiguredStructureFeature<C,StructureFeature<C>>>getCodec()class_6012<SpawnSettings.SpawnEntry>getCreatureSpawns()GenerationStep.FeaturegetGenerationStep()Gets the step during which this structure will participate in world generation.class_6012<SpawnSettings.SpawnEntry>getMonsterSpawns()StringgetName()ChunkPosgetStartChunk(StructureConfig config, long worldSeed, ChunkRandom placementRandom, int chunkX, int chunkY)Determines the cell of the structure placement grid a chunk belongs to, and returns the chunk within that cell, that this structure will actually be placed at.abstract StructureFeature.StructureStartFactory<C>getStructureStartFactory()static voidinit()protected booleanisUniformDistribution()If true, this structure's start position will be uniformly distributed within a placement grid cell.@Nullable BlockPoslocateStructure(WorldView world, StructureAccessor structureAccessor, BlockPos searchStartPos, int searchRadius, boolean skipExistingChunks, long worldSeed, StructureConfig config)Tries to find the closest structure of this type near a given block.static @Nullable StructureStart<?>readStructureStart(ServerWorld world, NbtCompound nbt, long worldSeed)private static <F extends StructureFeature<?>>
Fregister(String name, F structureFeature, GenerationStep.Feature step)protected booleanshouldStartAt(ChunkGenerator chunkGenerator, BiomeSource biomeSource, long worldSeed, ChunkRandom random, ChunkPos pos, Biome biome, ChunkPos chunkPos, C config, HeightLimitView world)Checks if this structure can actually be placed at a potential structure position determined viagetStartChunk(net.minecraft.world.gen.chunk.StructureConfig, long, net.minecraft.world.gen.ChunkRandom, int, int).StructureStart<?>tryPlaceStart(DynamicRegistryManager dynamicRegistryManager, ChunkGenerator generator, BiomeSource biomeSource, StructureManager manager, long worldSeed, ChunkPos pos, Biome biome, int referenceCount, ChunkRandom random, StructureConfig structureConfig, C config, HeightLimitView world)Tries to place a starting point for this type of structure in the given chunk.
-
Field Details
-
STRUCTURES
- Mappings:
Namespace Name Mixin selector official aLcsv;a:Lcom/google/common/collect/BiMap;intermediary field_24842Lnet/minecraft/class_3195;field_24842:Lcom/google/common/collect/BiMap;named STRUCTURESLnet/minecraft/world/gen/feature/StructureFeature;STRUCTURES:Lcom/google/common/collect/BiMap;
-
STRUCTURE_TO_GENERATION_STEP
- Mappings:
Namespace Name Mixin selector official vLcsv;v:Ljava/util/Map;intermediary field_24862Lnet/minecraft/class_3195;field_24862:Ljava/util/Map;named STRUCTURE_TO_GENERATION_STEPLnet/minecraft/world/gen/feature/StructureFeature;STRUCTURE_TO_GENERATION_STEP:Ljava/util/Map;
-
LOGGER
- Mappings:
Namespace Name Mixin selector official wLcsv;w:Lorg/apache/logging/log4j/Logger;intermediary field_13879Lnet/minecraft/class_3195;field_13879:Lorg/apache/logging/log4j/Logger;named LOGGERLnet/minecraft/world/gen/feature/StructureFeature;LOGGER:Lorg/apache/logging/log4j/Logger;
-
PILLAGER_OUTPOST
- Mappings:
Namespace Name Mixin selector official bLcsv;b:Lcsv;intermediary field_24843Lnet/minecraft/class_3195;field_24843:Lnet/minecraft/class_3195;named PILLAGER_OUTPOSTLnet/minecraft/world/gen/feature/StructureFeature;PILLAGER_OUTPOST:Lnet/minecraft/world/gen/feature/StructureFeature;
-
MINESHAFT
- Mappings:
Namespace Name Mixin selector official cLcsv;c:Lcsv;intermediary field_24844Lnet/minecraft/class_3195;field_24844:Lnet/minecraft/class_3195;named MINESHAFTLnet/minecraft/world/gen/feature/StructureFeature;MINESHAFT:Lnet/minecraft/world/gen/feature/StructureFeature;
-
MANSION
- Mappings:
Namespace Name Mixin selector official dLcsv;d:Lcsv;intermediary field_24845Lnet/minecraft/class_3195;field_24845:Lnet/minecraft/class_3195;named MANSIONLnet/minecraft/world/gen/feature/StructureFeature;MANSION:Lnet/minecraft/world/gen/feature/StructureFeature;
-
JUNGLE_PYRAMID
- Mappings:
Namespace Name Mixin selector official eLcsv;e:Lcsv;intermediary field_24846Lnet/minecraft/class_3195;field_24846:Lnet/minecraft/class_3195;named JUNGLE_PYRAMIDLnet/minecraft/world/gen/feature/StructureFeature;JUNGLE_PYRAMID:Lnet/minecraft/world/gen/feature/StructureFeature;
-
DESERT_PYRAMID
- Mappings:
Namespace Name Mixin selector official fLcsv;f:Lcsv;intermediary field_24847Lnet/minecraft/class_3195;field_24847:Lnet/minecraft/class_3195;named DESERT_PYRAMIDLnet/minecraft/world/gen/feature/StructureFeature;DESERT_PYRAMID:Lnet/minecraft/world/gen/feature/StructureFeature;
-
IGLOO
- Mappings:
Namespace Name Mixin selector official gLcsv;g:Lcsv;intermediary field_24848Lnet/minecraft/class_3195;field_24848:Lnet/minecraft/class_3195;named IGLOOLnet/minecraft/world/gen/feature/StructureFeature;IGLOO:Lnet/minecraft/world/gen/feature/StructureFeature;
-
RUINED_PORTAL
- Mappings:
Namespace Name Mixin selector official hLcsv;h:Lcsv;intermediary field_24849Lnet/minecraft/class_3195;field_24849:Lnet/minecraft/class_3195;named RUINED_PORTALLnet/minecraft/world/gen/feature/StructureFeature;RUINED_PORTAL:Lnet/minecraft/world/gen/feature/StructureFeature;
-
SHIPWRECK
- Mappings:
Namespace Name Mixin selector official iLcsv;i:Lcsv;intermediary field_24850Lnet/minecraft/class_3195;field_24850:Lnet/minecraft/class_3195;named SHIPWRECKLnet/minecraft/world/gen/feature/StructureFeature;SHIPWRECK:Lnet/minecraft/world/gen/feature/StructureFeature;
-
SWAMP_HUT
- Mappings:
Namespace Name Mixin selector official jLcsv;j:Lcsx;intermediary field_24851Lnet/minecraft/class_3195;field_24851:Lnet/minecraft/class_3197;named SWAMP_HUTLnet/minecraft/world/gen/feature/StructureFeature;SWAMP_HUT:Lnet/minecraft/world/gen/feature/SwampHutFeature;
-
STRONGHOLD
- Mappings:
Namespace Name Mixin selector official kLcsv;k:Lcsv;intermediary field_24852Lnet/minecraft/class_3195;field_24852:Lnet/minecraft/class_3195;named STRONGHOLDLnet/minecraft/world/gen/feature/StructureFeature;STRONGHOLD:Lnet/minecraft/world/gen/feature/StructureFeature;
-
MONUMENT
- Mappings:
Namespace Name Mixin selector official lLcsv;l:Lcsv;intermediary field_24853Lnet/minecraft/class_3195;field_24853:Lnet/minecraft/class_3195;named MONUMENTLnet/minecraft/world/gen/feature/StructureFeature;MONUMENT:Lnet/minecraft/world/gen/feature/StructureFeature;
-
OCEAN_RUIN
- Mappings:
Namespace Name Mixin selector official mLcsv;m:Lcsv;intermediary field_24854Lnet/minecraft/class_3195;field_24854:Lnet/minecraft/class_3195;named OCEAN_RUINLnet/minecraft/world/gen/feature/StructureFeature;OCEAN_RUIN:Lnet/minecraft/world/gen/feature/StructureFeature;
-
FORTRESS
- Mappings:
Namespace Name Mixin selector official nLcsv;n:Lcsv;intermediary field_24855Lnet/minecraft/class_3195;field_24855:Lnet/minecraft/class_3195;named FORTRESSLnet/minecraft/world/gen/feature/StructureFeature;FORTRESS:Lnet/minecraft/world/gen/feature/StructureFeature;
-
END_CITY
- Mappings:
Namespace Name Mixin selector official oLcsv;o:Lcsv;intermediary field_24856Lnet/minecraft/class_3195;field_24856:Lnet/minecraft/class_3195;named END_CITYLnet/minecraft/world/gen/feature/StructureFeature;END_CITY:Lnet/minecraft/world/gen/feature/StructureFeature;
-
BURIED_TREASURE
- Mappings:
Namespace Name Mixin selector official pLcsv;p:Lcsv;intermediary field_24857Lnet/minecraft/class_3195;field_24857:Lnet/minecraft/class_3195;named BURIED_TREASURELnet/minecraft/world/gen/feature/StructureFeature;BURIED_TREASURE:Lnet/minecraft/world/gen/feature/StructureFeature;
-
VILLAGE
- Mappings:
Namespace Name Mixin selector official qLcsv;q:Lcsv;intermediary field_24858Lnet/minecraft/class_3195;field_24858:Lnet/minecraft/class_3195;named VILLAGELnet/minecraft/world/gen/feature/StructureFeature;VILLAGE:Lnet/minecraft/world/gen/feature/StructureFeature;
-
NETHER_FOSSIL
- Mappings:
Namespace Name Mixin selector official rLcsv;r:Lcsv;intermediary field_24859Lnet/minecraft/class_3195;field_24859:Lnet/minecraft/class_3195;named NETHER_FOSSILLnet/minecraft/world/gen/feature/StructureFeature;NETHER_FOSSIL:Lnet/minecraft/world/gen/feature/StructureFeature;
-
BASTION_REMNANT
- Mappings:
Namespace Name Mixin selector official sLcsv;s:Lcsv;intermediary field_24860Lnet/minecraft/class_3195;field_24860:Lnet/minecraft/class_3195;named BASTION_REMNANTLnet/minecraft/world/gen/feature/StructureFeature;BASTION_REMNANT:Lnet/minecraft/world/gen/feature/StructureFeature;
-
JIGSAW_STRUCTURES
- Mappings:
Namespace Name Mixin selector official tLcsv;t:Ljava/util/List;intermediary field_24861Lnet/minecraft/class_3195;field_24861:Ljava/util/List;named JIGSAW_STRUCTURESLnet/minecraft/world/gen/feature/StructureFeature;JIGSAW_STRUCTURES:Ljava/util/List;
-
JIGSAW_ID
- Mappings:
Namespace Name Mixin selector official xLcsv;x:Lwp;intermediary field_26362Lnet/minecraft/class_3195;field_26362:Lnet/minecraft/class_2960;named JIGSAW_IDLnet/minecraft/world/gen/feature/StructureFeature;JIGSAW_ID:Lnet/minecraft/util/Identifier;
-
field_25839
- Mappings:
Namespace Name Mixin selector official yLcsv;y:Ljava/util/Map;intermediary field_25839Lnet/minecraft/class_3195;field_25839:Ljava/util/Map;named field_25839Lnet/minecraft/world/gen/feature/StructureFeature;field_25839:Ljava/util/Map;
-
field_31518
public static final int field_31518- See Also:
- Constant Field Values
- Mappings:
Namespace Name Mixin selector official uLcsv;u:Iintermediary field_31518Lnet/minecraft/class_3195;field_31518:Inamed field_31518Lnet/minecraft/world/gen/feature/StructureFeature;field_31518:I
-
codec
private final com.mojang.serialization.Codec<ConfiguredStructureFeature<C extends FeatureConfig,StructureFeature<C extends FeatureConfig>>> codec- Mappings:
Namespace Name Mixin selector official zLcsv;z:Lcom/mojang/serialization/Codec;intermediary field_24863Lnet/minecraft/class_3195;field_24863:Lcom/mojang/serialization/Codec;named codecLnet/minecraft/world/gen/feature/StructureFeature;codec:Lcom/mojang/serialization/Codec;
-
-
Constructor Details
-
StructureFeature
- Mappings:
Namespace Name Mixin selector official <init>Lcsv;<init>(Lcom/mojang/serialization/Codec;)Vintermediary <init>Lnet/minecraft/class_3195;<init>(Lcom/mojang/serialization/Codec;)Vnamed <init>Lnet/minecraft/world/gen/feature/StructureFeature;<init>(Lcom/mojang/serialization/Codec;)V
-
-
Method Details
-
register
private static <F extends StructureFeature<?>> F register(String name, F structureFeature, GenerationStep.Feature step)- Mappings:
Namespace Name Mixin selector official aLcsv;a(Ljava/lang/String;Lcsv;Lcom$b;)Lcsv;intermediary method_28661Lnet/minecraft/class_3195;method_28661(Ljava/lang/String;Lnet/minecraft/class_3195;Lnet/minecraft/class_2893$class_2895;)Lnet/minecraft/class_3195;named registerLnet/minecraft/world/gen/feature/StructureFeature;register(Ljava/lang/String;Lnet/minecraft/world/gen/feature/StructureFeature;Lnet/minecraft/world/gen/GenerationStep$Feature;)Lnet/minecraft/world/gen/feature/StructureFeature;
-
getGenerationStep
Gets the step during which this structure will participate in world generation. Structures will generate before other features in the same generation step.- Mappings:
Namespace Name Mixin selector official fLcsv;f()Lcom$b;intermediary method_28663Lnet/minecraft/class_3195;method_28663()Lnet/minecraft/class_2893$class_2895;named getGenerationStepLnet/minecraft/world/gen/feature/StructureFeature;getGenerationStep()Lnet/minecraft/world/gen/GenerationStep$Feature;
-
init
public static void init()- Mappings:
Namespace Name Mixin selector official gLcsv;g()Vintermediary method_28664Lnet/minecraft/class_3195;method_28664()Vnamed initLnet/minecraft/world/gen/feature/StructureFeature;init()V
-
readStructureStart
@Nullable public static @Nullable StructureStart<?> readStructureStart(ServerWorld world, NbtCompound nbt, long worldSeed)- Mappings:
Namespace Name Mixin selector official aLcsv;a(Labj;Lmv;J)Ldam;intermediary method_28660Lnet/minecraft/class_3195;method_28660(Lnet/minecraft/class_3218;Lnet/minecraft/class_2487;J)Lnet/minecraft/class_3449;named readStructureStartLnet/minecraft/world/gen/feature/StructureFeature;readStructureStart(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/nbt/NbtCompound;J)Lnet/minecraft/structure/StructureStart;
-
getCodec
public com.mojang.serialization.Codec<ConfiguredStructureFeature<C,StructureFeature<C>>> getCodec()- Mappings:
Namespace Name Mixin selector official hLcsv;h()Lcom/mojang/serialization/Codec;intermediary method_28665Lnet/minecraft/class_3195;method_28665()Lcom/mojang/serialization/Codec;named getCodecLnet/minecraft/world/gen/feature/StructureFeature;getCodec()Lcom/mojang/serialization/Codec;
-
configure
- Mappings:
Namespace Name Mixin selector official aLcsv;a(Lcua;)Lcqh;intermediary method_28659Lnet/minecraft/class_3195;method_28659(Lnet/minecraft/class_3037;)Lnet/minecraft/class_5312;named configureLnet/minecraft/world/gen/feature/StructureFeature;configure(Lnet/minecraft/world/gen/feature/FeatureConfig;)Lnet/minecraft/world/gen/feature/ConfiguredStructureFeature;
-
locateStructure
@Nullable public @Nullable BlockPos locateStructure(WorldView world, StructureAccessor structureAccessor, BlockPos searchStartPos, int searchRadius, boolean skipExistingChunks, long worldSeed, StructureConfig config)Tries to find the closest structure of this type near a given block.This method relies on the given world generation settings (seed and placement configuration) to match the time at which the structure was generated, otherwise it will not be found.
New chunks will only be generated up to the
ChunkStatus.STRUCTURE_STARTSphase by this method.- Parameters:
searchRadius- 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.- Returns:
nullif no structure could be found within the given search radius- Mappings:
Namespace Name Mixin selector official aLcsv;a(Lbvu;Lbwi;Lgb;IZJLcvf;)Lgb;intermediary method_14015Lnet/minecraft/class_3195;method_14015(Lnet/minecraft/class_4538;Lnet/minecraft/class_5138;Lnet/minecraft/class_2338;IZJLnet/minecraft/class_5314;)Lnet/minecraft/class_2338;named locateStructureLnet/minecraft/world/gen/feature/StructureFeature;locateStructure(Lnet/minecraft/world/WorldView;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/util/math/BlockPos;IZJLnet/minecraft/world/gen/chunk/StructureConfig;)Lnet/minecraft/util/math/BlockPos;
-
isUniformDistribution
protected boolean isUniformDistribution()If true, this structure's start position will be uniformly distributed within a placement grid cell. If false, the structure's starting point will be biased towards the center of the cell.- Mappings:
Namespace Name Mixin selector official bLcsv;b()Zintermediary method_27219Lnet/minecraft/class_3195;method_27219()Znamed isUniformDistributionLnet/minecraft/world/gen/feature/StructureFeature;isUniformDistribution()Z
-
getStartChunk
public final ChunkPos getStartChunk(StructureConfig config, long worldSeed, ChunkRandom placementRandom, int chunkX, int chunkY)Determines the cell of the structure placement grid a chunk belongs to, and returns the chunk within that cell, that this structure will actually be placed at.If the
StructureConfiguses a separation setting greater than 0, the placement will be constrained to [0, spacing - separation] within the grid cell. If a non-uniform distribution is used for placement, then this also moves the center towards the origin.- See Also:
isUniformDistribution()- Mappings:
Namespace Name Mixin selector official aLcsv;a(Lcvf;JLcph;II)Lbuw;intermediary method_27218Lnet/minecraft/class_3195;method_27218(Lnet/minecraft/class_5314;JLnet/minecraft/class_2919;II)Lnet/minecraft/class_1923;named getStartChunkLnet/minecraft/world/gen/feature/StructureFeature;getStartChunk(Lnet/minecraft/world/gen/chunk/StructureConfig;JLnet/minecraft/world/gen/ChunkRandom;II)Lnet/minecraft/util/math/ChunkPos;
-
shouldStartAt
protected boolean shouldStartAt(ChunkGenerator chunkGenerator, BiomeSource biomeSource, long worldSeed, ChunkRandom random, ChunkPos pos, Biome biome, ChunkPos chunkPos, C config, HeightLimitView world)Checks if this structure can actually be placed at a potential structure position determined viagetStartChunk(net.minecraft.world.gen.chunk.StructureConfig, long, net.minecraft.world.gen.ChunkRandom, int, int). Specific structures override this method to reduce the spawn probability or restrict the spawn in some other way.- Mappings:
Namespace Name Mixin selector official aLcsv;a(Lclm;Lbwt;JLcph;Lbuw;Lbwq;Lbuw;Lcua;Lbvt;)Zintermediary method_14026Lnet/minecraft/class_3195;method_14026(Lnet/minecraft/class_2794;Lnet/minecraft/class_1966;JLnet/minecraft/class_2919;Lnet/minecraft/class_1923;Lnet/minecraft/class_1959;Lnet/minecraft/class_1923;Lnet/minecraft/class_3037;Lnet/minecraft/class_5539;)Znamed shouldStartAtLnet/minecraft/world/gen/feature/StructureFeature;shouldStartAt(Lnet/minecraft/world/gen/chunk/ChunkGenerator;Lnet/minecraft/world/biome/source/BiomeSource;JLnet/minecraft/world/gen/ChunkRandom;Lnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/biome/Biome;Lnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/gen/feature/FeatureConfig;Lnet/minecraft/world/HeightLimitView;)Z
-
createStart
- Mappings:
Namespace Name Mixin selector official aLcsv;a(Lbuw;IJ)Ldam;intermediary method_28656Lnet/minecraft/class_3195;method_28656(Lnet/minecraft/class_1923;IJ)Lnet/minecraft/class_3449;named createStartLnet/minecraft/world/gen/feature/StructureFeature;createStart(Lnet/minecraft/util/math/ChunkPos;IJ)Lnet/minecraft/structure/StructureStart;
-
tryPlaceStart
public StructureStart<?> tryPlaceStart(DynamicRegistryManager dynamicRegistryManager, ChunkGenerator generator, BiomeSource biomeSource, StructureManager manager, long worldSeed, ChunkPos pos, Biome biome, int referenceCount, ChunkRandom random, StructureConfig structureConfig, C config, HeightLimitView world)Tries to place a starting point for this type of structure in the given chunk.If this structure doesn't have a starting point in the chunk,
StructureStart.DEFAULTwill be returned.- Mappings:
Namespace Name Mixin selector official aLcsv;a(Lgs;Lclm;Lbwt;Ldbn;JLbuw;Lbwq;ILcph;Lcvf;Lcua;Lbvt;)Ldam;intermediary method_28657Lnet/minecraft/class_3195;method_28657(Lnet/minecraft/class_5455;Lnet/minecraft/class_2794;Lnet/minecraft/class_1966;Lnet/minecraft/class_3485;JLnet/minecraft/class_1923;Lnet/minecraft/class_1959;ILnet/minecraft/class_2919;Lnet/minecraft/class_5314;Lnet/minecraft/class_3037;Lnet/minecraft/class_5539;)Lnet/minecraft/class_3449;named tryPlaceStartLnet/minecraft/world/gen/feature/StructureFeature;tryPlaceStart(Lnet/minecraft/util/registry/DynamicRegistryManager;Lnet/minecraft/world/gen/chunk/ChunkGenerator;Lnet/minecraft/world/biome/source/BiomeSource;Lnet/minecraft/structure/StructureManager;JLnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/biome/Biome;ILnet/minecraft/world/gen/ChunkRandom;Lnet/minecraft/world/gen/chunk/StructureConfig;Lnet/minecraft/world/gen/feature/FeatureConfig;Lnet/minecraft/world/HeightLimitView;)Lnet/minecraft/structure/StructureStart;
-
getStructureStartFactory
- Mappings:
Namespace Name Mixin selector official aLcsv;a()Lcsv$a;intermediary method_14016Lnet/minecraft/class_3195;method_14016()Lnet/minecraft/class_3195$class_3774;named getStructureStartFactoryLnet/minecraft/world/gen/feature/StructureFeature;getStructureStartFactory()Lnet/minecraft/world/gen/feature/StructureFeature$StructureStartFactory;
-
getName
- Mappings:
Namespace Name Mixin selector official iLcsv;i()Ljava/lang/String;intermediary method_14019Lnet/minecraft/class_3195;method_14019()Ljava/lang/String;named getNameLnet/minecraft/world/gen/feature/StructureFeature;getName()Ljava/lang/String;
-
getMonsterSpawns
- Mappings:
Namespace Name Mixin selector official cLcsv;c()Laqa;intermediary method_13149Lnet/minecraft/class_3195;method_13149()Lnet/minecraft/class_6012;named getMonsterSpawnsLnet/minecraft/world/gen/feature/StructureFeature;getMonsterSpawns()Lnet/minecraft/class_6012;
-
getCreatureSpawns
- Mappings:
Namespace Name Mixin selector official jLcsv;j()Laqa;intermediary method_16140Lnet/minecraft/class_3195;method_16140()Lnet/minecraft/class_6012;named getCreatureSpawnsLnet/minecraft/world/gen/feature/StructureFeature;getCreatureSpawns()Lnet/minecraft/class_6012;
-