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

public class StructureFeature<C extends FeatureConfig> extends Object
Mappings:
Namespace Name
official cyx
intermediary net/minecraft/class_3195
named net/minecraft/world/gen/feature/StructureFeature
  • Field Details

    • STRUCTURES

      public static final BiMap<String,StructureFeature<?>> STRUCTURES
      Mappings:
      Namespace Name Mixin selector
      official b Lcyx;b:Lcom/google/common/collect/BiMap;
      intermediary field_24842 Lnet/minecraft/class_3195;field_24842:Lcom/google/common/collect/BiMap;
      named STRUCTURES Lnet/minecraft/world/gen/feature/StructureFeature;STRUCTURES:Lcom/google/common/collect/BiMap;
    • STRUCTURE_TO_GENERATION_STEP

      private static final Map<StructureFeature<?>,GenerationStep.Feature> STRUCTURE_TO_GENERATION_STEP
      Mappings:
      Namespace Name Mixin selector
      official a Lcyx;a:Ljava/util/Map;
      intermediary field_24862 Lnet/minecraft/class_3195;field_24862:Ljava/util/Map;
      named STRUCTURE_TO_GENERATION_STEP Lnet/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 w Lcyx;w:Lorg/slf4j/Logger;
      intermediary field_13879 Lnet/minecraft/class_3195;field_13879:Lorg/slf4j/Logger;
      named LOGGER Lnet/minecraft/world/gen/feature/StructureFeature;LOGGER:Lorg/slf4j/Logger;
    • PILLAGER_OUTPOST

      public static final StructureFeature<StructurePoolFeatureConfig> PILLAGER_OUTPOST
      Mappings:
      Namespace Name Mixin selector
      official c Lcyx;c:Lcyx;
      intermediary field_24843 Lnet/minecraft/class_3195;field_24843:Lnet/minecraft/class_3195;
      named PILLAGER_OUTPOST Lnet/minecraft/world/gen/feature/StructureFeature;PILLAGER_OUTPOST:Lnet/minecraft/world/gen/feature/StructureFeature;
    • MINESHAFT

      public static final StructureFeature<MineshaftFeatureConfig> MINESHAFT
      Mappings:
      Namespace Name Mixin selector
      official d Lcyx;d:Lcyx;
      intermediary field_24844 Lnet/minecraft/class_3195;field_24844:Lnet/minecraft/class_3195;
      named MINESHAFT Lnet/minecraft/world/gen/feature/StructureFeature;MINESHAFT:Lnet/minecraft/world/gen/feature/StructureFeature;
    • MANSION

      public static final StructureFeature<DefaultFeatureConfig> MANSION
      Mappings:
      Namespace Name Mixin selector
      official e Lcyx;e:Lcyx;
      intermediary field_24845 Lnet/minecraft/class_3195;field_24845:Lnet/minecraft/class_3195;
      named MANSION Lnet/minecraft/world/gen/feature/StructureFeature;MANSION:Lnet/minecraft/world/gen/feature/StructureFeature;
    • JUNGLE_PYRAMID

      public static final StructureFeature<DefaultFeatureConfig> JUNGLE_PYRAMID
      Mappings:
      Namespace Name Mixin selector
      official f Lcyx;f:Lcyx;
      intermediary field_24846 Lnet/minecraft/class_3195;field_24846:Lnet/minecraft/class_3195;
      named JUNGLE_PYRAMID Lnet/minecraft/world/gen/feature/StructureFeature;JUNGLE_PYRAMID:Lnet/minecraft/world/gen/feature/StructureFeature;
    • DESERT_PYRAMID

      public static final StructureFeature<DefaultFeatureConfig> DESERT_PYRAMID
      Mappings:
      Namespace Name Mixin selector
      official g Lcyx;g:Lcyx;
      intermediary field_24847 Lnet/minecraft/class_3195;field_24847:Lnet/minecraft/class_3195;
      named DESERT_PYRAMID Lnet/minecraft/world/gen/feature/StructureFeature;DESERT_PYRAMID:Lnet/minecraft/world/gen/feature/StructureFeature;
    • IGLOO

      public static final StructureFeature<DefaultFeatureConfig> IGLOO
      Mappings:
      Namespace Name Mixin selector
      official h Lcyx;h:Lcyx;
      intermediary field_24848 Lnet/minecraft/class_3195;field_24848:Lnet/minecraft/class_3195;
      named IGLOO Lnet/minecraft/world/gen/feature/StructureFeature;IGLOO:Lnet/minecraft/world/gen/feature/StructureFeature;
    • RUINED_PORTAL

      public static final StructureFeature<RuinedPortalFeatureConfig> RUINED_PORTAL
      Mappings:
      Namespace Name Mixin selector
      official i Lcyx;i:Lcyx;
      intermediary field_24849 Lnet/minecraft/class_3195;field_24849:Lnet/minecraft/class_3195;
      named RUINED_PORTAL Lnet/minecraft/world/gen/feature/StructureFeature;RUINED_PORTAL:Lnet/minecraft/world/gen/feature/StructureFeature;
    • SHIPWRECK

      public static final StructureFeature<ShipwreckFeatureConfig> SHIPWRECK
      Mappings:
      Namespace Name Mixin selector
      official j Lcyx;j:Lcyx;
      intermediary field_24850 Lnet/minecraft/class_3195;field_24850:Lnet/minecraft/class_3195;
      named SHIPWRECK Lnet/minecraft/world/gen/feature/StructureFeature;SHIPWRECK:Lnet/minecraft/world/gen/feature/StructureFeature;
    • SWAMP_HUT

      public static final StructureFeature<DefaultFeatureConfig> SWAMP_HUT
      Mappings:
      Namespace Name Mixin selector
      official k Lcyx;k:Lcyx;
      intermediary field_24851 Lnet/minecraft/class_3195;field_24851:Lnet/minecraft/class_3195;
      named SWAMP_HUT Lnet/minecraft/world/gen/feature/StructureFeature;SWAMP_HUT:Lnet/minecraft/world/gen/feature/StructureFeature;
    • STRONGHOLD

      public static final StructureFeature<DefaultFeatureConfig> STRONGHOLD
      Mappings:
      Namespace Name Mixin selector
      official l Lcyx;l:Lcyx;
      intermediary field_24852 Lnet/minecraft/class_3195;field_24852:Lnet/minecraft/class_3195;
      named STRONGHOLD Lnet/minecraft/world/gen/feature/StructureFeature;STRONGHOLD:Lnet/minecraft/world/gen/feature/StructureFeature;
    • MONUMENT

      public static final StructureFeature<DefaultFeatureConfig> MONUMENT
      Mappings:
      Namespace Name Mixin selector
      official m Lcyx;m:Lcyx;
      intermediary field_24853 Lnet/minecraft/class_3195;field_24853:Lnet/minecraft/class_3195;
      named MONUMENT Lnet/minecraft/world/gen/feature/StructureFeature;MONUMENT:Lnet/minecraft/world/gen/feature/StructureFeature;
    • OCEAN_RUIN

      public static final StructureFeature<OceanRuinFeatureConfig> OCEAN_RUIN
      Mappings:
      Namespace Name Mixin selector
      official n Lcyx;n:Lcyx;
      intermediary field_24854 Lnet/minecraft/class_3195;field_24854:Lnet/minecraft/class_3195;
      named OCEAN_RUIN Lnet/minecraft/world/gen/feature/StructureFeature;OCEAN_RUIN:Lnet/minecraft/world/gen/feature/StructureFeature;
    • FORTRESS

      public static final StructureFeature<DefaultFeatureConfig> FORTRESS
      Mappings:
      Namespace Name Mixin selector
      official o Lcyx;o:Lcyx;
      intermediary field_24855 Lnet/minecraft/class_3195;field_24855:Lnet/minecraft/class_3195;
      named FORTRESS Lnet/minecraft/world/gen/feature/StructureFeature;FORTRESS:Lnet/minecraft/world/gen/feature/StructureFeature;
    • END_CITY

      public static final StructureFeature<DefaultFeatureConfig> END_CITY
      Mappings:
      Namespace Name Mixin selector
      official p Lcyx;p:Lcyx;
      intermediary field_24856 Lnet/minecraft/class_3195;field_24856:Lnet/minecraft/class_3195;
      named END_CITY Lnet/minecraft/world/gen/feature/StructureFeature;END_CITY:Lnet/minecraft/world/gen/feature/StructureFeature;
    • BURIED_TREASURE

      public static final StructureFeature<ProbabilityConfig> BURIED_TREASURE
      Mappings:
      Namespace Name Mixin selector
      official q Lcyx;q:Lcyx;
      intermediary field_24857 Lnet/minecraft/class_3195;field_24857:Lnet/minecraft/class_3195;
      named BURIED_TREASURE Lnet/minecraft/world/gen/feature/StructureFeature;BURIED_TREASURE:Lnet/minecraft/world/gen/feature/StructureFeature;
    • VILLAGE

      public static final StructureFeature<StructurePoolFeatureConfig> VILLAGE
      Mappings:
      Namespace Name Mixin selector
      official r Lcyx;r:Lcyx;
      intermediary field_24858 Lnet/minecraft/class_3195;field_24858:Lnet/minecraft/class_3195;
      named VILLAGE Lnet/minecraft/world/gen/feature/StructureFeature;VILLAGE:Lnet/minecraft/world/gen/feature/StructureFeature;
    • NETHER_FOSSIL

      public static final StructureFeature<RangeFeatureConfig> NETHER_FOSSIL
      Mappings:
      Namespace Name Mixin selector
      official s Lcyx;s:Lcyx;
      intermediary field_24859 Lnet/minecraft/class_3195;field_24859:Lnet/minecraft/class_3195;
      named NETHER_FOSSIL Lnet/minecraft/world/gen/feature/StructureFeature;NETHER_FOSSIL:Lnet/minecraft/world/gen/feature/StructureFeature;
    • BASTION_REMNANT

      public static final StructureFeature<StructurePoolFeatureConfig> BASTION_REMNANT
      Mappings:
      Namespace Name Mixin selector
      official t Lcyx;t:Lcyx;
      intermediary field_24860 Lnet/minecraft/class_3195;field_24860:Lnet/minecraft/class_3195;
      named BASTION_REMNANT Lnet/minecraft/world/gen/feature/StructureFeature;BASTION_REMNANT:Lnet/minecraft/world/gen/feature/StructureFeature;
    • LAND_MODIFYING_STRUCTURES

      public static final List<StructureFeature<?>> LAND_MODIFYING_STRUCTURES
      Mappings:
      Namespace Name Mixin selector
      official u Lcyx;u:Ljava/util/List;
      intermediary field_24861 Lnet/minecraft/class_3195;field_24861:Ljava/util/List;
      named LAND_MODIFYING_STRUCTURES Lnet/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 v Lcyx;v:I
      intermediary field_31518 Lnet/minecraft/class_3195;field_31518:I
      named field_31518 Lnet/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 x Lcyx;x:Lcom/mojang/serialization/Codec;
      intermediary field_24863 Lnet/minecraft/class_3195;field_24863:Lcom/mojang/serialization/Codec;
      named codec Lnet/minecraft/world/gen/feature/StructureFeature;codec:Lcom/mojang/serialization/Codec;
    • piecesGenerator

      private final StructureGeneratorFactory<C extends FeatureConfig> piecesGenerator
      Mappings:
      Namespace Name Mixin selector
      official y Lcyx;y:Ldfo;
      intermediary field_34929 Lnet/minecraft/class_3195;field_34929:Lnet/minecraft/class_6834;
      named piecesGenerator Lnet/minecraft/world/gen/feature/StructureFeature;piecesGenerator:Lnet/minecraft/structure/StructureGeneratorFactory;
    • postProcessor

      private final PostPlacementProcessor postProcessor
      Mappings:
      Namespace Name Mixin selector
      official z Lcyx;z:Ldey;
      intermediary field_34930 Lnet/minecraft/class_3195;field_34930:Lnet/minecraft/class_6621;
      named postProcessor Lnet/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;)V
      intermediary <init> Lnet/minecraft/class_3195;<init>(Lcom/mojang/serialization/Codec;Lnet/minecraft/class_6834;)V
      named <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;)V
      intermediary <init> Lnet/minecraft/class_3195;<init>(Lcom/mojang/serialization/Codec;Lnet/minecraft/class_6834;Lnet/minecraft/class_6621;)V
      named <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 a Lcyx;a(Ljava/lang/String;Lcyx;Lctm$b;)Lcyx;
      intermediary method_28661 Lnet/minecraft/class_3195;method_28661(Ljava/lang/String;Lnet/minecraft/class_3195;Lnet/minecraft/class_2893$class_2895;)Lnet/minecraft/class_3195;
      named register Lnet/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

      public GenerationStep.Feature 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 a Lcyx;a()Lctm$b;
      intermediary method_28663 Lnet/minecraft/class_3195;method_28663()Lnet/minecraft/class_2893$class_2895;
      named getGenerationStep Lnet/minecraft/world/gen/feature/StructureFeature;getGenerationStep()Lnet/minecraft/world/gen/GenerationStep$Feature;
    • init

      public static void init()
      Mappings:
      Namespace Name Mixin selector
      official b Lcyx;b()V
      intermediary method_28664 Lnet/minecraft/class_3195;method_28664()V
      named init Lnet/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 a Lcyx;a(Ldfq;Log;J)Ldfi;
      intermediary method_28660 Lnet/minecraft/class_3195;method_28660(Lnet/minecraft/class_6625;Lnet/minecraft/class_2487;J)Lnet/minecraft/class_3449;
      named readStructureStart Lnet/minecraft/world/gen/feature/StructureFeature;readStructureStart(Lnet/minecraft/structure/StructureContext;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 c Lcyx;c()Lcom/mojang/serialization/Codec;
      intermediary method_28665 Lnet/minecraft/class_3195;method_28665()Lcom/mojang/serialization/Codec;
      named getCodec Lnet/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 a Lcyx;a(Lczt;Laia;)Lcwl;
      intermediary method_28659 Lnet/minecraft/class_3195;method_28659(Lnet/minecraft/class_3037;Lnet/minecraft/class_6862;)Lnet/minecraft/class_5312;
      named configure Lnet/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 a Lcyx;a(Ldfv;Lbzw;)Lgh;
      intermediary method_38671 Lnet/minecraft/class_3195;method_38671(Lnet/minecraft/class_6872;Lnet/minecraft/class_1923;)Lnet/minecraft/class_2338;
      named getLocatedPos Lnet/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.DEFAULT will be returned.

      Mappings:
      Namespace Name Mixin selector
      official a Lcyx;a(Lha;Lcql;Lcbp;Ldhi;JLbzw;ILczt;Lcar;Ljava/util/function/Predicate;)Ldfi;
      intermediary method_28657 Lnet/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 tryPlaceStart Lnet/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 a Lcyx;a(Lha;Lcql;Lcbp;Ldhi;JLbzw;Lczt;Lcar;Ljava/util/function/Predicate;)Z
      intermediary method_39821 Lnet/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;)Z
      named canGenerate Lnet/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

      public PostPlacementProcessor getPostProcessor()
      Mappings:
      Namespace Name Mixin selector
      official d Lcyx;d()Ldey;
      intermediary method_38690 Lnet/minecraft/class_3195;method_38690()Lnet/minecraft/class_6621;
      named getPostProcessor Lnet/minecraft/world/gen/feature/StructureFeature;getPostProcessor()Lnet/minecraft/structure/PostPlacementProcessor;
    • getName

      public String getName()
      Mappings:
      Namespace Name Mixin selector
      official e Lcyx;e()Ljava/lang/String;
      intermediary method_14019 Lnet/minecraft/class_3195;method_14019()Ljava/lang/String;
      named getName Lnet/minecraft/world/gen/feature/StructureFeature;getName()Ljava/lang/String;
    • calculateBoundingBox

      public BlockBox calculateBoundingBox(BlockBox box)
      Mappings:
      Namespace Name Mixin selector
      official a Lcyx;a(Ldei;)Ldei;
      intermediary method_36217 Lnet/minecraft/class_3195;method_36217(Lnet/minecraft/class_3341;)Lnet/minecraft/class_3341;
      named calculateBoundingBox Lnet/minecraft/world/gen/feature/StructureFeature;calculateBoundingBox(Lnet/minecraft/util/math/BlockBox;)Lnet/minecraft/util/math/BlockBox;