Package net.minecraft.structure
Class StructurePiece
java.lang.Object
net.minecraft.structure.StructurePiece
- Direct Known Subclasses:
BuriedTreasureGenerator.Piece,MineshaftGenerator.MineshaftPart,NetherFortressGenerator.Piece,OceanMonumentGenerator.Piece,PoolStructurePiece,SimpleStructurePiece,StrongholdGenerator.Piece,StructurePieceWithDimensions
public abstract class StructurePiece extends Object
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStructurePiece.BlockRandomizer -
Field Summary
Fields Modifier and Type Field Description protected static BlockStateAIRprivate static Set<Block>BLOCKS_NEEDING_POST_PROCESSINGprotected BlockBoxboundingBoxprotected intchainLengthprivate Directionfacingprivate BlockMirrormirrorprivate BlockRotationrotationprivate StructurePieceTypetype -
Constructor Summary
Constructors Modifier Constructor Description protectedStructurePiece(StructurePieceType type, int length)StructurePiece(StructurePieceType type, CompoundTag tag) -
Method Summary
Modifier and Type Method Description protected voidaddBlock(StructureWorldAccess structureWorldAccess, BlockState block, int x, int y, int z, BlockBox blockBox)protected voidaddBlockWithRandomThreshold(StructureWorldAccess structureWorldAccess, BlockBox bounds, Random random, float threshold, int x, int y, int z, BlockState blockState)protected booleanaddChest(ServerWorldAccess serverWorldAccess, BlockBox boundingBox, Random random, BlockPos pos, Identifier lootTableId, BlockState block)protected booleanaddChest(StructureWorldAccess structureWorldAccess, BlockBox boundingBox, Random random, int x, int y, int z, Identifier lootTableId)protected booleanaddDispenser(StructureWorldAccess structureWorldAccess, BlockBox boundingBox, Random random, int x, int y, int z, Direction facing, Identifier lootTableId)protected intapplyXTransform(int x, int z)protected intapplyYTransform(int y)protected intapplyZTransform(int x, int z)protected voidfill(StructureWorldAccess structureWorldAccess, BlockBox bounds, int minX, int minY, int minZ, int maxX, int maxY, int maxZ)protected voidfillDownwards(StructureWorldAccess structureWorldAccess, BlockState blockState, int x, int y, int z, BlockBox blockBox)protected voidfillHalfEllipsoid(StructureWorldAccess structureWorldAccess, BlockBox bounds, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState block, boolean cantReplaceAir)voidfillOpenings(StructurePiece start, List<StructurePiece> pieces, Random random)protected voidfillWithOutline(StructureWorldAccess structureWorldAccess, BlockBox blockBox, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, boolean cantReplaceAir, Random random, StructurePiece.BlockRandomizer blockRandomizer)protected voidfillWithOutline(StructureWorldAccess structureWorldAccess, BlockBox blockBox, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState outline, BlockState inside, boolean cantReplaceAir)protected voidfillWithOutlineUnderSeaLevel(StructureWorldAccess structureWorldAccess, BlockBox blockBox, Random random, float blockChance, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState outline, BlockState inside, boolean cantReplaceAir, boolean stayBelowSeaLevel)abstract booleangenerate(StructureWorldAccess structureWorldAccess, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox boundingBox, ChunkPos chunkPos, BlockPos blockPos)protected BlockStategetBlockAt(BlockView blockView, int x, int y, int z, BlockBox blockBox)BlockBoxgetBoundingBox()intgetChainLength()DirectiongetFacing()static StructurePiecegetOverlappingPiece(List<StructurePiece> pieces, BlockBox blockBox)BlockRotationgetRotation()CompoundTaggetTag()StructurePieceTypegetType()booleanintersectsChunk(ChunkPos chunkPos, int offset)protected booleanisTouchingLiquid(BlockView blockView, BlockBox blockBox)protected booleanisUnderSeaLevel(WorldView worldView, int x, int z, int y, BlockBox blockBox)static BlockStateorientateChest(BlockView blockView, BlockPos blockPos, BlockState blockState)voidsetOrientation(Direction orientation)protected abstract voidtoNbt(CompoundTag tag)voidtranslate(int x, int y, int z)
-
Field Details
-
AIR
-
BLOCKS_NEEDING_POST_PROCESSING
-
boundingBox
-
facing
-
mirror
-
rotation
-
chainLength
protected int chainLength -
type
-
-
Constructor Details
-
StructurePiece
-
StructurePiece
-
-
Method Details
-
getTag
-
toNbt
-
fillOpenings
-
generate
public abstract boolean generate(StructureWorldAccess structureWorldAccess, StructureAccessor structureAccessor, ChunkGenerator chunkGenerator, Random random, BlockBox boundingBox, ChunkPos chunkPos, BlockPos blockPos) -
getBoundingBox
-
getChainLength
public int getChainLength() -
intersectsChunk
-
getOverlappingPiece
-
isTouchingLiquid
-
applyXTransform
protected int applyXTransform(int x, int z) -
applyYTransform
protected int applyYTransform(int y) -
applyZTransform
protected int applyZTransform(int x, int z) -
addBlock
protected void addBlock(StructureWorldAccess structureWorldAccess, BlockState block, int x, int y, int z, BlockBox blockBox) -
getBlockAt
-
isUnderSeaLevel
-
fill
protected void fill(StructureWorldAccess structureWorldAccess, BlockBox bounds, int minX, int minY, int minZ, int maxX, int maxY, int maxZ) -
fillWithOutline
protected void fillWithOutline(StructureWorldAccess structureWorldAccess, BlockBox blockBox, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState outline, BlockState inside, boolean cantReplaceAir) -
fillWithOutline
protected void fillWithOutline(StructureWorldAccess structureWorldAccess, BlockBox blockBox, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, boolean cantReplaceAir, Random random, StructurePiece.BlockRandomizer blockRandomizer) -
fillWithOutlineUnderSeaLevel
protected void fillWithOutlineUnderSeaLevel(StructureWorldAccess structureWorldAccess, BlockBox blockBox, Random random, float blockChance, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState outline, BlockState inside, boolean cantReplaceAir, boolean stayBelowSeaLevel) -
addBlockWithRandomThreshold
protected void addBlockWithRandomThreshold(StructureWorldAccess structureWorldAccess, BlockBox bounds, Random random, float threshold, int x, int y, int z, BlockState blockState) -
fillHalfEllipsoid
protected void fillHalfEllipsoid(StructureWorldAccess structureWorldAccess, BlockBox bounds, int minX, int minY, int minZ, int maxX, int maxY, int maxZ, BlockState block, boolean cantReplaceAir) -
fillDownwards
protected void fillDownwards(StructureWorldAccess structureWorldAccess, BlockState blockState, int x, int y, int z, BlockBox blockBox) -
addChest
protected boolean addChest(StructureWorldAccess structureWorldAccess, BlockBox boundingBox, Random random, int x, int y, int z, Identifier lootTableId) -
orientateChest
public static BlockState orientateChest(BlockView blockView, BlockPos blockPos, BlockState blockState) -
addChest
protected boolean addChest(ServerWorldAccess serverWorldAccess, BlockBox boundingBox, Random random, BlockPos pos, Identifier lootTableId, @Nullable BlockState block) -
addDispenser
protected boolean addDispenser(StructureWorldAccess structureWorldAccess, BlockBox boundingBox, Random random, int x, int y, int z, Direction facing, Identifier lootTableId) -
translate
public void translate(int x, int y, int z) -
getFacing
-
setOrientation
-
getRotation
-
getType
-