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 cqjintermediary 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(int chunkX, int chunkZ, BlockBox boundingBox, int referenceCount, long worldSeed)com.mojang.serialization.Codec<ConfiguredStructureFeature<C,StructureFeature<C>>>getCodec()List<SpawnSettings.SpawnEntry>getCreatureSpawns()GenerationStep.FeaturegetGenerationStep()Gets the step during which this structure will participate in world generation.List<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()protected booleanisUniformDistribution()If true, this structure's start position will be uniformly distributed within a placement grid cell.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 voidmethod_28664()static StructureStart<?>readStructureStart(StructureManager manager, CompoundTag tag, 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, int chunkX, int chunkZ, Biome biome, ChunkPos chunkPos, C config, HeightLimitView heightLimitView)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 chunkGenerator, BiomeSource biomeSource, StructureManager structureManager, long worldSeed, ChunkPos chunkPos, Biome biome, int referenceCount, ChunkRandom chunkRandom, StructureConfig structureConfig, C c, HeightLimitView heightLimitView)Tries to place a starting point for this type of structure in the given chunk.
-
Field Details
-
STRUCTURES
- Mappings:
Namespace Name Mixin selector official aLcqj;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 uLcqj;u: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 vLcqj;v: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 bLcqj;b:Lcqj;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 cLcqj;c:Lcqj;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 dLcqj;d:Lcqj;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 eLcqj;e:Lcqj;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 fLcqj;f:Lcqj;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 gLcqj;g:Lcqj;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 hLcqj;h:Lcqj;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 iLcqj;i:Lcqj;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 jLcqj;j:Lcql;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 kLcqj;k:Lcqj;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 lLcqj;l:Lcqj;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 mLcqj;m:Lcqj;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 nLcqj;n:Lcqj;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 oLcqj;o:Lcqj;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 pLcqj;p:Lcqj;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 qLcqj;q:Lcqj;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 rLcqj;r:Lcqj;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 sLcqj;s:Lcqj;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 tLcqj;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 wLcqj;w:Lwb;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 xLcqj;x: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;
-
codec
private final com.mojang.serialization.Codec<ConfiguredStructureFeature<C extends FeatureConfig,StructureFeature<C extends FeatureConfig>>> codec- Mappings:
Namespace Name Mixin selector official yLcqj;y: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>Lcqj;<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 aLcqj;a(Ljava/lang/String;Lcqj;Lcmi$b;)Lcqj;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 fLcqj;f()Lcmi$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;
-
method_28664
public static void method_28664()- Mappings:
Namespace Name Mixin selector official gLcqj;g()Vintermediary method_28664Lnet/minecraft/class_3195;method_28664()Vnamed method_28664Lnet/minecraft/world/gen/feature/StructureFeature;method_28664()V
-
readStructureStart
@Nullable public static StructureStart<?> readStructureStart(StructureManager manager, CompoundTag tag, long worldSeed)- Mappings:
Namespace Name Mixin selector official aLcqj;a(Lcyj;Lmq;J)Lcxi;intermediary method_28660Lnet/minecraft/class_3195;method_28660(Lnet/minecraft/class_3485;Lnet/minecraft/class_2487;J)Lnet/minecraft/class_3449;named readStructureStartLnet/minecraft/world/gen/feature/StructureFeature;readStructureStart(Lnet/minecraft/structure/StructureManager;Lnet/minecraft/nbt/CompoundTag;J)Lnet/minecraft/structure/StructureStart;
-
getCodec
public com.mojang.serialization.Codec<ConfiguredStructureFeature<C,StructureFeature<C>>> getCodec()- Mappings:
Namespace Name Mixin selector official hLcqj;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 aLcqj;a(Lcrk;)Lcny;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 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 aLcqj;a(Lbty;Lbum;Lfx;IZJLcsm;)Lfx;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 bLcqj;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 aLcqj;a(Lcsm;JLcmz;II)Lbta;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, int chunkX, int chunkZ, Biome biome, ChunkPos chunkPos, C config, HeightLimitView heightLimitView)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 aLcqj;a(Lcjn;Lbux;JLcmz;IILbuu;Lbta;Lcrk;Lbtx;)Zintermediary method_14026Lnet/minecraft/class_3195;method_14026(Lnet/minecraft/class_2794;Lnet/minecraft/class_1966;JLnet/minecraft/class_2919;IILnet/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;IILnet/minecraft/world/biome/Biome;Lnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/gen/feature/FeatureConfig;Lnet/minecraft/world/HeightLimitView;)Z
-
createStart
private StructureStart<C> createStart(int chunkX, int chunkZ, BlockBox boundingBox, int referenceCount, long worldSeed)- Mappings:
Namespace Name Mixin selector official aLcqj;a(IILcwn;IJ)Lcxi;intermediary method_28656Lnet/minecraft/class_3195;method_28656(IILnet/minecraft/class_3341;IJ)Lnet/minecraft/class_3449;named createStartLnet/minecraft/world/gen/feature/StructureFeature;createStart(IILnet/minecraft/util/math/BlockBox;IJ)Lnet/minecraft/structure/StructureStart;
-
tryPlaceStart
public StructureStart<?> tryPlaceStart(DynamicRegistryManager dynamicRegistryManager, ChunkGenerator chunkGenerator, BiomeSource biomeSource, StructureManager structureManager, long worldSeed, ChunkPos chunkPos, Biome biome, int referenceCount, ChunkRandom chunkRandom, StructureConfig structureConfig, C c, HeightLimitView heightLimitView)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 aLcqj;a(Lgo;Lcjn;Lbux;Lcyj;JLbta;Lbuu;ILcmz;Lcsm;Lcrk;Lbtx;)Lcxi;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 aLcqj;a()Lcqj$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 iLcqj;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 cLcqj;c()Ljava/util/List;intermediary method_13149Lnet/minecraft/class_3195;method_13149()Ljava/util/List;named getMonsterSpawnsLnet/minecraft/world/gen/feature/StructureFeature;getMonsterSpawns()Ljava/util/List;
-
getCreatureSpawns
- Mappings:
Namespace Name Mixin selector official jLcqj;j()Ljava/util/List;intermediary method_16140Lnet/minecraft/class_3195;method_16140()Ljava/util/List;named getCreatureSpawnsLnet/minecraft/world/gen/feature/StructureFeature;getCreatureSpawns()Ljava/util/List;
-