Class StructureTemplate
java.lang.Object
net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
(package private) static class
static final record
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
static final String
private final List
<StructureTemplate.StructureEntityInfo> static final String
static final String
private final List
<StructureTemplate.Palette> private Vec3i
static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addEntitiesToWorld
(ServerLevelAccessor p_74524_, BlockPos p_74525_, StructurePlaceSettings placementIn) private static void
addToLists
(StructureTemplate.StructureBlockInfo blockInfo, List<StructureTemplate.StructureBlockInfo> normalBlocks, List<StructureTemplate.StructureBlockInfo> blocksWithNbt, List<StructureTemplate.StructureBlockInfo> blocksWithSpecialShape) private static List
<StructureTemplate.StructureBlockInfo> buildInfoList
(List<StructureTemplate.StructureBlockInfo> normalBlocks, List<StructureTemplate.StructureBlockInfo> blocksWithNbt, List<StructureTemplate.StructureBlockInfo> blocksWithSpecialShape) calculateConnectedPosition
(StructurePlaceSettings decorator, BlockPos start, StructurePlaceSettings settings, BlockPos end) static BlockPos
calculateRelativePosition
(StructurePlaceSettings decorator, BlockPos pos) private void
fillEntityList
(Level level, BlockPos startPos, BlockPos endPos) void
fillFromWorld
(Level level, BlockPos pos, Vec3i size, boolean withEntities, Block toIgnore) filterBlocks
(BlockPos pos, StructurePlaceSettings settings, Block block) it.unimi.dsi.fastutil.objects.ObjectArrayList
<StructureTemplate.StructureBlockInfo> filterBlocks
(BlockPos pos, StructurePlaceSettings settings, Block block, boolean relativePosition) getBoundingBox
(BlockPos startPos, Rotation rotation, BlockPos pivotPos, Mirror mirror) protected static BoundingBox
getBoundingBox
(StructurePlaceSettings settings, BlockPos startPos) getSize()
getZeroPositionWithTransform
(BlockPos targetPos, Mirror mirror, Rotation rotation) static BlockPos
getZeroPositionWithTransform
(BlockPos pos, Mirror mirror, Rotation rotation, int sizeX, int sizeZ) void
load
(HolderGetter<Block> blockGetter, CompoundTag tag) private void
loadPalette
(HolderGetter<Block> blockGetter, ListTag paletteTag, ListTag blocksTag) private ListTag
newDoubleList
(double... values) private ListTag
newIntegerList
(int... values) boolean
placeInWorld
(ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, RandomSource random, int flags) processBlockInfos
(ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, List<StructureTemplate.StructureBlockInfo> blockInfos) processBlockInfos
(ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, List<StructureTemplate.StructureBlockInfo> blockInfos, StructureTemplate template) processEntityInfos
(StructureTemplate template, LevelAccessor p_215387_0_, BlockPos p_215387_1_, StructurePlaceSettings p_215387_2_, List<StructureTemplate.StructureEntityInfo> p_215387_3_) save
(CompoundTag tag) void
static BlockPos
static Vec3
static Vec3
transformedVec3d
(StructurePlaceSettings placementIn, Vec3 pos) static void
updateShapeAtEdge
(LevelAccessor level, int flags, DiscreteVoxelShape shape, int x, int y, int z) static void
updateShapeAtEdge
(LevelAccessor level, int flags, DiscreteVoxelShape shape, BlockPos pos)
-
Field Details
-
PALETTE_TAG
- See Also:
-
PALETTE_LIST_TAG
- See Also:
-
ENTITIES_TAG
- See Also:
-
BLOCKS_TAG
- See Also:
-
BLOCK_TAG_POS
- See Also:
-
BLOCK_TAG_STATE
- See Also:
-
BLOCK_TAG_NBT
- See Also:
-
ENTITY_TAG_POS
- See Also:
-
ENTITY_TAG_BLOCKPOS
- See Also:
-
ENTITY_TAG_NBT
- See Also:
-
SIZE_TAG
- See Also:
-
palettes
-
entityInfoList
-
size
-
author
-
-
Constructor Details
-
StructureTemplate
public StructureTemplate()
-
-
Method Details
-
getSize
-
setAuthor
-
getAuthor
-
fillFromWorld
-
addToLists
private static void addToLists(StructureTemplate.StructureBlockInfo blockInfo, List<StructureTemplate.StructureBlockInfo> normalBlocks, List<StructureTemplate.StructureBlockInfo> blocksWithNbt, List<StructureTemplate.StructureBlockInfo> blocksWithSpecialShape) -
buildInfoList
private static List<StructureTemplate.StructureBlockInfo> buildInfoList(List<StructureTemplate.StructureBlockInfo> normalBlocks, List<StructureTemplate.StructureBlockInfo> blocksWithNbt, List<StructureTemplate.StructureBlockInfo> blocksWithSpecialShape) -
fillEntityList
-
filterBlocks
public List<StructureTemplate.StructureBlockInfo> filterBlocks(BlockPos pos, StructurePlaceSettings settings, Block block) -
filterBlocks
public it.unimi.dsi.fastutil.objects.ObjectArrayList<StructureTemplate.StructureBlockInfo> filterBlocks(BlockPos pos, StructurePlaceSettings settings, Block block, boolean relativePosition) -
calculateConnectedPosition
public BlockPos calculateConnectedPosition(StructurePlaceSettings decorator, BlockPos start, StructurePlaceSettings settings, BlockPos end) -
calculateRelativePosition
-
transformedVec3d
-
placeInWorld
public boolean placeInWorld(ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, RandomSource random, int flags) -
updateShapeAtEdge
public static void updateShapeAtEdge(LevelAccessor level, int flags, DiscreteVoxelShape shape, BlockPos pos) -
updateShapeAtEdge
public static void updateShapeAtEdge(LevelAccessor level, int flags, DiscreteVoxelShape shape, int x, int y, int z) -
processBlockInfos
public static List<StructureTemplate.StructureBlockInfo> processBlockInfos(@Deprecated ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, List<StructureTemplate.StructureBlockInfo> blockInfos) -
processBlockInfos
public static List<StructureTemplate.StructureBlockInfo> processBlockInfos(ServerLevelAccessor serverLevel, BlockPos offset, BlockPos pos, StructurePlaceSettings settings, List<StructureTemplate.StructureBlockInfo> blockInfos, @Nullable StructureTemplate template) -
processEntityInfos
public static List<StructureTemplate.StructureEntityInfo> processEntityInfos(@Nullable StructureTemplate template, LevelAccessor p_215387_0_, BlockPos p_215387_1_, StructurePlaceSettings p_215387_2_, List<StructureTemplate.StructureEntityInfo> p_215387_3_) -
addEntitiesToWorld
private void addEntitiesToWorld(ServerLevelAccessor p_74524_, BlockPos p_74525_, StructurePlaceSettings placementIn) -
createEntityIgnoreException
private static Optional<Entity> createEntityIgnoreException(ServerLevelAccessor level, CompoundTag tag) -
getSize
-
transform
-
transform
-
getZeroPositionWithTransform
-
getZeroPositionWithTransform
-
getBoundingBox
-
getBoundingBox
public BoundingBox getBoundingBox(BlockPos startPos, Rotation rotation, BlockPos pivotPos, Mirror mirror) -
getBoundingBox
-
save
-
load
-
loadPalette
-
newIntegerList
-
newDoubleList
-