34 LLAPI
void placeInWorld(
37 Mirror mirror = Mirror::None,
38 Rotation rotation = Rotation::None,
39 bool ignoreBlocks =
false,
40 bool ignoreEntities =
false
43 LLNDAPI
static std::unique_ptr<StructureTemplate> create(std::string_view name,
CompoundTag const& tag);
45 LLNDAPI
static std::unique_ptr<StructureTemplate> create(
46 std::string_view name,
49 bool ignoreBlocks =
false,
50 bool ignoreEntities =
false
56 ::ll::TypedStorage<8, 32, ::std::string> mName;
57 ::ll::TypedStorage<8, 176, ::StructureTemplateData> mStructureTemplateData;
58 ::ll::TypedStorage<1, 1, uchar> mStructureVersion;
59 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::IUnknownBlockTypeRegistry>> mUnknownBlockRegistry;
60 ::ll::TypedStorage<1, 1, bool> mIsRemovable;
61 ::ll::TypedStorage<8, 16, ::std::map<::Block const*, int>> mBlockToIndex;
62 ::ll::TypedStorage<1, 1, bool> mNeedsOptimize;
79 virtual ::std::unique_ptr<::CompoundTag> save()
const;
92 virtual bool _allowReadActor(
::Actor const& actor)
const;
95 virtual ::BlockPos rawSize()
const ;
98 virtual ::br::worldgen::StructureTemplateBlockPalette randomPalette(
::BlockPos randomPosSeed)
const
106 ::std::string_view name,
115 MCAPI
void _clearStructureData();
117 MCAPI
void _fillBlockInfo(
126 MCAPI
int _getOrCreateIndex(
128 ::std::map<::Block const*, int>& indexMap,
132 MCAPI
void _placeEntitiesInWorld(
135 bool shouldReloadActorEquipment,
136 ::std::optional<::BoundingBox> overlapBB
139 MCAPI
void _placeNextBlockSegmentInWorld(
141 uint64 startPlacement,
152 float integrityValue,
156 bool ignoreJigsawBlocks
161 MCAPI
void fillFromWorld(
167 MCAPI ::std::vector<::JigsawStructureBlockInfo> getJigsawMarkers()
const;
169 MCAPI
bool const isWaterlogged(
::BlockPos const& pos)
const;
171 MCAPI
void optimizePalette(::std::string
const& paletteName);
173 MCAPI
void placeEntitiesInWorld(
180 MCAPI
void placeInWorld(
189 MCAPI
void placeNextSegmentInWorld(
194 MCAPI
bool setBlock(
::BlockPos const& pos,
::Block const* block,
bool waterlogged);
202 MCAPI static ::Block
const& _mapToRotation(
::Block const& curr, ::Rotation rotation);
208 MCAPI static ::BlockPos
const& INVALID_POSITION();
210 MCAPI
static int const& NO_BLOCK_INDEX_VALUE();
236 MCAPI ::std::unique_ptr<::CompoundTag> $save()
const;
245 MCAPI
bool $_allowReadActor(
::Actor const& actor)
const;
247 MCAPI ::BlockPos $rawSize()
const;
249 MCAPI ::br::worldgen::StructureTemplateBlockPalette $randomPalette(
::BlockPos randomPosSeed)
const;