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,JungleTempleFeature,MarginedStructureFeature,MineshaftFeature,NetherFortressFeature,OceanMonumentFeature,OceanRuinFeature,RuinedPortalFeature,ShipwreckFeature,SwampHutFeature,WoodlandMansionFeature
- Mappings:
Namespace Name official cyxintermediary net/minecraft/class_3195named net/minecraft/world/gen/feature/StructureFeature
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StructureFeature<StructurePoolFeatureConfig>static final StructureFeature<ProbabilityConfig>private final com.mojang.serialization.Codec<ConfiguredStructureFeature<C,StructureFeature<C>>> static final StructureFeature<DefaultFeatureConfig>static final StructureFeature<DefaultFeatureConfig>static final intstatic final StructureFeature<DefaultFeatureConfig>static final StructureFeature<DefaultFeatureConfig>static final StructureFeature<DefaultFeatureConfig>static final List<StructureFeature<?>>private static final org.slf4j.Loggerstatic final StructureFeature<DefaultFeatureConfig>static final StructureFeature<MineshaftFeatureConfig>static final StructureFeature<DefaultFeatureConfig>static final StructureFeature<RangeFeatureConfig>static final StructureFeature<OceanRuinFeatureConfig>private final StructureGeneratorFactory<C>static final StructureFeature<StructurePoolFeatureConfig>private final PostPlacementProcessorstatic final StructureFeature<RuinedPortalFeatureConfig>static final StructureFeature<ShipwreckFeatureConfig>static final StructureFeature<DefaultFeatureConfig>private static final Map<StructureFeature<?>,GenerationStep.Feature> static final BiMap<String,StructureFeature<?>> static final StructureFeature<DefaultFeatureConfig>static final StructureFeature<StructurePoolFeatureConfig> -
Constructor Summary
ConstructorsConstructorDescriptionStructureFeature(com.mojang.serialization.Codec<C> configCodec, StructureGeneratorFactory<C> piecesGenerator) StructureFeature(com.mojang.serialization.Codec<C> codec, StructureGeneratorFactory<C> piecesGenerator, PostPlacementProcessor postPlacementProcessor) -
Method Summary
Modifier and TypeMethodDescriptionbooleancanGenerate(DynamicRegistryManager registryManager, ChunkGenerator chunkGenerator, BiomeSource biomeSource, StructureManager structureManager, long worldSeed, ChunkPos pos, C config, HeightLimitView world, Predicate<RegistryEntry<Biome>> biomePredicate) ConfiguredStructureFeature<C,? extends StructureFeature<C>> com.mojang.serialization.Codec<ConfiguredStructureFeature<C,StructureFeature<C>>> getCodec()Gets the step during which this structure will participate in world generation.static BlockPosgetLocatedPos(RandomSpreadStructurePlacement randomSpreadStructurePlacement, ChunkPos chunkPos) Returns a block position for feature location.getName()static voidinit()static @Nullable StructureStart<?>readStructureStart(StructureContext context, NbtCompound nbt, long worldSeed) private static <F extends StructureFeature<?>>
Fregister(String name, F structureFeature, GenerationStep.Feature step) tryPlaceStart(DynamicRegistryManager registryManager, ChunkGenerator chunkGenerator, BiomeSource biomeSource, StructureManager structureManager, long worldSeed, ChunkPos pos, int structureReferences, C c, HeightLimitView heightLimitView, Predicate<RegistryEntry<Biome>> predicate) Tries to place a starting point for this type of structure in the given chunk.
-
Field Details
-
STRUCTURES
- Mappings:
Namespace Name Mixin selector official bLcyx;b: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 aLcyx;a: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
private static final org.slf4j.Logger LOGGER- Mappings:
Namespace Name Mixin selector official wLcyx;w:Lorg/slf4j/Logger;intermediary field_13879Lnet/minecraft/class_3195;field_13879:Lorg/slf4j/Logger;named LOGGERLnet/minecraft/world/gen/feature/StructureFeature;LOGGER:Lorg/slf4j/Logger;
-
PILLAGER_OUTPOST
- Mappings:
Namespace Name Mixin selector official cLcyx;c:Lcyx;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 dLcyx;d:Lcyx;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 eLcyx;e:Lcyx;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 fLcyx;f:Lcyx;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 gLcyx;g:Lcyx;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 hLcyx;h:Lcyx;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 iLcyx;i:Lcyx;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 jLcyx;j:Lcyx;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 kLcyx;k:Lcyx;intermediary field_24851Lnet/minecraft/class_3195;field_24851:Lnet/minecraft/class_3195;named SWAMP_HUTLnet/minecraft/world/gen/feature/StructureFeature;SWAMP_HUT:Lnet/minecraft/world/gen/feature/StructureFeature;
-
STRONGHOLD
- Mappings:
Namespace Name Mixin selector official lLcyx;l:Lcyx;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 mLcyx;m:Lcyx;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 nLcyx;n:Lcyx;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 oLcyx;o:Lcyx;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 pLcyx;p:Lcyx;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 qLcyx;q:Lcyx;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 rLcyx;r:Lcyx;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 sLcyx;s:Lcyx;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 tLcyx;t:Lcyx;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;
-
LAND_MODIFYING_STRUCTURES
- Mappings:
Namespace Name Mixin selector official uLcyx;u:Ljava/util/List;intermediary field_24861Lnet/minecraft/class_3195;field_24861:Ljava/util/List;named LAND_MODIFYING_STRUCTURESLnet/minecraft/world/gen/feature/StructureFeature;LAND_MODIFYING_STRUCTURES:Ljava/util/List;
-
field_31518
public static final int field_31518- See Also:
- Mappings:
Namespace Name Mixin selector official vLcyx;v: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 xLcyx;x: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;
-
piecesGenerator
- Mappings:
Namespace Name Mixin selector official yLcyx;y:Ldfo;intermediary field_34929Lnet/minecraft/class_3195;field_34929:Lnet/minecraft/class_6834;named piecesGeneratorLnet/minecraft/world/gen/feature/StructureFeature;piecesGenerator:Lnet/minecraft/structure/StructureGeneratorFactory;
-
postProcessor
- Mappings:
Namespace Name Mixin selector official zLcyx;z:Ldey;intermediary field_34930Lnet/minecraft/class_3195;field_34930:Lnet/minecraft/class_6621;named postProcessorLnet/minecraft/world/gen/feature/StructureFeature;postProcessor:Lnet/minecraft/structure/PostPlacementProcessor;
-
-
Constructor Details
-
StructureFeature
public StructureFeature(com.mojang.serialization.Codec<C> configCodec, StructureGeneratorFactory<C> piecesGenerator) - Mappings:
Namespace Name Mixin selector official <init>Lcyx;<init>(Lcom/mojang/serialization/Codec;Ldfo;)Vintermediary <init>Lnet/minecraft/class_3195;<init>(Lcom/mojang/serialization/Codec;Lnet/minecraft/class_6834;)Vnamed <init>Lnet/minecraft/world/gen/feature/StructureFeature;<init>(Lcom/mojang/serialization/Codec;Lnet/minecraft/structure/StructureGeneratorFactory;)V
-
StructureFeature
public StructureFeature(com.mojang.serialization.Codec<C> codec, StructureGeneratorFactory<C> piecesGenerator, PostPlacementProcessor postPlacementProcessor) - Mappings:
Namespace Name Mixin selector official <init>Lcyx;<init>(Lcom/mojang/serialization/Codec;Ldfo;Ldey;)Vintermediary <init>Lnet/minecraft/class_3195;<init>(Lcom/mojang/serialization/Codec;Lnet/minecraft/class_6834;Lnet/minecraft/class_6621;)Vnamed <init>Lnet/minecraft/world/gen/feature/StructureFeature;<init>(Lcom/mojang/serialization/Codec;Lnet/minecraft/structure/StructureGeneratorFactory;Lnet/minecraft/structure/PostPlacementProcessor;)V
-
-
Method Details
-
register
private static <F extends StructureFeature<?>> F register(String name, F structureFeature, GenerationStep.Feature step) - Mappings:
Namespace Name Mixin selector official aLcyx;a(Ljava/lang/String;Lcyx;Lctm$b;)Lcyx;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 aLcyx;a()Lctm$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 bLcyx;b()Vintermediary method_28664Lnet/minecraft/class_3195;method_28664()Vnamed initLnet/minecraft/world/gen/feature/StructureFeature;init()V
-
readStructureStart
@Nullable public static @Nullable StructureStart<?> readStructureStart(StructureContext context, NbtCompound nbt, long worldSeed) - Mappings:
Namespace Name Mixin selector official aLcyx;a(Ldfq;Log;J)Ldfi;intermediary method_28660Lnet/minecraft/class_3195;method_28660(Lnet/minecraft/class_6625;Lnet/minecraft/class_2487;J)Lnet/minecraft/class_3449;named readStructureStartLnet/minecraft/world/gen/feature/StructureFeature;readStructureStart(Lnet/minecraft/structure/StructureContext;Lnet/minecraft/nbt/NbtCompound;J)Lnet/minecraft/structure/StructureStart;
-
getCodec
- Mappings:
Namespace Name Mixin selector official cLcyx;c()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
public ConfiguredStructureFeature<C,? extends StructureFeature<C>> configure(C config, TagKey<Biome> tagKey) - Mappings:
Namespace Name Mixin selector official aLcyx;a(Lczt;Laia;)Lcwl;intermediary method_28659Lnet/minecraft/class_3195;method_28659(Lnet/minecraft/class_3037;Lnet/minecraft/class_6862;)Lnet/minecraft/class_5312;named configureLnet/minecraft/world/gen/feature/StructureFeature;configure(Lnet/minecraft/world/gen/feature/FeatureConfig;Lnet/minecraft/tag/TagKey;)Lnet/minecraft/world/gen/feature/ConfiguredStructureFeature;
-
getLocatedPos
public static BlockPos getLocatedPos(RandomSpreadStructurePlacement randomSpreadStructurePlacement, ChunkPos chunkPos) Returns a block position for feature location.- Returns:
- a block position for feature location
- Mappings:
Namespace Name Mixin selector official aLcyx;a(Ldfv;Lbzw;)Lgh;intermediary method_38671Lnet/minecraft/class_3195;method_38671(Lnet/minecraft/class_6872;Lnet/minecraft/class_1923;)Lnet/minecraft/class_2338;named getLocatedPosLnet/minecraft/world/gen/feature/StructureFeature;getLocatedPos(Lnet/minecraft/world/gen/chunk/placement/RandomSpreadStructurePlacement;Lnet/minecraft/util/math/ChunkPos;)Lnet/minecraft/util/math/BlockPos;
-
tryPlaceStart
public StructureStart<?> tryPlaceStart(DynamicRegistryManager registryManager, ChunkGenerator chunkGenerator, BiomeSource biomeSource, StructureManager structureManager, long worldSeed, ChunkPos pos, int structureReferences, C c, HeightLimitView heightLimitView, Predicate<RegistryEntry<Biome>> predicate) 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 aLcyx;a(Lha;Lcql;Lcbp;Ldhi;JLbzw;ILczt;Lcar;Ljava/util/function/Predicate;)Ldfi;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;ILnet/minecraft/class_3037;Lnet/minecraft/class_5539;Ljava/util/function/Predicate;)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;ILnet/minecraft/world/gen/feature/FeatureConfig;Lnet/minecraft/world/HeightLimitView;Ljava/util/function/Predicate;)Lnet/minecraft/structure/StructureStart;
-
canGenerate
public boolean canGenerate(DynamicRegistryManager registryManager, ChunkGenerator chunkGenerator, BiomeSource biomeSource, StructureManager structureManager, long worldSeed, ChunkPos pos, C config, HeightLimitView world, Predicate<RegistryEntry<Biome>> biomePredicate) - Mappings:
Namespace Name Mixin selector official aLcyx;a(Lha;Lcql;Lcbp;Ldhi;JLbzw;Lczt;Lcar;Ljava/util/function/Predicate;)Zintermediary method_39821Lnet/minecraft/class_3195;method_39821(Lnet/minecraft/class_5455;Lnet/minecraft/class_2794;Lnet/minecraft/class_1966;Lnet/minecraft/class_3485;JLnet/minecraft/class_1923;Lnet/minecraft/class_3037;Lnet/minecraft/class_5539;Ljava/util/function/Predicate;)Znamed canGenerateLnet/minecraft/world/gen/feature/StructureFeature;canGenerate(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/gen/feature/FeatureConfig;Lnet/minecraft/world/HeightLimitView;Ljava/util/function/Predicate;)Z
-
getPostProcessor
- Mappings:
Namespace Name Mixin selector official dLcyx;d()Ldey;intermediary method_38690Lnet/minecraft/class_3195;method_38690()Lnet/minecraft/class_6621;named getPostProcessorLnet/minecraft/world/gen/feature/StructureFeature;getPostProcessor()Lnet/minecraft/structure/PostPlacementProcessor;
-
getName
- Mappings:
Namespace Name Mixin selector official eLcyx;e()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;
-
calculateBoundingBox
- Mappings:
Namespace Name Mixin selector official aLcyx;a(Ldei;)Ldei;intermediary method_36217Lnet/minecraft/class_3195;method_36217(Lnet/minecraft/class_3341;)Lnet/minecraft/class_3341;named calculateBoundingBoxLnet/minecraft/world/gen/feature/StructureFeature;calculateBoundingBox(Lnet/minecraft/util/math/BlockBox;)Lnet/minecraft/util/math/BlockBox;
-