Package net.minecraft.structure
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 Summary
Modifier and TypeFieldDescriptionprotected List<StructurePiece>
static StructureStart<?>
private StructureFeature<C>
static String
private static Logger
private ChunkPos
protected ChunkRandom
private int
The number of chunks that intersect the structures bounding box, and have stored references to its starting chunk. -
Constructor Summary
ConstructorDescriptionStructureStart(StructureFeature<C> feature, ChunkPos pos, int references, long seed)
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPiece(StructurePiece piece)
Adds a structure piece into this holder.protected BlockBox
void
protected boolean
void
generateStructure(StructureWorldAccess world, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox box, ChunkPos chunkPos)
static @Nullable StructurePiece
getIntersecting(List<StructurePiece> pieces, BlockBox box)
getIntersecting(BlockBox box)
Returns an arbitrary piece in this holder that intersects the givenbox
, ornull
if there is no such piece.getPos()
protected int
int
boolean
boolean
void
abstract void
init(DynamicRegistryManager registryManager, ChunkGenerator chunkGenerator, StructureManager manager, ChunkPos pos, Biome biome, C config, HeightLimitView world)
boolean
protected void
randomUpwardTranslation(int seaLevel, int int2, Random random, int int3)
protected void
randomUpwardTranslation(Random random, int minY, int maxY)
private void
toNbt(ServerWorld world, ChunkPos chunkPos)
protected void
translateUpward(int amount)
-
Field Details
-
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
- See Also:
- Constant Field Values
- 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
- 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
- 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
- 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
- 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 referencesThe 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
Adds a structure piece into this holder.- Specified by:
addPiece
in interfaceStructurePiecesHolder
- 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
Returns an arbitrary piece in this holder that intersects the givenbox
, ornull
if there is no such piece.- Specified by:
getIntersecting
in interfaceStructurePiecesHolder
- 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
- 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
-