Class StructureStart<C extends FeatureConfig>

java.lang.Object
net.minecraft.structure.StructureStart<C>
All Implemented Interfaces:
StructurePiecesHolder
Direct Known Subclasses:
BuriedTreasureFeature.Start, DesertPyramidFeature.Start, EndCityFeature.Start, IglooFeature.Start, JungleTempleFeature.Start, MarginedStructureStart, MineshaftFeature.Start, NetherFortressFeature.Start, OceanMonumentFeature.Start, OceanRuinFeature.Start, RuinedPortalFeature.Start, ShipwreckFeature.Start, SwampHutFeature.Start, WoodlandMansionFeature.Start

public abstract class StructureStart<C extends FeatureConfig> extends Object implements StructurePiecesHolder
A structure start is created to describe a structure that will be generated by chunk generation. It contains a definition of its pieces and is associated with the chunk that the structure originates from.
Mappings:
Namespace Name
official dbn
intermediary net/minecraft/class_3449
named net/minecraft/structure/StructureStart
  • Field Details

    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      official e Ldbn;e:Lorg/apache/logging/log4j/Logger;
      intermediary field_29328 Lnet/minecraft/class_3449;field_29328:Lorg/apache/logging/log4j/Logger;
      named LOGGER Lnet/minecraft/structure/StructureStart;LOGGER:Lorg/apache/logging/log4j/Logger;
    • INVALID

      public static final String INVALID
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a:Ljava/lang/String;
      intermediary field_31662 Lnet/minecraft/class_3449;field_31662:Ljava/lang/String;
      named INVALID Lnet/minecraft/structure/StructureStart;INVALID:Ljava/lang/String;
    • DEFAULT

      public static final StructureStart<?> DEFAULT
      Mappings:
      Namespace Name Mixin selector
      official b Ldbn;b:Ldbn;
      intermediary field_16713 Lnet/minecraft/class_3449;field_16713:Lnet/minecraft/class_3449;
      named DEFAULT Lnet/minecraft/structure/StructureStart;DEFAULT:Lnet/minecraft/structure/StructureStart;
    • feature

      private final StructureFeature<C extends FeatureConfig> feature
      Mappings:
      Namespace Name Mixin selector
      official f Ldbn;f:Lcuc;
      intermediary field_16714 Lnet/minecraft/class_3449;field_16714:Lnet/minecraft/class_3195;
      named feature Lnet/minecraft/structure/StructureStart;feature:Lnet/minecraft/world/gen/feature/StructureFeature;
    • children

      protected final List<StructurePiece> children
      Mappings:
      Namespace Name Mixin selector
      official c Ldbn;c:Ljava/util/List;
      intermediary field_15325 Lnet/minecraft/class_3449;field_15325:Ljava/util/List;
      named children Lnet/minecraft/structure/StructureStart;children:Ljava/util/List;
    • pos

      private final ChunkPos pos
      Mappings:
      Namespace Name Mixin selector
      official g Ldbn;g:Lbvu;
      intermediary field_29070 Lnet/minecraft/class_3449;field_29070:Lnet/minecraft/class_1923;
      named pos Lnet/minecraft/structure/StructureStart;pos:Lnet/minecraft/util/math/ChunkPos;
    • references

      private int references
      The number of chunks that intersect the structures bounding box, and have stored references to its starting chunk.

      This number can be lower than the number of potential intersecting chunks, since it is only updated when an actual reference is created in such chunks (when they enter the corresponding chunk generation phase).

      Mappings:
      Namespace Name Mixin selector
      official h Ldbn;h:I
      intermediary field_15326 Lnet/minecraft/class_3449;field_15326:I
      named references Lnet/minecraft/structure/StructureStart;references:I
    • random

      protected final ChunkRandom random
      Mappings:
      Namespace Name Mixin selector
      official d Ldbn;d:Lcqm;
      intermediary field_16715 Lnet/minecraft/class_3449;field_16715:Lnet/minecraft/class_2919;
      named random Lnet/minecraft/structure/StructureStart;random:Lnet/minecraft/world/gen/ChunkRandom;
    • boundingBox

      @Nullable private @Nullable BlockBox boundingBox
      Mappings:
      Namespace Name Mixin selector
      official i Ldbn;i:Ldaq;
      intermediary field_31663 Lnet/minecraft/class_3449;field_31663:Lnet/minecraft/class_3341;
      named boundingBox Lnet/minecraft/structure/StructureStart;boundingBox:Lnet/minecraft/util/math/BlockBox;
  • Constructor Details

    • StructureStart

      public StructureStart(StructureFeature<C> feature, ChunkPos pos, int references, long seed)
      Mappings:
      Namespace Name Mixin selector
      official <init> Ldbn;<init>(Lcuc;Lbvu;IJ)V
      intermediary <init> Lnet/minecraft/class_3449;<init>(Lnet/minecraft/class_3195;Lnet/minecraft/class_1923;IJ)V
      named <init> Lnet/minecraft/structure/StructureStart;<init>(Lnet/minecraft/world/gen/feature/StructureFeature;Lnet/minecraft/util/math/ChunkPos;IJ)V
  • Method Details

    • init

      public abstract void init(DynamicRegistryManager registryManager, ChunkGenerator chunkGenerator, StructureManager manager, ChunkPos pos, Biome biome, C config, HeightLimitView world)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(Lgx;Lcmn;Ldcp;Lbvu;Lbxo;Lcvg;Lbwr;)V
      intermediary method_16655 Lnet/minecraft/class_3449;method_16655(Lnet/minecraft/class_5455;Lnet/minecraft/class_2794;Lnet/minecraft/class_3485;Lnet/minecraft/class_1923;Lnet/minecraft/class_1959;Lnet/minecraft/class_3037;Lnet/minecraft/class_5539;)V
      named init Lnet/minecraft/structure/StructureStart;init(Lnet/minecraft/util/registry/DynamicRegistryManager;Lnet/minecraft/world/gen/chunk/ChunkGenerator;Lnet/minecraft/structure/StructureManager;Lnet/minecraft/util/math/ChunkPos;Lnet/minecraft/world/biome/Biome;Lnet/minecraft/world/gen/feature/FeatureConfig;Lnet/minecraft/world/HeightLimitView;)V
    • setBoundingBoxFromChildren

      public final BlockBox setBoundingBoxFromChildren()
      Mappings:
      Namespace Name Mixin selector
      official c Ldbn;c()Ldaq;
      intermediary method_14969 Lnet/minecraft/class_3449;method_14969()Lnet/minecraft/class_3341;
      named setBoundingBoxFromChildren Lnet/minecraft/structure/StructureStart;setBoundingBoxFromChildren()Lnet/minecraft/util/math/BlockBox;
    • calculateBoundingBox

      protected BlockBox calculateBoundingBox()
      Mappings:
      Namespace Name Mixin selector
      official b Ldbn;b()Ldaq;
      intermediary method_36217 Lnet/minecraft/class_3449;method_36217()Lnet/minecraft/class_3341;
      named calculateBoundingBox Lnet/minecraft/structure/StructureStart;calculateBoundingBox()Lnet/minecraft/util/math/BlockBox;
    • getChildren

      public List<StructurePiece> getChildren()
      Mappings:
      Namespace Name Mixin selector
      official d Ldbn;d()Ljava/util/List;
      intermediary method_14963 Lnet/minecraft/class_3449;method_14963()Ljava/util/List;
      named getChildren Lnet/minecraft/structure/StructureStart;getChildren()Ljava/util/List;
    • generateStructure

      public void generateStructure(StructureWorldAccess world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox box, ChunkPos chunkPos)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(Lbxk;Lbxg;Lcmn;Ljava/util/Random;Ldaq;Lbvu;)V
      intermediary method_14974 Lnet/minecraft/class_3449;method_14974(Lnet/minecraft/class_5281;Lnet/minecraft/class_5138;Lnet/minecraft/class_2794;Ljava/util/Random;Lnet/minecraft/class_3341;Lnet/minecraft/class_1923;)V
      named generateStructure Lnet/minecraft/structure/StructureStart;generateStructure(Lnet/minecraft/world/StructureWorldAccess;Lnet/minecraft/world/gen/StructureAccessor;Lnet/minecraft/world/gen/chunk/ChunkGenerator;Ljava/util/Random;Lnet/minecraft/util/math/BlockBox;Lnet/minecraft/util/math/ChunkPos;)V
    • toNbt

      public NbtCompound toNbt(ServerWorld world, ChunkPos chunkPos)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(Labr;Lbvu;)Lna;
      intermediary method_14972 Lnet/minecraft/class_3449;method_14972(Lnet/minecraft/class_3218;Lnet/minecraft/class_1923;)Lnet/minecraft/class_2487;
      named toNbt Lnet/minecraft/structure/StructureStart;toNbt(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/ChunkPos;)Lnet/minecraft/nbt/NbtCompound;
    • randomUpwardTranslation

      protected void randomUpwardTranslation(int seaLevel, int int2, Random random, int int3)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(IILjava/util/Random;I)V
      intermediary method_14978 Lnet/minecraft/class_3449;method_14978(IILjava/util/Random;I)V
      named randomUpwardTranslation Lnet/minecraft/structure/StructureStart;randomUpwardTranslation(IILjava/util/Random;I)V
    • randomUpwardTranslation

      protected void randomUpwardTranslation(Random random, int minY, int maxY)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(Ljava/util/Random;II)V
      intermediary method_14976 Lnet/minecraft/class_3449;method_14976(Ljava/util/Random;II)V
      named randomUpwardTranslation Lnet/minecraft/structure/StructureStart;randomUpwardTranslation(Ljava/util/Random;II)V
    • translateUpward

      protected void translateUpward(int amount)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(I)V
      intermediary method_35463 Lnet/minecraft/class_3449;method_35463(I)V
      named translateUpward Lnet/minecraft/structure/StructureStart;translateUpward(I)V
    • resetBoundingBox

      private void resetBoundingBox()
      Mappings:
      Namespace Name Mixin selector
      official n Ldbn;n()V
      intermediary method_35468 Lnet/minecraft/class_3449;method_35468()V
      named resetBoundingBox Lnet/minecraft/structure/StructureStart;resetBoundingBox()V
    • hasChildren

      public boolean hasChildren()
      Mappings:
      Namespace Name Mixin selector
      official e Ldbn;e()Z
      intermediary method_16657 Lnet/minecraft/class_3449;method_16657()Z
      named hasChildren Lnet/minecraft/structure/StructureStart;hasChildren()Z
    • getPos

      public ChunkPos getPos()
      Mappings:
      Namespace Name Mixin selector
      official f Ldbn;f()Lbvu;
      intermediary method_34000 Lnet/minecraft/class_3449;method_34000()Lnet/minecraft/class_1923;
      named getPos Lnet/minecraft/structure/StructureStart;getPos()Lnet/minecraft/util/math/ChunkPos;
    • getBlockPos

      public BlockPos getBlockPos()
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a()Lgg;
      intermediary method_14962 Lnet/minecraft/class_3449;method_14962()Lnet/minecraft/class_2338;
      named getBlockPos Lnet/minecraft/structure/StructureStart;getBlockPos()Lnet/minecraft/util/math/BlockPos;
    • isInExistingChunk

      public boolean isInExistingChunk()
      Mappings:
      Namespace Name Mixin selector
      official g Ldbn;g()Z
      intermediary method_14979 Lnet/minecraft/class_3449;method_14979()Z
      named isInExistingChunk Lnet/minecraft/structure/StructureStart;isInExistingChunk()Z
    • incrementReferences

      public void incrementReferences()
      Mappings:
      Namespace Name Mixin selector
      official h Ldbn;h()V
      intermediary method_14964 Lnet/minecraft/class_3449;method_14964()V
      named incrementReferences Lnet/minecraft/structure/StructureStart;incrementReferences()V
    • getReferences

      public int getReferences()
      Mappings:
      Namespace Name Mixin selector
      official i Ldbn;i()I
      intermediary method_23676 Lnet/minecraft/class_3449;method_23676()I
      named getReferences Lnet/minecraft/structure/StructureStart;getReferences()I
    • getReferenceCountToBeInExistingChunk

      protected int getReferenceCountToBeInExistingChunk()
      Mappings:
      Namespace Name Mixin selector
      official j Ldbn;j()I
      intermediary method_14970 Lnet/minecraft/class_3449;method_14970()I
      named getReferenceCountToBeInExistingChunk Lnet/minecraft/structure/StructureStart;getReferenceCountToBeInExistingChunk()I
    • getFeature

      public StructureFeature<?> getFeature()
      Mappings:
      Namespace Name Mixin selector
      official k Ldbn;k()Lcuc;
      intermediary method_16656 Lnet/minecraft/class_3449;method_16656()Lnet/minecraft/class_3195;
      named getFeature Lnet/minecraft/structure/StructureStart;getFeature()Lnet/minecraft/world/gen/feature/StructureFeature;
    • addPiece

      public void addPiece(StructurePiece piece)
      Adds a structure piece into this holder.
      Specified by:
      addPiece in interface StructurePiecesHolder
      Parameters:
      piece - the piece to add
      Mappings:
      Namespace Name Mixin selector
      official a Ldbm;a(Ldbl;)V
      intermediary method_35462 Lnet/minecraft/class_6130;method_35462(Lnet/minecraft/class_3443;)V
      named addPiece Lnet/minecraft/structure/StructurePiecesHolder;addPiece(Lnet/minecraft/structure/StructurePiece;)V
    • getIntersecting

      @Nullable public @Nullable StructurePiece getIntersecting(BlockBox box)
      Returns an arbitrary piece in this holder that intersects the given box, or null if there is no such piece.
      Specified by:
      getIntersecting in interface StructurePiecesHolder
      Parameters:
      box - the box to check intersection against
      Mappings:
      Namespace Name Mixin selector
      official a Ldbm;a(Ldaq;)Ldbl;
      intermediary method_35461 Lnet/minecraft/class_6130;method_35461(Lnet/minecraft/class_3341;)Lnet/minecraft/class_3443;
      named getIntersecting Lnet/minecraft/structure/StructurePiecesHolder;getIntersecting(Lnet/minecraft/util/math/BlockBox;)Lnet/minecraft/structure/StructurePiece;
    • clearChildren

      public void clearChildren()
      Mappings:
      Namespace Name Mixin selector
      official l Ldbn;l()V
      intermediary method_35466 Lnet/minecraft/class_3449;method_35466()V
      named clearChildren Lnet/minecraft/structure/StructureStart;clearChildren()V
    • hasNoChildren

      public boolean hasNoChildren()
      Mappings:
      Namespace Name Mixin selector
      official m Ldbn;m()Z
      intermediary method_35467 Lnet/minecraft/class_3449;method_35467()Z
      named hasNoChildren Lnet/minecraft/structure/StructureStart;hasNoChildren()Z
    • getIntersecting

      @Nullable public static @Nullable StructurePiece getIntersecting(List<StructurePiece> pieces, BlockBox box)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(Ljava/util/List;Ldaq;)Ldbl;
      intermediary method_35465 Lnet/minecraft/class_3449;method_35465(Ljava/util/List;Lnet/minecraft/class_3341;)Lnet/minecraft/class_3443;
      named getIntersecting Lnet/minecraft/structure/StructureStart;getIntersecting(Ljava/util/List;Lnet/minecraft/util/math/BlockBox;)Lnet/minecraft/structure/StructurePiece;
    • contains

      protected boolean contains(BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      official a Ldbn;a(Lgg;)Z
      intermediary method_35464 Lnet/minecraft/class_3449;method_35464(Lnet/minecraft/class_2338;)Z
      named contains Lnet/minecraft/structure/StructureStart;contains(Lnet/minecraft/util/math/BlockPos;)Z